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

סקירה כללית

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • כדי ליצור, לשנות או לראות תקציבים בפרויקט, צריך אחד מהתפקידים הבאים בפרויקט:

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

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

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

אם הגדרתם במדיניות הארגון שלכם הגבלה על שיתוף המשאבים לפי דומיין, (לדוגמה, הפעלת enforceInTransit בנושאים ב-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 במסוף Google Cloud

  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. בהתאם לרמת הגישה שלכם לחשבונות לחיוב ב-Cloud, נכנסים לדף Budgets & alerts בקטע Billing במסוף Google 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, לא תקבלו התראה.

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