arrow_back

ביצוע אופטימיזציה לעלויות עם Google Cloud Storage

Sign in Join
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

ביצוע אופטימיזציה לעלויות עם Google Cloud Storage

Lab 1 hour universal_currency_alt 5 Credits show_chart Intermediate
info This lab may incorporate AI tools to support your learning.
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP649

Google Cloud מעבדות ללימוד עצמי של

סקירה כללית

בשיעור ה-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) זול יותר.

StorageClasses

הגדרה ודרישות

בסעיף הזה, תגדירו את התשתית ואת הזהויות הנדרשות להשלמת שיעור ה-Lab.

לפני שלוחצים על הלחצן Start Lab (התחלת המעבדה)

עליכם לקרוא את ההוראות האלו. המעבדות מוגבלות בזמן ואי אפשר להשהות אותן. הטיימר מתחיל כשלוחצים על Start Lab ומראה את משך הזמן שבו תוכלו להשתמש במשאבים ב-Google Cloud.

במעבדה המעשית הזו של Qwiklabs, תוכלו לבצע את פעילויות המעבדה בעצמכם בסביבת ענן אמיתית, ולא בהדמיה או בסביבה להדגמה. לשם כך, יינתנו לכם פרטי כניסה זמניים שאיתם תיכנסו ותיגשו אל Google Cloud במשך הפעילות של המעבדה.

מה צריך?

כדי להשלים את המעבדה, תצטרכו:

  • גישה לדפדפן אינטרנט סטנדרטי (מומלץ להשתמש בדפדפן Chrome).
  • זמן להשלמת המעבדה.

הערה: אם כבר יש לכם פרויקט או חשבון Google Cloud אישי משלכם, אין להשתמש בו במעבדה הזו.

הערה: אם משתמשים במכשיר עם Chrome OS, צריך לפתוח חלון אנונימי כדי להריץ את המעבדה הזו.

איך מתחילים שיעור מעשי ונכנסים אל Google Cloud Console

  1. לוחצים על הלחצן Start Lab (התחלת השיעור המעשי). אם זה שיעור בתשלום, יקפוץ חלון שבו בוחרים אמצעי תשלום. מימין יש חלונית עם פרטי כניסה זמניים שמולאו מראש. צריך להשתמש בפרטים האלו בשיעור המעשי הזה.

    פתיחת Google Console

  2. מעתיקים את שם המשתמש ואז לוחצים על Open Google Console (פתיחת Google Console). יופעלו משאבים במעבדה, ואז ייפתח הדף Sign in (כניסה) בכרטיסייה נפרדת.

    כניסה

    טיפ: כדאי לפתוח את הכרטיסיות בחלונות נפרדים, אחד לצד השני.

  3. בדף Sign in (כניסה), מדביקים את שם המשתמש שהעתקתם מהחלונית Connection Details (פרטי התחברות). אחר כך מעתיקים ומדביקים את הסיסמה.

    חשוב: צריך להשתמש בפרטי הכניסה מהחלונית Connection Details. אין להשתמש בפרטי הכניסה של Qwiklabs. אם יש לכם חשבון Google Cloud משלכם, אל תשתמשו בו בשיעור המעשי הזה (כך תימנעו מחיוב בתשלום).

  4. לוחצים כדי לעבור את הדפים הבאים:

    • הסכמה לתנאים ולהגבלות.
    • אין להוסיף אפשרויות שחזור או אימות דו-שלבי (כי החשבון הזה זמני).
    • אין להירשם לתקופות ניסיון בחינם.

לאחר כמה דקות, Cloud Console ייפתח בכרטיסייה הזו.

הפעלת Cloud Shell

סביבת Cloud Shell היא מכונה וירטואלית שמותקנים בה כלים למפתחים. יש בה ספריית בית בנפח עקבי של 5GB והיא פועלת ב-Google Cloud. ב-Cloud Shell יש גישה לשורת הפקודה למשאבים שלכם ב-Google Cloud.

ב-Cloud Console, בסרגל הכלים שבפינה הימנית העליונה, לוחצים על הלחצן Activate Cloud Shell (הפעלת Cloud Shell).

הסמל של Cloud Shell

לוחצים על Continue (המשך).

cloudshell_continue.png

יחלפו כמה רגעים עד שההקצאה והחיבור לסביבת העבודה יושלמו. עם החיבור יתבצע גם אימות, ואז הפרויקט יוגדר לפי PROJECT_ID. לדוגמה:

טרמינל Cloud Shell

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 ומאגר שכפולים

  1. ב-Cloud Shell, מפעילים את Cloud Scheduler API:

    gcloud services enable cloudscheduler.googleapis.com
    

    כדי לוודא שהמטרה הושגה, לוחצים על Check my progress.

הפעלה של Cloud Scheduler API
  1. משכפלים את המאגר:

    git clone https://github.com/GoogleCloudPlatform/gcf-automated-resource-cleanup.git && cd gcf-automated-resource-cleanup/
    
  2. מגדירים משתני סביבה והופכים את תיקיית המאגר ל-$WORKDIR, שם תריצו את כל הפקודות הקשורות לשיעור ה-Lab הזה:

    export PROJECT_ID=$(gcloud config list --format 'value(core.project)' 2>/dev/null)
    WORKDIR=$(pwd)
    
  3. מתקינים את Apache Bench, כלי בקוד פתוח ליצירת טעינה:

    sudo apt-get install apache2-utils -y
    

יצירת קטגוריות של Cloud Storage והוספת קובץ

  1. ב-Cloud Shell, נכנסים לספריית migrate-storage

    cd $WORKDIR/migrate-storage
    
  2. יוצרים את 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.

יצירת קטגוריה של Cloud Storage
  1. הופכים את הקטגוריה לקטגוריה גלויה לכול:

    gsutil acl ch -u allUsers:R gs://${PROJECT_ID}-serving-bucket
    
  2. מוסיפים קובץ טקסט לקטגוריה:

    gsutil cp $WORKDIR/migrate-storage/testfile.txt  gs://${PROJECT_ID}-serving-bucket
    
  3. הופכים את הקובץ לגלוי לכול:

    gsutil acl ch -u allUsers:R gs://${PROJECT_ID}-serving-bucket/testfile.txt
    
  4. מאשרים שיש לכם גישה לקובץ:

    curl http://storage.googleapis.com/${PROJECT_ID}-serving-bucket/testfile.txt
    

    הפלט שלכם ייראה כך:

    this is a test
    

כדי לוודא שהמטרה הושגה, לוחצים על Check my progress.

הפיכת הקטגוריה של Cloud Storage לגלויה לכול
  1. יוצרים קטגוריה שנייה שנקראת idle-bucket שלא ממלאת בקשות לנתונים:

    gsutil mb -c regional -l us-central1 gs://${PROJECT_ID}-idle-bucket
    

    כדי לוודא שהמטרה הושגה, לוחצים על Check my progress.

יצירת קטגוריה נוספת של Cloud Storage

יצירת לוח בקרה של Monitoring

יצירת סביבת עבודה של Monitoring

עכשיו נגדיר סביבת עבודה של Monitoring שתשתייך לפרויקט ב-Google Cloud. באמצעות השלבים הבאים יווצר חשבון חדש עם תקופת ניסיון בחינם לצורך מעקב.

  1. ב-Cloud Console, לוחצים על תפריט הניווט > Monitoring.

  2. ממתינים להשלמת ההקצאה של סביבת העבודה.

כשייפתח לוח הבקרה של Monitoring, סימן שסביבת העבודה מוכנה.

Overview.png

  1. בחלונית השמאלית, לוחצים על Dashboards > ועל +Create Dashboard.

  2. נותנים ללוח הבקרה את השם Bucket Usage.

  3. לוחצים על Line Chart.

  4. בשדה Chart Title מזינים Bucket Access.

  5. בשדה Resource Type, מזינים gcs_bucket למשאב ובוחרים את המדד Request count.

אם לא מוצאים את המדד Request count, מבטלים את הסימון בתיבה Only show active.

gcsbucket.png

  1. לוחצים על +Add Filter.

  2. כדי לסנן על פי שם השיטה:

  • עבור תווית, בוחרים בmethod.

  • עבור השוואה, בוחרים ב=(סימן שוויון).

  • עבור ערך, בוחרים בReadObject.

  • לוחצים על Done.

  1. כדי לקבץ את המדדים לפי שם הקטגוריה, ברשימה הנפתחת בשם Group By, לוחצים על bucket_name.

יצרתם הגדרה ב-Cloud Monitoring שיוצרת ניראות לגישה לאובייקטים בקטגוריות שלכם. לא מופיעים נתונים בתרשים כי אין תעבורת נתונים לקטגוריות של Cloud Storage.

יצירת טעינה בקטגוריית מילוי הבקשות

לאחר שהגדרתם את Monitoring, תוכלו להשתמש ב-Apache Bench כדי לשלוח תעבורת נתונים ל-serving-bucket.

  1. ב-Cloud Shell, שולחים בקשות לאובייקט שבקטגוריית מילוי הבקשות:

ab -n 10000 http://storage.googleapis.com/$PROJECT_ID-serving-bucket/testfile.txt
  1. בחלונית השמאלית, לוחצים על Dashboards ואז לוחצים על שם לוח הבקרה, Bucket usage, כדי להציג את התרשים Bucket Access.
אם סגרתם את הכרטיסייה הזו קודם, לוחצים על Navigation Menu‏ > Monitoring, ואז לוחצים בחלונית השמאלית על Dashboards‏ > Bucket Usage. הערה: עליכם להמתין לפחות דקה עד שהתרשים יופיע בלוח הבקרה Bucket Usage.
  1. מעיינים בפרטי תעבורת הנתונים.

traffic.png

בדיקה ופריסה של הפונקציה ב-Cloud Functions

  1. ב-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.

  2. פורסים את הפונקציה ב-Cloud Functions:

    gcloud functions deploy migrate_storage --trigger-http --runtime=python37
    

    כשתופיע בקשה, מזינים Y כדי לאפשר הפעלות לא מאומתות.

  3. משבצים את כתובת ה-URL המשמשת כטריגר במשתנה סביבה שבו תשתמשו בקטע הבא:

    export FUNCTION_URL=$(gcloud functions describe migrate_storage --format=json | jq -r '.httpsTrigger.url')
    

    כדי לוודא שהמטרה הושגה, לוחצים על Check my progress.

פריסת פונקציה ב-Cloud Functions

בדיקה ואימות של אוטומציית התראות

  1. מגדירים את שם הקטגוריה הלא פעילה:

    export IDLE_BUCKET_NAME=$PROJECT_ID-idle-bucket
    
  2. שולחים התראת בדיקה לפונקציה ב-Cloud Functions שפרסתם באמצעות הקובץ incident.json:

    envsubst < $WORKDIR/migrate-storage/incident.json | curl -X POST -H "Content-Type: application/json" $FUNCTION_URL -d @-
    

    הפלט המתקבל הוא:

    OK
    

    הפלט לא מסתיים בשורה חדשה ולכן שורת הפקודה תופיע מיד אחריו.

  3. מאשרים שהקטגוריה הלא פעילה הועברה ל-Nearline:

    gsutil defstorageclass get gs://$PROJECT_ID-idle-bucket
    

    הפלט המתקבל הוא:

    gs://<project-id>-idle-bucket: NEARLINE
    

    כדי לוודא שהמטרה הושגה, לוחצים על Check my progress.

אישור העברת הקטגוריה ל-Nearline

כל הכבוד!

השלמתם את המשימות הבאות:

  • יצירת 2 קטגוריות של Cloud Storage.
  • הוספת אובייקט לאחת הקטגוריות.
  • הגדרת ניראות לצורך גישה לאובייקט בקטגוריה ב-Cloud Monitoring.
  • בדיקת הקוד של הפונקציה ב-Cloud Functions שמעביר אובייקטים מקטגוריה אזורית לקטגוריה ב-Nearline.
  • פריסת הפונקציה ב-Cloud Functions.
  • בדיקת הפונקציה ב-Cloud Functions באמצעות התראה של Cloud Monitoring.

IC_OptimizingYourGCPCosts_V2_resized.png

סיום יחידת הלימוד

שיעור ה-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. שמות של חברות ומוצרים אחרים עשויים להיות סימנים מסחריים של החברות, בהתאמה, שאליהן הם משויכים.

This content is not currently available

We will notify you via email when it becomes available

Great!

We will contact you via email if it becomes available