Checkpoints
Enable the Cloud Scheduler API
/ 10
Create a Cloud Storage bucket
/ 10
Make bucket public
/ 10
Create another cloud storage bucket
/ 10
Deploy Cloud Run function
/ 30
Confirm the migration of bucket to Nearline.
/ 30
ביצוע אופטימיזציה לעלויות עם Google Cloud Storage
GSP649
סקירה כללית
בשיעור ה-Lab הזה תשתמשו ב-Cloud Functions וב-Cloud Scheduler כדי לזהות ולנקות את משאבי הענן שלא נוצלו. תיצרו טריגר לפונקציה ב-Cloud Functions כדי להעביר קטגוריית אחסון ממדיניות התראות של Cloud Monitoring לסוג אחסון (storage class) זול יותר.
ב-Google Cloud תקבלו כללים בנושא מחזור החיים של אובייקט אחסון שלפיהם ניתן להעביר באופן אוטומטי אובייקטים לסוגי אחסון (storage class) שונים, על סמך קבוצת מאפיינים, כגון תאריך היצירה שלהם או המצב הפעיל. עם זאת, בכללים האלה לא נלקח בחשבון אם התבצעה גישה לאובייקטים. יכול להיות שתרצו לפעמים להעביר אובייקטים עדכניים יותר ל-Nearline Storage, אם לא בוצעה אליהם גישה למשך תקופה מסוימת.
הפעולות שתבצעו:
-
יצירת 2 קטגוריות אחסון, הוספת קובץ ל-
serving-bucket
ויצירת תעבורת נתונים כנגדו. -
יצירת לוח בקרה של Cloud Monitoring להצגה חזותית של השימוש בקטגוריה.
-
פריסת פונקציה ב-Cloud Functions לצורך העברת הקטגוריה הלא פעילה לסוג אחסון (storage class) זול יותר, ויצירת טריגר לפונקציה באמצעות מטען ייעודי (payload), שמטרתו לדמות התראה שמתקבלת ממדיניות התראות בענן.
ארכיטקטורה
בתרשים הבא, תיצרו טריגר לפונקציה ב-Cloud Functions כדי להעביר קטגוריית אחסון ממדיניות התראות של Cloud Monitoring לסוג אחסון (storage class) זול יותר.
הגדרה ודרישות
בסעיף הזה, תגדירו את התשתית ואת הזהויות הנדרשות להשלמת שיעור ה-Lab.
לפני שלוחצים על הלחצן Start Lab (התחלת המעבדה)
עליכם לקרוא את ההוראות האלו. המעבדות מוגבלות בזמן ואי אפשר להשהות אותן. הטיימר מתחיל כשלוחצים על Start Lab ומראה את משך הזמן שבו תוכלו להשתמש במשאבים ב-Google Cloud.
במעבדה המעשית הזו של Qwiklabs, תוכלו לבצע את פעילויות המעבדה בעצמכם בסביבת ענן אמיתית, ולא בהדמיה או בסביבה להדגמה. לשם כך, יינתנו לכם פרטי כניסה זמניים שאיתם תיכנסו ותיגשו אל Google Cloud במשך הפעילות של המעבדה.
מה צריך?
כדי להשלים את המעבדה, תצטרכו:
- גישה לדפדפן אינטרנט סטנדרטי (מומלץ להשתמש בדפדפן Chrome).
- זמן להשלמת המעבדה.
הערה: אם כבר יש לכם פרויקט או חשבון Google Cloud אישי משלכם, אין להשתמש בו במעבדה הזו.
הערה: אם משתמשים במכשיר עם Chrome OS, צריך לפתוח חלון אנונימי כדי להריץ את המעבדה הזו.
איך מתחילים שיעור מעשי ונכנסים אל Google Cloud Console
-
לוחצים על הלחצן Start Lab (התחלת השיעור המעשי). אם זה שיעור בתשלום, יקפוץ חלון שבו בוחרים אמצעי תשלום. מימין יש חלונית עם פרטי כניסה זמניים שמולאו מראש. צריך להשתמש בפרטים האלו בשיעור המעשי הזה.
-
מעתיקים את שם המשתמש ואז לוחצים על Open Google Console (פתיחת Google Console). יופעלו משאבים במעבדה, ואז ייפתח הדף Sign in (כניסה) בכרטיסייה נפרדת.
טיפ: כדאי לפתוח את הכרטיסיות בחלונות נפרדים, אחד לצד השני.
-
בדף Sign in (כניסה), מדביקים את שם המשתמש שהעתקתם מהחלונית Connection Details (פרטי התחברות). אחר כך מעתיקים ומדביקים את הסיסמה.
חשוב: צריך להשתמש בפרטי הכניסה מהחלונית Connection Details. אין להשתמש בפרטי הכניסה של Qwiklabs. אם יש לכם חשבון Google Cloud משלכם, אל תשתמשו בו בשיעור המעשי הזה (כך תימנעו מחיוב בתשלום).
-
לוחצים כדי לעבור את הדפים הבאים:
- הסכמה לתנאים ולהגבלות.
- אין להוסיף אפשרויות שחזור או אימות דו-שלבי (כי החשבון הזה זמני).
- אין להירשם לתקופות ניסיון בחינם.
לאחר כמה דקות, Cloud Console ייפתח בכרטיסייה הזו.
הפעלת Cloud Shell
סביבת Cloud Shell היא מכונה וירטואלית שמותקנים בה כלים למפתחים. יש בה ספריית בית בנפח עקבי של 5GB והיא פועלת ב-Google Cloud. ב-Cloud Shell יש גישה לשורת הפקודה למשאבים שלכם ב-Google Cloud.
ב-Cloud Console, בסרגל הכלים שבפינה הימנית העליונה, לוחצים על הלחצן Activate Cloud Shell (הפעלת Cloud Shell).
לוחצים על Continue (המשך).
יחלפו כמה רגעים עד שההקצאה והחיבור לסביבת העבודה יושלמו. עם החיבור יתבצע גם אימות, ואז הפרויקט יוגדר לפי PROJECT_ID. לדוגמה:
gcloud
הוא כלי שורת הפקודה של Google Cloud. הוא מותקן מראש ב-Cloud Shell ותומך בהשלמת פקודות.
תוכלו לרשום את שם החשבון הפעיל באמצעות הפקודה הבאה:
gcloud auth list
(פלט)
Credentialed accounts:
- <myaccount>@<mydomain>.com (active)
(פלט לדוגמה)
Credentialed accounts:
- google1623327_student@qwiklabs.net
תוכלו לרשום את מזהה הפרויקט באמצעות הפקודה הבאה:
gcloud config list project
(פלט)
[core]
project = <project_ID>
(פלט לדוגמה)
[core]
project = qwiklabs-gcp-44776a13dea667a6
הפעלת ממשקי API ומאגר שכפולים
-
ב-Cloud Shell, מפעילים את Cloud Scheduler API:
gcloud services enable cloudscheduler.googleapis.com
כדי לוודא שהמטרה הושגה, לוחצים על Check my progress.
-
משכפלים את המאגר:
git clone https://github.com/GoogleCloudPlatform/gcf-automated-resource-cleanup.git && cd gcf-automated-resource-cleanup/
-
מגדירים משתני סביבה והופכים את תיקיית המאגר ל-$WORKDIR, שם תריצו את כל הפקודות הקשורות לשיעור ה-Lab הזה:
export PROJECT_ID=$(gcloud config list --format 'value(core.project)' 2>/dev/null) WORKDIR=$(pwd)
-
מתקינים את Apache Bench, כלי בקוד פתוח ליצירת טעינה:
sudo apt-get install apache2-utils -y
יצירת קטגוריות של Cloud Storage והוספת קובץ
-
ב-Cloud Shell, נכנסים לספריית
migrate-storage
cd $WORKDIR/migrate-storage
-
יוצרים את
serving-bucket
, הקטגוריה של Cloud Storage. תשתמשו בה בהמשך כדי לשנות את סוגי האחסון (storage classes):export PROJECT_ID=$(gcloud config list --format 'value(core.project)' 2>/dev/null) gsutil mb -c regional -l us-central1 gs://${PROJECT_ID}-serving-bucket
כדי לוודא שהמטרה הושגה, לוחצים על Check my progress.
-
הופכים את הקטגוריה לקטגוריה גלויה לכול:
gsutil acl ch -u allUsers:R gs://${PROJECT_ID}-serving-bucket
-
מוסיפים קובץ טקסט לקטגוריה:
gsutil cp $WORKDIR/migrate-storage/testfile.txt gs://${PROJECT_ID}-serving-bucket
-
הופכים את הקובץ לגלוי לכול:
gsutil acl ch -u allUsers:R gs://${PROJECT_ID}-serving-bucket/testfile.txt
-
מאשרים שיש לכם גישה לקובץ:
curl http://storage.googleapis.com/${PROJECT_ID}-serving-bucket/testfile.txt
הפלט שלכם ייראה כך:
this is a test
כדי לוודא שהמטרה הושגה, לוחצים על Check my progress.
-
יוצרים קטגוריה שנייה שנקראת idle-bucket שלא ממלאת בקשות לנתונים:
gsutil mb -c regional -l us-central1 gs://${PROJECT_ID}-idle-bucket
כדי לוודא שהמטרה הושגה, לוחצים על Check my progress.
יצירת לוח בקרה של Monitoring
יצירת סביבת עבודה של Monitoring
עכשיו נגדיר סביבת עבודה של Monitoring שתשתייך לפרויקט ב-Google Cloud. באמצעות השלבים הבאים יווצר חשבון חדש עם תקופת ניסיון בחינם לצורך מעקב.
-
ב-Cloud Console, לוחצים על תפריט הניווט > Monitoring.
-
ממתינים להשלמת ההקצאה של סביבת העבודה.
כשייפתח לוח הבקרה של Monitoring, סימן שסביבת העבודה מוכנה.
-
בחלונית השמאלית, לוחצים על Dashboards > ועל +Create Dashboard.
-
נותנים ללוח הבקרה את השם
Bucket Usage
. -
לוחצים על Line Chart.
-
בשדה Chart Title מזינים
Bucket Access
. -
בשדה Resource Type, מזינים gcs_bucket למשאב ובוחרים את המדד Request count.
-
לוחצים על +Add Filter.
-
כדי לסנן על פי שם השיטה:
-
עבור תווית, בוחרים בmethod.
-
עבור השוואה, בוחרים ב=(סימן שוויון).
-
עבור ערך, בוחרים בReadObject.
-
לוחצים על Done.
- כדי לקבץ את המדדים לפי שם הקטגוריה, ברשימה הנפתחת בשם Group By, לוחצים על bucket_name.
יצרתם הגדרה ב-Cloud Monitoring שיוצרת ניראות לגישה לאובייקטים בקטגוריות שלכם. לא מופיעים נתונים בתרשים כי אין תעבורת נתונים לקטגוריות של Cloud Storage.
יצירת טעינה בקטגוריית מילוי הבקשות
לאחר שהגדרתם את Monitoring, תוכלו להשתמש ב-Apache Bench כדי לשלוח תעבורת נתונים ל-serving-bucket
.
-
ב-Cloud Shell, שולחים בקשות לאובייקט שבקטגוריית מילוי הבקשות:
ab -n 10000 http://storage.googleapis.com/$PROJECT_ID-serving-bucket/testfile.txt
- בחלונית השמאלית, לוחצים על Dashboards ואז לוחצים על שם לוח הבקרה, Bucket usage, כדי להציג את התרשים Bucket Access.
- מעיינים בפרטי תעבורת הנתונים.
בדיקה ופריסה של הפונקציה ב-Cloud Functions
-
ב-Cloud Shell, מזינים את הפקודה הבאה כדי להציג את הקוד של הפונקציה ב-Cloud Functions שמעביר קטגוריית אחסון לסוג אחסון (storage class) בשם Nearline:
cat $WORKDIR/migrate-storage/main.py | grep "migrate_storage(" -A 15
הפלט המתקבל הוא:
def migrate_storage(request): # process incoming request to get the bucket to be migrated: request_json = request.get_json(force=True) # bucket names are globally unique bucket_name = request_json['incident']['resource_name'] # create storage client storage_client = storage.Client() # get bucket bucket = storage_client.get_bucket(bucket_name) # update storage class bucket.storage_class = "NEARLINE" bucket.patch() שימו לב שהפונקציה ב-Cloud Functions משתמשת בשם הקטגוריה שצוין בבקשה לשינוי סוג האחסון (storage class) שלה ל-Nearline.
-
פורסים את הפונקציה ב-Cloud Functions:
gcloud functions deploy migrate_storage --trigger-http --runtime=python37
כשתופיע בקשה, מזינים
Y
כדי לאפשר הפעלות לא מאומתות. -
משבצים את כתובת ה-URL המשמשת כטריגר במשתנה סביבה שבו תשתמשו בקטע הבא:
export FUNCTION_URL=$(gcloud functions describe migrate_storage --format=json | jq -r '.httpsTrigger.url')
כדי לוודא שהמטרה הושגה, לוחצים על Check my progress.
בדיקה ואימות של אוטומציית התראות
-
מגדירים את שם הקטגוריה הלא פעילה:
export IDLE_BUCKET_NAME=$PROJECT_ID-idle-bucket
-
שולחים התראת בדיקה לפונקציה ב-Cloud Functions שפרסתם באמצעות הקובץ
incident.json
:envsubst < $WORKDIR/migrate-storage/incident.json | curl -X POST -H "Content-Type: application/json" $FUNCTION_URL -d @-
הפלט המתקבל הוא:
OK
הפלט לא מסתיים בשורה חדשה ולכן שורת הפקודה תופיע מיד אחריו.
-
מאשרים שהקטגוריה הלא פעילה הועברה ל-Nearline:
gsutil defstorageclass get gs://$PROJECT_ID-idle-bucket
הפלט המתקבל הוא:
gs://<project-id>-idle-bucket: NEARLINE
כדי לוודא שהמטרה הושגה, לוחצים על Check my progress.
כל הכבוד!
השלמתם את המשימות הבאות:
- יצירת 2 קטגוריות של Cloud Storage.
- הוספת אובייקט לאחת הקטגוריות.
- הגדרת ניראות לצורך גישה לאובייקט בקטגוריה ב-Cloud Monitoring.
- בדיקת הקוד של הפונקציה ב-Cloud Functions שמעביר אובייקטים מקטגוריה אזורית לקטגוריה ב-Nearline.
- פריסת הפונקציה ב-Cloud Functions.
- בדיקת הפונקציה ב-Cloud Functions באמצעות התראה של Cloud Monitoring.
סיום יחידת הלימוד
שיעור ה-Lab ללימוד עצמי הזה הוא חלק מיחידת הלימוד ביצוע אופטימיזציה לעלויות Google Cloud ב-Qwiklabs. יחידת לימוד היא סדרה של שיעורי Lab קשורים שיוצרים מסלול לימוד. השלמת יחידת הלימוד הזו מזכה אתכם בתג שמופיע למעלה, לציון ההישג שלכם. אתם יכולים להציג את התג או התגים באופן גלוי לכול ולקשר אותם לקורות החיים שלכם באינטרנט או לחשבון במדיה חברתית. רוצים לקבל קרדיט מיידי על השלמת שיעור ה-Lab הזה? הירשמו ליחידת הלימוד הזו.
לצפייה ביחידות לימוד נוספות של Qwiklabs.
מעבר לשיעור ה-Lab הבא
אתם יכולים להמשיך ביחידת הלימוד בשיעור ה-Lab מסלולי רשת – אופטימיזציה של הוצאות ברשת או להתנסות בשיעורים הבאים:
הדרכה והסמכה של Google Cloud
יעזרו לכם להפיק את המרב מהאמצעים הטכנולוגיים של Google Cloud. השיעורים שלנו מכילים מיומנויות טכניות ושיטות מומלצות כדי שתוכלו להתחיל לעבוד מהר ולהמשיך ללמוד ולהתפתח. נציג את העקרונות הבסיסיים להכשרה ברמה מתקדמת, עם אפשרויות וירטואליות, שידורים חיים או על פי דרישה, בהתאם ללוח הזמנים העמוס שלכם. בעזרת ההסמכות תוכלו לאשר ולאמת את המיומנות והמומחיות שלכם באמצעים הטכנולוגיים של Google Cloud.
עדכון אחרון של המדריך: 17 במרץ 2021.
בדיקה אחרונה של שיעור ה-Lab: 17 במרץ 2021.
זכויות יוצרים 2024 Google LLC. כל הזכויות שמורות. Google והלוגו של Google הם סימנים מסחריים רשומים של Google LLC. שמות של חברות ומוצרים אחרים עשויים להיות סימנים מסחריים של החברות, בהתאמה, שאליהן הם משויכים.