ניהול התראות פרוגרמטיות לגבי תקציבים

סקירה כללית

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

תרשים של התראות תקציב
איור 1: המחשה של פעולת ברירת המחדל לשליחת התראות באימייל בקשר לתקציב, והדרך האופציונלית של שליחת תגובות אוטומטיות לבקרת עלויות באמצעות התראות פרוגרמטיות של Pub/Sub.

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

  • הגבלת ההוצאות ב-Google Cloud על ידי השבתה אוטומטית של החיוב או סגירת המשאבים.
  • העברת ההתראות בקשר לתקציב לאמצעי תקשורת אחרים (למשל, Slack).
  • שליטה בשימוש במשאבים על ידי התאמת המכסות.

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

ההרשאות שנדרשות לביצוע המשימה הזו

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

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

אם אתם בעיקר עוקבים אחרי העלויות בחשבון לחיוב ב-Cloud, תצטרכו הרשאות ברמת החשבון לחיוב ב-Cloud.

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

אם בארגון שלכם משתמשים בתפקידים בהתאמה אישית לצורך אימות, צריך להוסיף לתפקיד בהתאמה אישית את ההרשאות הספציפיות הבאות:

כדי לשנות תקציב קיים לחיוב ב-Cloud באמצעות תפקיד בהתאמה אישית ולקשר אותו לנושא קיים ב-Pub/Sub, צריך את ההרשאות הבאות:

אם אתם עוקבים אחרי העלויות ברמת הפרויקט

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

אם בארגון שלכם משתמשים בתפקידים בהתאמה אישית לצורך אימות, צריך להוסיף לתפקיד בהתאמה אישית את ההרשאות הספציפיות הבאות:

  • resourcemanager.projects.get בפרויקט, כדי לראות את השיוך של הפרויקטים (כמו החשבון לחיוב המקושר).
  • billing.resourceCosts.get בפרויקט (לא חובה), כדי לראות את העלויות ואת נתוני השימוש בפרויקט.
  • billing.resourcebudgets.read בפרויקט, כדי לראות את התקציבים לפרויקט בודד שרלוונטיים לאותו פרויקט בחשבון לחיוב.
  • billing.resourcebudgets.write בפרויקט, כדי ליצור או לשנות תקציבים לפרויקט בודד שמוגדרים ברמת הפרויקט.
  • roles/pubsub.editor בפרויקט היעד של נושאי Pub/Sub (כדי ליצור נושאי Pub/Sub חדשים), או pubsub.topics.list בפרויקט היעד שכולל את הנושאים הקיימים ב-Pub/Sub שבהם רוצים להשתמש.

אם הגדרתם במדיניות הארגון הגבלה על שיתוף המשאבים לפי דומיין, יכול להיות שתופיע הודעת שגיאה כשתנסו להגדיר נושאי Pub/Sub או לקשר אותם לתקציב לחיוב ב-Cloud.

במצב כזה, יכול להיות שתצטרכו לאלץ את הגישה לחשבון כדי לקשר נושא Pub/Sub לתקציב. כדי לאלץ גישה לחשבון:

  1. מסירים את מדיניות הארגון שמכילה את אילוץ ההגבלה לפי הדומיין באחת מהשיטות הבאות:

  2. פועלים לפי השלבים לקישור נושא Pub/Sub לתקציב של חיוב ב-Cloud.

  3. מפעילים מחדש את מדיניות הארגון ברמת הארגון או הפרויקט (לא חובה).

מידע על ההרשאות ב-Google Cloud

מידע נוסף על הרשאות לחיוב ב-Cloud זמין במאמרים הבאים:

למידע נוסף על ההרשאות ברמת הפרויקט ב-Google Cloud:

איך מגדירים ומפעילים התראות פרוגרמטיות עם Pub/Sub

כדי להפעיל את ההתראות הפרוגרמטיות ולקבל הודעות מ-Pub/Sub עם הסטטוס הנוכחי של התקציב, צריך לחבר נושא Pub/Sub לתקציב של החיוב ב-Cloud.

כדי לקשר, לערוך או להסיר נושאי Pub/Sub שמקושרים לתקציב:

1. יוצרים נושא Pub/Sub

מומלץ להגדיר נושא Pub/Sub לחיוב ב-Cloud ובו לפרסם את ההתראות בקשר לתקציב. אם כבר הגדרתם נושא Pub/Sub לחיוב ב-Cloud, תוכלו להשתמש בו שוב לכל התקציבים או ליצור נושא נפרד לכל תקציב.

  1. נכנסים לדף Pub/Sub במסוף Google Cloud.

    לדף Pub/Sub

  2. בוחרים פרויקט.

    מומלץ ליצור פרויקט נפרד ב-Google Cloud שישמש אתכם לניהול החיובים וה-FinOps בחשבון לחיוב ב-Cloud, כולל נושאי Pub/Sub שקשורים לחיוב ב-Cloud. תוכלו לקרוא מהם יתרונות השימוש בפרויקט שממוקד ב-FinOps לתרחישי שימוש שונים של ניהול החיוב.

  3. לוחצים על Create topic.

  4. בשדה Topic ID, נותנים שם לנושא ולוחצים על Create Topic.

2. מקשרים תקציב לחיוב ב-Cloud לנושא Pub/Sub

כדי לקשר תקציב לחיוב ב-Cloud לנושא Pub/Sub:

  1. נכנסים לדף Budgets & alerts בקטע Billing במסוף Google Cloud וממשיכים בהתאם לרמת הגישה לחשבונות לחיוב ב-Cloud:

    משתמשים עם הרשאות לחשבון לחיוב ב-Cloud משתמשים עם הרשאות ברמת הפרויקט בלבד (תצוגה מקדימה)

    אם יש לכם הרשאות לחשבון לחיוב ב-Cloud, תוכלו לבחור חשבון מתוך רשימה של חשבונות לחיוב שיש לכם גישה אליהם.

    1. נכנסים לדף Budgets & alerts במסוף Google Cloud.

      לפתיחת הדף Budgets & alerts
    2. בהודעה שמופיעה, בוחרים את החשבון לחיוב ב-Cloud שבו רוצים לנהל את התקציבים.

      ייפתח הדף Budgets & alerts של החשבון לחיוב שבחרתם.

    אם יש לכם הרשאות לפרויקט בלבד, אבל לא הרשאות בחשבון לחיוב ב-Cloud של הפרויקט, תצטרכו לבחור את הפרויקט ורק אז לעבור לקטע Billing.

    1. נכנסים למרכז הבקרה של מסוף Google Cloud ובוחרים פרויקט.

      לפתיחת מסוף Google Cloud
    2. בוחרים את הפרויקט שרוצים לנהל את התקציבים שלו.
    3. פותחים את הקטע Billing: פותחים את תפריט הניווט במסוף Google Cloud ולוחצים על Billing.

      אם מופיעה בקשה לבחור חשבון לחיוב, לוחצים על Go to linked billing account כדי לפתוח את החשבון לחיוב שמקושר לפרויקט שנבחר.

      ייפתח הדף Overview של החשבון לחיוב שבחרתם.

    4. בקטע Cost management בתפריט הניווט Billing, בוחרים באפשרות Budgets & alerts.
  2. אם צריך, יוצרים תקציב. אפשר גם ללחוץ על שם התקציב כדי לערוך אותו ואת כללי ההתראות הקיימים.

  3. בקטע Actions, באפשרויות של Manage notifications, לוחצים על Connect a Pub/Sub topic to this budget.

  4. בשדה Project, לוחצים על Select a project ובוחרים את הפרויקט שכולל את נושאי Pub/Sub שהגדרתם. אם פעלתם בהתאם להמלצה בחלק הקודם, זה יהיה הפרויקט ב-Google Cloud שמשמש לניהול החיוב או ה-FinOps.

  5. בקטע Select a Pub/Sub topic, בוחרים נושא קיים או לוחצים על Create a topic כדי ליצור נושא חדש.

    • אם יוצרים נושא חדש, נותנים לו שם בשדה Topic ID ולוחצים על Create topic.
    • אחרי יצירת הנושא הוא ייבחר.
  6. לוחצים על Save.

פורמט ההתראות

ההתראות שנשלחות לנושא Pub/Sub כוללות שני חלקים:

  • מאפיינים: קבוצה של צמדי מפתח/ערך שמתארים את האירוע.
  • נתונים: מחרוזת שמכילה אובייקט JSON לתיאור הפרטים של ההתראה בקשר לתקציב.

מאפיינים

המאפיינים הם צמדי מפתח/ערך שכלולים בכל ההתראות שנשלחות מהחיוב ב-Cloud לנושא Pub/Sub. ההתראות תמיד כוללות את הקבוצה הבאה של צמדי מפתח/ערך, ללא קשר למטען הייעודי (payload) שלהן.

שם המאפיין דוגמה תיאור
billingAccountId 01D4EE-079462-DFD6EC המזהה של החשבון לחיוב ב-Cloud שהתקציב בבעלותו.
budgetId de72f49d-779b-4945-a127-4d6ce8def0bb המזהה של ההתראה בקשר לתקציב בחשבון לחיוב ב-Cloud.
schemaVersion 1.0 גרסת הסכימה שבשימוש בהתראות.

נתונים

בגרסת הסכימה 1‎.x, הפרטים של ההתראות בקשר לתקציב מוחזרים במחרוזת מסוג UTF-8 בקידוד base64 עם אובייקט JSON שכולל את המאפיינים הבאים:

נתונים דוגמה תיאור
budgetDisplayName "My Personal Budget" השם שהוקצה לתקציב, בפורמט שקריא לבני אדם.
costAmount 140.321 סכום העלויות שהצטברו. סוג העלויות שבמעקב תלוי במסננים ובהגדרות של התקציב.
costIntervalStart "2021-02-01T08:00:00Z" מועד ההתחלה של פרק הזמן להתראות בקשר לתקציב. הערך ב-'costAmount' כולל את עלויות השימוש שמתחילות בפרק הזמן הזה. זהו היום הראשון בפרק הזמן של התקציב (חודש, רבעון, שנה או טווח תאריכים מותאם אישית) שבמהלכו התבצע השימוש בתקציב.
budgetAmount 152.557 הסכום שהוקצה בתקציב.
budgetAmountType "SPECIFIED_AMOUNT" הסוג של סכום התקציב, בהתאם לאחד מהערכים הבאים:
  • "SPECIFIED_AMOUNT": סכום קבוע.
  • "LAST_MONTH_COST": העלות הכוללת שהצטברה במהלך החודש הקלנדרי האחרון.
  • "LAST_PERIODS_COST": העלויות שהצטברו במהלך התקופה הקלנדרית האחרונה, שאינה חודשית, כמו רבעון או שנה.
alertThresholdExceeded 0.9 הסף הגבוה ביותר שהוגדר להתראות שהעלות בפועל חרגה ממנו. הערך הוא אחוז שמוצג כשבר עשרוני (לדוגמה, 0.9 הוא 90%). המפתח הזה לא נמצא אם העלות בפועל לא חורגת מסף כלשהו.
forecastThresholdExceeded 0.2 הסף הגבוה ביותר שהוגדר להתראות שהעלות החזויה חרגה ממנו. הערך הוא אחוז שמוצג כשבר עשרוני (לדוגמה, 0.2 הוא 20%). המפתח הזה לא נמצא אם העלות החזויה לא חורגת מסף כלשהו.
currencyCode "USD" המטבע שבו משתמשים בהתראות בקשר לתקציב. כל העלויות והסכומים של ההתראות בקשר לתקציב הם במטבע הזה.

התחייבויות למסירת התראות ל-Pub/Sub

אחרי שאתם יוצרים תקציב ומחברים אותו לנושא Pub/Sub, אתם צפויים לקבל התראות פרוגרמטיות, כמתואר כאן:

  • ההתראות בקשר לתקציב נשלחות לנושא Pub/Sub כמה פעמים ביום, עם הסטטוס הנוכחי של התקציב, בשונה מהתראות רגילות באימייל, שנשלחות רק כשיש חריגה מעבר לסף מסוים של התקציב.
  • ההתראות נשלחות ל-Pub/Sub גם אם אין שימוש בחשבון לחיוב ב-Cloud.
  • יכול להיות שההודעה הראשונה תתקבל ב-Pub/Sub רק תוך כמה שעות.
  • בזכות השימוש ב-Pub/Sub תישלח הודעה אחת לפחות לכל התראה, אבל יכול להיות שתקבלו את אותה ההודעה כמה פעמים ויכול להיות שההודעות יגיעו בסדר הלא נכון.
  • אם המסירה נכשלת בגלל הגדרה שגויה של נושא Pub/Sub, לא תקבלו התראה.

    מסירת ההתראות עשויה להיכשל בגלל אחת מהסיבות הבאות:

    • הנושא לא קיים יותר ב-Pub/Sub.
    • לחיוב ב-Cloud אין יותר את ההרשאה לפרסם בנושא Pub/Sub המסוים הזה.
    • חרגתם ממכסת ההתראות.