הגדרת המלצות ל-VM במצב המתנה

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

לפני שמתחילים

  • אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות. אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Cloud de Confiance by S3NS . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:

    צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:

    gcloud

    1. מתקינים את ה-CLI של Google Cloud ואז נכנסים ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:

      gcloud init
  • הגדרת אזור ותחום כברירת מחדל
  • REST

    כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.

      מתקינים את ה-CLI של Google Cloud ואז נכנסים ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.

    מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Cloud de Confiance .

תמחור

ההמלצות שניתנות להגדרה זמינות ללא תשלום. יישום ההמלצות לצמצום השימוש במשאבים יכול להוביל לחיסכון בעלויות.

הגדרת ההמלצות

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

  1. מקבלים את ההגדרה הנוכחית כדי לקבל את קובץ ה-JSON של ההגדרה.
  2. עורכים את קובץ ההגדרות בפורמט JSON.
  3. מעלים את קובץ ההגדרות החדש כדי להחיל את השינויים.

אחזור ההגדרה הנוכחית

אתם יכולים לקבל את ההגדרה הנוכחית של ההמלצות למכונות וירטואליות במצב ожидания בפרויקט שלכם באמצעות Google Cloud CLI או REST.

gcloud

כדי לקבל את פרמטרי ההגדרה הנוכחיים, משתמשים בפקודה gcloud recommender recommender-config describe ומזינים את google.compute.instance.IdleResourceRecommender כמזהה של Recommender:

gcloud recommender recommender-config describe google.compute.instance.IdleResourceRecommender \
  --project=PROJECT_ID \
  --location=ZONE

מחליפים את מה שכתוב בשדות הבאים:

  • ‫PROJECT_ID: מזהה הפרויקט
  • ‫ZONE: האזור שרוצים לקבל את ההגדרות הנוכחיות שלו

לדוגמה:

gcloud recommender recommender-config describe google.compute.instance.IdleResourceRecommender \
  --project=my-project \
  --location=us-central1-c

הפקודה מחזירה את ההגדרה של הכלי להמלצות, כולל שדה המשנה params.observation_period שאפשר לשנות.

{
  "name": "projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config",
  "recommenderGenerationConfig": {
    "params": {
      "observation_period": "1209600s"
    }
  },
  "etag": "\"2f3c9b65cda6a4ba\"",
  "updateTime": "2021-02-03T04:41:15.330351Z"
}

REST

כדי לאחזר את ההגדרה הנוכחית, משתמשים בשיטה recommenders.getConfig ומציינים את google.compute.instance.IdleResourceRecommender כמזהה של שירות ההמלצות:

GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config

מחליפים את מה שכתוב בשדות הבאים:

  • ‫PROJECT_ID: מזהה הפרויקט שרוצים לאחזר את הגדרות שירות ההמלצות.
  • ‫ZONE: האזור שמכיל את הפרויקט.

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

PROJECT_ID=PROJECT_ID
ZONE=ZONE
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: ${PROJECT_ID}" \
https://recommender.googleapis.com/v1/projects/$PROJECT_ID/locations/$ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config

הפקודה מחזירה את ההגדרות של הכלי להמלצות, כולל שדה המשנה שאפשר לשנות: params.observation_period.

{
  "name": "projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config",
  "recommenderGenerationConfig": {
    "params": {
      "observation_period": "1209600s"
    }
  },
  "etag": "\"2f3c9b65cda6a4ba\"",
  "updateTime": "2021-02-03T04:41:15.330351Z"
}

עדכון ההגדרות של פרויקט

כדי לעדכן את ההגדרות של ההמלצות למכונות וירטואליות לא פעילות, משנים את הערך של observation_period ומעלים את ההגדרות החדשות לפרויקט.

אפשר להגדיר את תקופת התצפית לערך בין יום אחד ל-14 ימים, באמצעות מחרוזת עם המספר הכולל של השניות, ואחריה האות s.

  • כדי להגדיר תקופת תצפית של יום אחד, משתמשים בערך "86400s".
  • כדי להגדיר תקופת תצפית של 14 ימים, משתמשים בערך "1209600s".

אחרי שמעלים את ההגדרה החדשה, עוברות בערך 48 שעות עד שהיא נכנסת לתוקף. עד אז, כל ההמלצות שיווצרו יתבססו על ההגדרות הקודמות.

gcloud

כדי לעדכן את פרמטרי ההגדרה, משתמשים בפקודה gcloud recommender recommender-config update ומזינים google.compute.instance.IdleResourceRecommender כמזהה המערכת להמלצות:

gcloud recommender recommender-config update google.compute.instance.IdleResourceRecommender\
  --project=PROJECT_ID \
  --location=ZONE \
  --config-file=CONFIG_FILE_PATH \
  --etag=ETAG

מחליפים את מה שכתוב בשדות הבאים:

  • ‫PROJECT_ID: מזהה הפרויקט
  • ‫ZONE: האזור שרוצים לקבל את ההגדרות הנוכחיות שלו
  • ‫CONFIG_FILE_PATH: הנתיב לקובץ ה-JSON עם ההגדרה הנוכחית
  • ‫ETAG: ערך ה-etag של ההגדרה הנוכחית

בקובץ ההגדרות, מציינים רק את האובייקט recommenderGenerationConfig עם פרמטרים ההגדרות המעודכנים. לדוגמה, כדי לציין תקופת מעקב של חמישה ימים, משתמשים בקובץ התצורה הבא:

{
  "params": {
    "observation_period": "432000s"
  }
}

אם הפקודה מצליחה, היא מחזירה גוף תגובה שדומה לזה שמוצג בהמשך, עם ההגדרה החדשה והפרמטרים ששיניתם.

‫
{
  "name": "projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config",
  "recommenderGenerationConfig": {
    "params": {
      "observation_period": "432000s"
    }
  },
  "etag": "\"1245f9435cd01ea8\"",
  "updateTime": "2021-02-03T05:00:05Z"
}

REST

כדי לעדכן את ההגדרה, משתמשים בשיטה recommenders.updateConfig ומציינים את google.compute.instance.IdleResourceRecommender כמזהה של שירות המלצות:

PATCH https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config

{
  "name": "projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config",
  "recommenderGenerationConfig": {
    "params": {
      "observation_period": "1209600s"
    }
  },
  "etag": "\"2f3c9b65cda6a4ba\""
}

מחליפים את מה שכתוב בשדות הבאים:

  • ‫PROJECT_ID: מזהה הפרויקט שרוצים לשנות את ההגדרות של הכלי להמלצות.
  • ‫ZONE: האזור שמכיל את הפרויקט.

שומרים את גוף הבקשה בקובץ, למשל config.json. אחר כך תוכלו להפנות לקובץ כשמעדכנים את הגדרות הכלי להמלצות בפרויקט, באמצעות פקודה שדומה לפקודה הבאה:

curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-H "x-goog-user-project: ${PROJECT_ID}" \
-d @config.json \
https://recommender.googleapis.com/v1/projects/$PROJECT_ID/locations/$ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config

הפקודה POST מחזירה גוף תגובה שדומה לזה שמוצג בהמשך, עם ההגדרה החדשה והפרמטרים ששיניתם.

‫
{
  "name": "projects/PROJECT_ID/locations/ZONE/recommenders/google.compute.instance.IdleResourceRecommender/config",
  "recommenderGenerationConfig": {
    "params": {
      "observation_period": "432000s"
    }
  },
  "etag": "\"1245f9435cd01ea8\"",
  "updateTime": "2021-02-03T05:00:05Z"
}

המאמרים הבאים