צפייה בהמלצות לגבי משאבים לא פעילים ויישום שלהן

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

‫Compute Engine עוזר לכם לזהות נפחים של Persistent Disk, כתובות IP ותמונות דיסק בהתאמה אישית שלא נמצאים בשימוש, ומספק המלצות שיעזרו לכם לצמצם את הבזבוז ולהימנע מחיובים מיותרים.

אם אתם רוצים לראות המלצות לגבי מכונות וירטואליות (VM) לא פעילות, אתם יכולים לעיין במאמר הצגה ויישום של המלצות לגבי מכונות וירטואליות לא פעילות.

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

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

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

    המסוף

    כשמשתמשים במסוף Google Cloud כדי לגשת לשירותים Google Cloud ולממשקי ה-API, לא צריך להגדיר אימות.

    gcloud

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

      gcloud init

      אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

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

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

      התקינו את ה-CLI של Google Cloud.

      אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

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

תמחור

אין עלויות שקשורות לשימוש בהמלצות לגבי משאבים לא פעילים.

יצירת המלצות

אם משאב לא חובר למכונה וירטואלית או למשאב אחר במשך 15 ימים, שירות המלצות מסווג את המשאב הזה כבלי פעילות. בטבלה הבאה מפורטים התנאים לסיווג משאב כלא פעיל והפעולות המומלצות:

משאב תנאי לסיווג משאב כלא פעיל הפעולה המומלצת חיסכון
Persistent Disk כל התנאים הבאים צריכים להתקיים:
  • הדיסק של אחסון מתמיד נוצר לפני 15 ימים לפחות.
  • דיסק האחסון המתמיד (persistent disk) אף פעם לא צורף ל-VM.
  • הדיסק ריק.
  • הדיסק המתמיד לא מקושר ל-Pods של GKE.
מחיקה לחסוך 100% מהעלות של הדיסק הזה. מידע נוסף זמין במאמר בנושא תמחור של דיסקים ותמונות.
Persistent Disk כל התנאים הבאים צריכים להתקיים:
  • הדיסק הקשיח הניתן להתמדה (Persistent Disk) היה מנותק במשך 15 ימים לפחות.
  • הדיסק המתמיד לא מקושר ל-Pods של GKE.
יוצרים קובץ snapshot של דיסק האחסון המתמיד (persistent disk) ואז מוחקים אותו.
הפחתת עלות התחזוקה של הדיסק מ-35% ל-92%. מידע נוסף זמין במאמר בנושא תמחור של דיסקים ותמונות.
תמונה מותאמת אישית כל התנאים הבאים צריכים להתקיים:
  • לא נעשה שימוש בתמונה כדי ליצור דיסק במשך 15 ימים לפחות.
  • התמונה לא נמצאת בשימוש באף תבנית של הגדרות מכונה.
מחיקה לחסוך 100% מעלות התמונה. מידע נוסף זמין במאמר בנושא תמחור של דיסקים ותמונות.
כתובת IP חיצונית כתובת ה-IP לא צורפה לאף משאב במשך 15 ימים לפחות. מחיקה
לחסוך 100% מהעלות של כתובת ה-IP הזו. מידע נוסף זמין במאמר בנושא תמחור של כתובות IP חיצוניות.

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

ההמלצות לגבי משאבים לא פעילים מתחילות 15 ימים אחרי יצירת המשאב, והן מתעדכנות פעם ב-24 שעות.

איך רואים את ההמלצות?

כדי לראות המלצות לגבי משאבים לא פעילים, משתמשים ב-CLI של gcloud או ב-REST.

המסוף

נכנסים לדף All recommendations במסוף Google Cloud .

לעיון בהמלצות

כל המשאבים הלא פעילים מופיעים בקטע משאבי Compute Engine שלא נעשה בהם שימוש.

gcloud

משתמשים בgcloud recommender recommendations list עם הדגל --recommender=RECOMMENDER_ID:

gcloud recommender recommendations list \
    --project=PROJECT_ID \
    --location=LOCATION \
    --recommender=RECOMMENDER_ID \
    --format=yaml

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

  • ‫PROJECT_ID: מזהה הפרויקט.
  • ‫LOCATION: המיקום שכולל את המשאבים שעבורם רוצים לקבל המלצות.
    • עבור נפחי Persistent Disk, מציינים אזור או תחום. לדוגמה: us-central1-c.
    • לכתובות IP:
      • כדי להציג רשימה של כתובות IP אזוריות, צריך לציין אזור.
      • כדי להציג רשימה של כתובות IP גלובליות, מציינים global. מידע נוסף על משאבי כתובות IP אזוריים וגלובליים זמין במאמר כתובות IP.
    • לתמונות בהתאמה אישית, מציינים global.
  • ‫RECOMMENDER_ID: המזהה של שירות ההמלצות
    • לדיסקים, מציינים google.compute.disk.IdleResourceRecommender.
    • לתמונות, מציינים google.compute.image.IdleResourceRecommender.
    • לכתובות IP, מציינים google.compute.address.IdleResourceRecommender.

לדוגמה, הפקודה הבאה מציגה רשימה של המלצות לדיסקים קשיחים קבועים במצב לא פעיל ב-us-central1-c עבור test-project:

gcloud recommender recommendations list \
    --project=test-project \
    --location=us-central1-c \
    --recommender=google.compute.disk.IdleResourceRecommender \
    --format=yaml


---
content:
    operationGroups:
    - operations:
      - action: add
        resource: //compute.googleapis.com/projects/test-project/global/snapshots/$snapshot-name
        resourceType: compute.googleapis.com/Disk
        path: /
        value:
        - name: $snapshot-name
          sourceDisk: projects/test-project/locations/us-central1-c/disks/pd-name
          storageLocations: us-central1
      - action: remove
        resource: //compute.googleapis.com/projects/test-project/zones/us-central1-c/disks/pd-name
        resourceType: compute.googleapis.com/Disk
        path: /
description: Save cost by snapshotting and then deleting idle persistent disk 'pd-name'
name: projects/test-project/locations/us-central1-c/recommenders/google.compute.disk.IdleResourceRecommender/recommendations/0fd31b24-cc05-4132-8431-ed54a22dd4f1
recommenderSubtype: SNAPSHOT_AND_DELETE_DISK
lastRefreshTime:
  seconds: 1543912652
primaryImpact:
  category: COST
  costProjection:
    cost:
      currencyCode: USD
      units: '-50'
    duration:
      seconds: 2592000
stateInfo: ACTIVE
etag: "cb0e6ac2cfc0b591"

לקבלת מידע נוסף על השימוש ב-CLI של gcloud כדי לעבוד עם המלצות

REST

מבצעים קריאה ל-recommendations.list ומציינים את מזהה שירות ההמלצות, לדוגמה google.compute.disk.IdleResourceRecommender:

GET https://recommender.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/recommenders/RECOMMENDER_ID/recommendations

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

  • ‫PROJECT_ID: מזהה הפרויקט.
  • ‫LOCATION: המיקום שכולל את המשאבים שעבורם רוצים לקבל המלצות.
    • עבור נפחי Persistent Disk, מציינים אזור או תחום. לדוגמה: us-central1-c.
    • לכתובות IP:
      • כדי להציג רשימה של כתובות IP אזוריות, צריך לציין אזור.
      • כדי להציג רשימה של כתובות IP גלובליות, מציינים global. מידע נוסף על משאבי כתובות IP אזוריים וגלובליים זמין במאמר כתובות IP.
    • לתמונות בהתאמה אישית, מציינים global.
  • ‫RECOMMENDER_ID: המזהה של שירות ההמלצות
    • לדיסקים, מציינים google.compute.disk.IdleResourceRecommender.
    • לתמונות, מציינים google.compute.image.IdleResourceRecommender.
    • לכתובות IP, מציינים google.compute.address.IdleResourceRecommender.

בדוגמה הבאה אפשר לראות איך לשלוח בקשה עם curl, ודוגמה לתגובה שמתקבלת.

PROJECT_ID=test-project
LOCATION=us-central1-c
RECOMMENDER_ID=google.compute.disk.IdleResourceRecommender

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  https://recommender.googleapis.com/v1/projects/$PROJECT_ID/locations/$LOCATION/recommenders/$RECOMMENDER_ID/recommendations

דוגמה לתגובת JSON להמלצה על Persistent Disk בלי פעילות:

{
 "description" : "Save cost by deleting idle persistent disk 'pd-name'",
 "name": "projects/test-project/locations/us-central1-c/recommenders/"
         "google.compute.disk.IdleResourceRecommender/"
         "recommendations/0fd31b24-cc05-4132-8431-ed54a22dd4f1",
 "recommenderSubtype" : "SNAPSHOT_AND_DELETE_DISK",
 "lastRefreshTime": {
   "seconds": 1543912652
 },
 "primaryImpact": {
   "category": COST,
   "costProjection": {
    "cost": {"currencyCode": "USD", "units": -50},
    "duration": { "seconds": 2592000 }
   }
 },
 "stateInfo": ACTIVE,
 "content": {
   "operationGroups" : [
    {
      "operations" : [
       {
         "action": "add",
         "resourceType": "compute.googleapis.com/Disk",
         "resource" : "//compute.googleapis.com/projects/test-project/global/snapshots/$snapshot-name",
         "value": {
           "name": "$snapshot-name",
           "sourceDisk": "projects/test-project/zones/us-central1-c/disks/pd-name",
           "storageLocations": ["us-central1"],
         }
       },
       {
         "action": "remove",
         "resourceType": "compute.googleapis/Disk",
         "resource": "//compute.googleapis.com/projects/test-project/"
                     "zones/us-central1-c/disks/pd-name"
       }
      ]
    }
   ]
 },
 "associatedInsights": [
    {
      "insight": "projects/test-project/locations/us-central1-c/insightTypes/google.compute.disk.IdleResourceInsight/insights/31326443-bcc3-4776-9b86-48879fddb656"
    }
  ],
 "etag": "cb0e6ac2cfc0b591"
}

פירוש התשובה להמלצה

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

  • אם בדיסק המתמיד הלא פעיל יש נתונים, ההמלצה כוללת פעולה של add ליצירת תמונת מצב לגיבוי הדיסק המתמיד. לדוגמה:

       {
         "action": "add",
         "resourceType": "compute.googleapis.com/Disk",
         "resource" : "//compute.googleapis.com/projects/test-project/global/snapshots/$snapshot-name",
         "path": "/",
         "value": {
           "name": "$snapshot-name",
           "sourceDisk": "projects/test-project/zones/us-central1-c/disks/pd-name",
           "storageLocations": ["us-central1"]
         }
       }
    
  • פעולת remove למחיקה סופית של דיסק מתמשך במצב לא פעיל. לדוגמה:

       {
         "action": "remove",
         "resourceType": "compute.googleapis.com/Disk",
         "resource" : "//compute.googleapis.com/projects/test-project/zones/us-central1-c/disks/pd-name",
         "path": "/"
       }
    

צפייה בתובנות לגבי המלצות למשאבים לא פעילים

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

אם רוצים לראות את התובנה שיצרה את ההמלצה, אפשר להשתמש ב-CLI של gcloud או ב-REST.

gcloud

משתמשים בפקודה insights list

gcloud beta recommender insights list --project=PROJECT_NAME \
  --location=LOCATION --insight-type=INSIGHT_TYPE

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

  • ‫LOCATION: המיקום שכולל את המשאבים שרוצים לקבל לגביהם תובנות.
    • עבור PDs, ציינו תחום או אזור, למשל, us-central1-c.
    • לכתובות IP:
      • כדי להציג רשימה של כתובות IP אזוריות, צריך לציין אזור.
      • כדי להציג רשימה של כתובות IP גלובליות, מציינים global. מידע נוסף על משאבי כתובות IP אזוריים וגלובליים זמין במאמר כתובות IP.
    • לתמונות בהתאמה אישית, מציינים global.
  • INSIGHT_TYPE: המזהה של סוג התובנה
    • לדיסקים, מציינים google.compute.disk.IdleResourceInsight.
    • לתמונות, מציינים google.compute.image.IdleResourceInsight.
    • לכתובות IP, מציינים google.compute.address.IdleResourceInsight.

REST

משתמשים בשיטה insights.list.

GET https://recommender.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/insightTypes/INSIGHT_TYPE/insights

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

  • ‫PROJECT_ID: מזהה הפרויקט.
  • ‫LOCATION: המיקום שכולל את המשאבים שרוצים לקבל לגביהם תובנות.
    • עבור נפחי Persistent Disk, מציינים אזור או תחום. לדוגמה: us-central1-c.
    • לכתובות IP:
      • כדי להציג רשימה של כתובות IP אזוריות, צריך לציין אזור.
      • כדי להציג רשימה של כתובות IP גלובליות, מציינים global. מידע נוסף על משאבי כתובות IP אזוריים וגלובליים זמין במאמר כתובות IP.
    • לתמונות בהתאמה אישית, מציינים global.
  • INSIGHT_TYPE: המזהה של סוג התובנה
    • לדיסקים, מציינים google.compute.disk.IdleResourceInsight.
    • לתמונות, מציינים google.compute.image.IdleResourceInsight.
    • לכתובות IP, מציינים google.compute.address.IdleResourceInsight.

זוהי דוגמה לתשובה של תובנה לגבי משאב של דיסק מתמשך (Persistent Disk) במצב סרק:

{
  "name": "projects/test-project/locations/us-central1-c/insightTypes/google.compute.disk.IdleResourceInsight/insights/0ec21a13-bb04-3121-7321-dc43a11cc3e2",
  "description": "Disk 'pd-name' in zone 'us-central1-c' was last used 17 days ago. Consider taking snapshot and delete it.",
  "targetResources": [
    "//compute.googleapis.com/projects/test-project/zones/us-central1-c/disks/pd-name"
  ],
  "insightSubtype": "IDLE_DISK",
  "content": {
    "diskLastUseTime": "2019-10-01 13:00:00",
    "isBlank": false,
  },
  "lastRefreshTime": "2019-10-10 13:00:00",
  "observationPeriod": "15 days",
  "stateInfo": {
    "state": "ACTIVE"
  },
  "category": "COST",
  "etag": "fds421j2349",
  "associatedRecommendations": [
    {
      "projects/test-project/locations/us-central1-c/recommenders/"
      "google.compute.disk.IdleResourceRecommender/"
      "recommendations/0fd31b24-cc05-4132-8431-ed54a22dd4f1"
    }
  ]
}

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

  • ‫diskLastUseTime: הפעם האחרונה שבה הדיסק צורף למכונה וירטואלית. אם הדיסק אף פעם לא צורף למכונה וירטואלית, הערך הזה מוגדר לזמן היצירה של הדיסק.
  • ‫isBlank: השדה הזה מוגדר לערך true אם הדיסק ריק ומעולם לא צורף למכונה וירטואלית. אחרת, הערך הוא false.

מידע נוסף על תובנות מופיע במסמכי העזר.

יישום המלצות לגבי משאבים לא פעילים

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

מחיקת כתובת IP לא פעילה

אפשר לעיין בתיעוד בנושא addresses.delete method,‏ gcloud compute addresses delete command או שחרור כתובת IP חיצונית סטטית.

מחיקת תמונות בהתאמה אישית שלא נעשה בהן שימוש

אפשר לעיין בתיעוד בנושא שיטת images.delete, הפקודה gcloud compute images delete או מחיקת תמונה.

יישום המלצות לגבי דיסקים של אחסון מתמיד (persistent disks) שלא נמצאים בשימוש

אם אתם צריכים ליצור קובץ snapshot של דיסק אחסון מתמיד (persistent disk) לפני שאתם מוחקים אותו, כדאי לעיין במאמר בנושא יצירת קובצי snapshot של דיסקים של אחסון מתמיד.

כדי למחוק דיסק מתמשך במצב לא פעיל, ראו את הפקודה gcloud compute disks delete.

למידע על שחזור נתונים מתמונת מצב ויצירה מחדש של Persistent Disk, אפשר לעיין במאמר בנושא שחזור תמונות מצב.