ניהול חלונות תחזוקה של אשכולות AlloyDB ל-PostgreSQL

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

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

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

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

הגדרת חלון זמן לתחזוקה באשכול

המסוף

  1. עוברים לדף Clusters.

    מעבר אל Clusters

  2. לוחצים על אשכול בעמודה שם המשאב.

  3. בדף סקירה כללית, בקטע תחזוקה, לוחצים על עריכה.

  4. בקטע חלון זמן לתחזוקה, בוחרים את היום בשבוע שבו יתבצע חלון הזמן לתחזוקה.

    ברירת המחדל היא Any window (כל חלון). כשיוצרים אשכול, חלון הזמן הזה לתחזוקה מוקצה לאשכול כברירת מחדל.

  5. בוחרים את השעה ביום שבה יתבצע חלון זמן לתחזוקה.

  6. לוחצים על עדכון כדי לשמור את השינויים.

gcloud

כדי להשתמש ב-ה-CLI של gcloud, אפשר להתקין ולהפעיל את Google Cloud CLI, או להשתמש ב-Cloud Shell.

כדי להגדיר חלון זמן לתחזוקה באשכול, מריצים את הפקודה gcloud alloydb clusters update

עם הדגלים --maintenance-window-day ו---maintenance-window-hour:

gcloud alloydb clusters update CLUSTER_ID \
  --region LOCATION_ID \
  --maintenance-window-day DAY_OF_WEEK \
  --maintenance-window-hour HOUR_OF_DAY

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

  • ‫CLUSTER_ID: האשכול שבו רוצים להגדיר את חלון זמן לתחזוקה.

  • ‫LOCATION_ID: האזור Google Cloud שבו נמצאת האשכול הזה. לדוגמה, us-central1.

  • ‫DAY_OF_WEEK: היום בשבוע, באזור הזמן UTC, שבו יתבצע חלון התחזוקה. הערכים התקפים הם MONDAY,‏ TUESDAY,‏ WEDNESDAY,‏ THURSDAY,‏ FRIDAY,‏ SATURDAY ו-SUNDAY.

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

  • ‫HOUR_OF_DAY: מספר שלם בין 0 ל-23 שמייצג את השעה ביום, באזור הזמן UTC, עבור חלון זמן לתחזוקה זה.

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

איך מוחקים חלון זמן לתחזוקה

המסוף

  1. עוברים לדף Clusters.

    מעבר אל Clusters

  2. לוחצים על אשכול בעמודה שם המשאב.

  3. בדף סקירה כללית, בקטע תחזוקה, לוחצים על עריכה.

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

  5. לוחצים על עדכון כדי לשמור את השינויים.

gcloud

כדי להשתמש ב-ה-CLI של gcloud, אפשר להתקין ולהפעיל את Google Cloud CLI, או להשתמש ב-Cloud Shell.

כדי לנקות את חלון זמן לתחזוקה מאשכול, מריצים את הפקודה gcloud clusters update עם הדגל --maintenance-window-any:

gcloud alloydb clusters update CLUSTER_ID \
  --region LOCATION_ID \
  --maintenance-window-any

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

  • ‫CLUSTER_ID: האשכול שבו רוצים להגדיר את חלון זמן לתחזוקה.

  • ‫LOCATION_ID: האזור שבו נמצא האשכול הזה Google Cloud , לדוגמה us-central1.

צפייה בחלון הזמן לתחזוקה של אשכול

המסוף

  1. עוברים לדף Clusters.

    מעבר אל Clusters

  2. לוחצים על אשכול בעמודה שם המשאב.

  3. בדף סקירה כללית, בקטע תחזוקה, אפשר לראות את פרטי חלון התחזוקה של האשכול.

gcloud

כדי להשתמש ב-ה-CLI של gcloud, אפשר להתקין ולהפעיל את Google Cloud CLI, או להשתמש ב-Cloud Shell.

כדי לבדוק את חלון זמן לתחזוקה הנוכחי באשכול, מריצים את הפקודה gcloud alloydb clusters describe:

gcloud alloydb clusters describe CLUSTER_ID \
  --region LOCATION_ID

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

  • ‫CLUSTER_ID: האשכול שבו רוצים להגדיר את חלון זמן לתחזוקה.

  • ‫LOCATION_ID: האזור שבו נמצא האשכול הזה Google Cloud , לדוגמה us-central1.

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

maintenanceUpdatePolicy:
  maintenanceWindows:
  - day: TUESDAY
    startTime:
      hours: 23

אם הפלט לא כולל קטע maintenanceUpdatePolicy, לא הוגדר חלון זמן לתחזוקה באשכול.

הצגת עבודות תחזוקה מתוכננות באשכול

המסוף

  1. עוברים לדף Clusters.

    מעבר אל Clusters

  2. מאתרים את האשכול ומעיינים בעמודה תחזוקה כדי לקבל מידע על חלון הזמן לתחזוקה שיתרחש בקרוב.

gcloud

כדי להשתמש ב-ה-CLI של gcloud, אפשר להתקין ולהפעיל את Google Cloud CLI, או להשתמש ב-Cloud Shell.

כדי לראות את התחזוקה הקרובה שמתוכננת לאשכול שהוגדר לו חלון תחזוקה, מריצים את הפקודה gcloud clusters describe:

gcloud alloydb clusters describe CLUSTER_ID \
  --region LOCATION_ID

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

  • ‫CLUSTER_ID: האשכול שבו רוצים להגדיר את חלון זמן לתחזוקה.

  • ‫LOCATION_ID: האזור שבו נמצא האשכול הזה Google Cloud , לדוגמה us-central1.

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

maintenanceSchedule:
  startTime: 2024-07-03T09:46:40Z

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

הסכמה לקבלת התראות לגבי פעולות תחזוקה

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

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

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

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

  1. עוברים לדף Clusters.

    מעבר אל Clusters

  2. לוחצים על אשכול בעמודה שם המשאב.

  3. בדף סקירה כללית, בקטע תחזוקה, לוחצים על עריכה בשורה Notifications:.

  4. לוחצים על תקשורת.

  5. בשורה של AlloyDB, חלון זמן לתחזוקה, לוחצים על המתג בעמודה Email.

הגדרת תקופת תחזוקה שבה נדחות בקשות

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

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

תקופות דחייה קיימות לא חוסמות תחזוקה בשירות עצמי.

הגדרת חלונות סירוב לעבודות תחזוקה

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

תאריכי ההתחלה והסיום צריכים להיות בפורמט הבא:

  • ‫YYYY-MM-DD: מציין תאריך ספציפי

תאריך ההתחלה, תאריך הסיום והשעה הם לפי אזור הזמן UTC.

gcloud

כדי להשתמש ב-ה-CLI של gcloud, אפשר להתקין ולהפעיל את Google Cloud CLI, או להשתמש ב-Cloud Shell.

כדי להוסיף תקופה שבה אסור לבצע תחזוקה באשכול AlloyDB, מריצים את הפקודה gcloud alloydb clusters update עם הדגלים deny-maintenance-period-start-date,‏ deny-maintenance-period-end-date ו-deny-maintenance-period-time:

gcloud alloydb clusters update CLUSTER_ID \
   --region LOCATION_ID \
   --deny-maintenance-period-start-date START_DATE \
   --deny-maintenance-period-end-date END_DATE \
   --deny-maintenance-period-time TIME

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

  • ‫CLUSTER_ID: האשכול שרוצים להגדיר לו את התקופה ללא תחזוקה.
  • ‫LOCATION_ID: האזור שבו נמצא האשכול הזה Google Cloud , לדוגמה us-central1.
  • ‫START_DATE: תאריך ההתחלה של התקופה ללא תחזוקה בפורמט YYYY-MM-DD UTC.
  • ‫END_DATE: סוף התקופה ללא תחזוקה בפורמט YYYY-MM-DD UTC.
  • ‫TIME: השעה של התקופה ללא תחזוקה בפורמט HH:MM UTC. השעות מיוצגות בפורמט 24 שעות, שבו הערכים נעים בין 00:00 ל-23:59 – לדוגמה, 16:45.

REST v1

בדוגמה הזו מוסיפים תקופת תחזוקה של דחייה לקלאסטר קיים. רשימה מלאה של הפרמטרים של הקריאה הזו מופיעה במאמר Method: projects.locations.clusters.instances.patch.

לפני שמשתמשים בנתוני הבקשה, מחליפים את המשתנים הבאים בערכים:

  • ‫CLUSTER_ID: האשכול שרוצים להגדיר לו את התקופה ללא תחזוקה.
  • ‫PROJECT_ID: מזהה הפרויקט שבו נמצא האשכול.
  • ‫LOCATION_ID: האזור שבו נמצא האשכול הזה Google Cloud , לדוגמה us-central1.
  • ‫START_YEAR: השנה שבה מתחילה התקופה ללא עלות תחזוקה בפורמט YYYY.
  • ‫START_MONTH: החודש שבו מתחילה התקופה ללא תחזוקה, בפורמט MM. אפשר להוסיף אפס מוביל לחודשים עם ספרה אחת – לדוגמה, גם 2 וגם 02 הם ערכים תקינים לחודש פברואר.
  • ‫START_DAY: היום שבו מתחילה התקופה ללא תחזוקה בפורמט DD. אפשר להוסיף אפס מוביל לימים שמיוצגים בספרה אחת – לדוגמה, גם 1 וגם 01 הם ערכים תקינים ליום הראשון בחודש.
  • ‫END_YEAR: השנה שבה מסתיימת התקופה ללא תחזוקה, בפורמט YYYY.
  • ‫END_MONTH: החודש שבו מסתיימת תקופת הפטור מתחזוקה בפורמט MM.
  • ‫END_DAY: היום שבו מסתיימת תקופת הפטור מתחזוקה בפורמט DD.
  • ‫HOUR(S): השעה של התקופה ללא תחזוקה בפורמט של 24 שעות, לדוגמה: 16. אם השעה היא חד-ספרתית, אפשר להוסיף אפס מוביל – לדוגמה, גם 2 וגם 02 הם ערכים תקינים.
  • ‫MINUTE(S): הדקה של התקופה ללא תחזוקה. הערכים האפשריים הם 0 עד 59. לדוגמה, 45. אפשר להוסיף אפס מוביל לדקות חד-ספרתיות – 7 ו-07 הן אפשרויות תקינות.

כדי להוסיף תקופת תחזוקה שבה נדחית הבקשה, משתמשים בבקשת PATCH הבאה:

PATCH https://alloydb.googleapis.com/v1/{cluster.name=projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID?update_mask=maintenance_update_policy.deny_maintenance_periods}

פרמטר השאילתה maintenance_update_policy.deny_maintenance_periods מציין ל-API לעדכן את השדה denyMaintenancePeriods בתוך הבלוק maintenanceUpdatePolicy.

תוכן בקשת ה-JSON נראה כך:

"maintenanceUpdatePolicy": {
 "denyMaintenancePeriods": [
   {
     "startDate": {
       "year": START_YEAR,
       "month": START_MONTH,
       "day": START_DAY
     },
     "endDate": {
       "year": END_YEAR,
       "month": END_MONTH,
       "day": END_DAY
     },
     "time": {
       "hours": TIME
       "minutes": TIME
     }
   }
 ]
},

דחיית תחזוקה עתידית

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

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

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

הסרת תקופת תחזוקה של דחיית עדכון מאשכול

אפשר להסיר את תקופת ההמתנה לביצוע תחזוקה בכל שלב.

gcloud

כדי להשתמש ב-ה-CLI של gcloud, אפשר להתקין ולהפעיל את Google Cloud CLI, או להשתמש ב-Cloud Shell.

כדי להסיר תקופת תחזוקה שנדחתה מאשכול AlloyDB, מריצים את הפקודה gcloud alloydb clusters update עם הדגל remove-deny-maintenance-period:

gcloud alloydb clusters update CLUSTER_ID --region LOCATION_ID  --remove-deny-maintenance-period

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

  • ‫CLUSTER_ID: האשכול שממנו רוצים להסיר את תקופת ההמתנה לדחיית תחזוקה.
  • ‫LOCATION_ID: האזור שבו נמצא האשכול הזה Google Cloud —לדוגמה us-central1.

REST v1

בדוגמה הזו מוסרת תקופת תחזוקה שנדחתה מאשכול AlloyDB. רשימה מלאה של הפרמטרים של הקריאה הזו מופיעה במאמר בנושא Method: projects.locations.clusters.patch.

לפני שמשתמשים בנתוני הבקשה, מחליפים את המשתנים הבאים בערכים:

  • ‫CLUSTER_ID: המזהה של האשכול שרוצים להוסיף לו תקופת תחזוקה של דחייה.
  • ‫PROJECT_ID: מזהה הפרויקט שבו נמצא האשכול.
  • ‫LOCATION_ID: האזור שבו נמצא האשכול הזה Google Cloud , לדוגמה us-central1.

כדי להסיר תקופת תחזוקה של דחייה, משתמשים בבקשה הבאה של PATCH:

PATCH https://alloydb.googleapis.com/v1/{cluster.name=projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID?update_mask=maintenance_update_policy.deny_maintenance_periods}

פרמטר השאילתה maintenance_update_policy.deny_maintenance_periods מציין ל-API לעדכן את השדה denyMaintenancePeriods בתוך הבלוק maintenanceUpdatePolicy.

תוכן בקשת ה-JSON נראה כך:

{}

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