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

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

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

כדי להשתמש באשכול staging, מבצעים את השלבים הבאים:

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

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

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

הקשר בין אשכולות הייצור והביניים

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

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

Google Cloud צריך להפעיל את הגישה ל-AlloyDB בפרויקט שבו אתם משתמשים.

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

צריך להיות לכם אחד מתפקידי ה-IAM הבאים ב Google Cloudפרויקט שבו אתם משתמשים:

  • roles/alloydb.admin: תפקיד IAM מוגדר מראש של AlloyDB Admin
  • roles/owner: תפקיד הבעלים הבסיסי ב-IAM
  • roles/editor: תפקיד בסיסי ב-IAM עם הרשאת עריכה

אם לא הוקצו לכם התפקידים האלה, פנו לאדמין הארגוני כדי לבקש הרשאת גישה.

הגדרת אשכול לצורך הכנה להשקה

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

יצירת אשכול לצורכי הכנה מגיבוי של סביבת הייצור

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

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

יש שתי שיטות ליצירת גיבוי של סביבת הייצור:

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

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

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

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

המסוף

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

    מעבר אל Clusters

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

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

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

  5. כדי לראות את הניהול של Unified Maintenance, מקלידים 'Cloud Hub maintenance' בסרגל החיפוש ובוחרים באפשרות Maintenance (תחזוקה). בדף הזה אפשר לראות סיכום של התחזוקה, תחזוקה בניהול Google ופרטים על תחזוקה מתוכננת.

gcloud

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

    gcloud alloydb clusters describe STAGING_CLUSTER_ID \
        --region=LOCATION_ID \
        --project=PROJECT_ID
  2. מחפשים את השדה maintenanceSchedule בפלט. אם לא מוגדר חלון זמן לתחזוקה, השדה הזה לא מופיע או שהוא ריק. אם מוגדר חלון זמן לתחזוקה, מוחקים אותו.

    gcloud alloydb clusters update STAGING_CLUSTER_ID \
        --region=LOCATION_ID \
        --clear-maintenance-window \
        --project=PROJECT_ID

ניהול של כמה ערוצי הפצה לכמה סביבות שאינן סביבות ייצור

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

  1. סביבת פיתוח
  2. סביבת בקרת איכות
  3. סביבת Staging

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

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

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

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

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

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

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

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

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

המסוף

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

    מעבר אל Clusters

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

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

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

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

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

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

gcloud

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

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

gcloud alloydb clusters update PRODUCTION_CLUSTER_ID \
    --region=LOCATION_ID \
    --maintenance-window-day=DAY_OF_WEEK \
    --maintenance-window-hour=HOUR_OF_DAY \
    --project=PROJECT_ID

מחליפים את הפרטים הבאים:

  • PRODUCTION_CLUSTER_ID: המזהה של אשכול הייצור.
  • LOCATION_ID: Google Cloud האזור.
  • DAY_OF_WEEK: היום המועדף לביצוע תחזוקה, למשל SUNDAY.
  • HOUR_OF_DAY: השעה המועדפת לתחזוקה ב-UTC (0-23).

    בדוגמה הבאה אפשר לראות איך מגדירים את חלון הזמן לתחזוקה ליום ראשון בשעה 2:00 UTC:

    gcloud alloydb clusters update my-prod-cluster \
        --region=us-central1 \
        --maintenance-window-day=SUNDAY \
        --maintenance-window-hour=2 \
        --project=my-production-project

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

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

gcloud alloydb clusters describe PRODUCTION_CLUSTER_ID \
--region=LOCATION_ID \
--project=PROJECT_ID

הפלט מחזיר את השדה maintenanceSchedule עם היום והשעה שצוינו לתחזוקה.

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

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

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

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

    מעבר אל Clusters

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

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

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

  5. בשורה של AlloyDB, בעמודה אימייל, מעבירים את לחצן ההתראה למצב מופעל.

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

עדכונים באשכולות של סביבת פיתוח

משתמשים בסביבת הבדיקה כדי לאמת את העדכון הקרוב בסביבת הייצור.

בדיקת הסטטוס לפני העדכון

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

  1. נכנסים לדף Logs Explorer במסוף Google Cloud :

    כניסה לדף Logs Explorer

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

  2. בוחרים באפשרות All Resources, בוחרים את אשכול ההעברה ולוחצים על Apply.

  3. בוחרים באפשרות All lognames (כל שמות היומנים), בוחרים באפשרות maintenance_events (אירועי תחזוקה) ולוחצים על Apply (אישור).

  4. בחלונית Timeline, בוחרים את טווח הזמן שבו קבוצת ה-staging מקבלת עדכונים.

ביצוע אימות פונקציונלי אחרי העדכון

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

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

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

כדי להבטיח יציבות ופעולה אופטימלית, צריך לבצע את הפעולות הבאות:

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

טיפול באירועים על סמך תוצאות האימות

בודקים את תוצאות האימות ומבצעים את הפעולות הבאות בהתאם לתוצאות:

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

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

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

תאריכי ההתחלה והסיום צריכים להיות בפורמט הבא: YYYY-MM-DD. תאריך ההתחלה, תאריך הסיום והשעה הם כולם לפי אזור הזמן UTC.

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

כדי להוסיף תקופה שבה אסור לבצע תחזוקה באשכול AlloyDB, פועלים לפי השלבים הבאים:

  1. מריצים את הפקודה 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
  2. מחליפים את מה שכתוב בשדות הבאים:

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

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

עדכונים באשכולות של סביבת ייצור

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

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

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

המסוף

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

    מעבר אל Clusters

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

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

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

  5. כדי לראות את הניהול של Unified Maintenance, מקלידים 'Cloud Hub maintenance' בסרגל החיפוש ובוחרים באפשרות Maintenance (תחזוקה). בדף הזה אפשר לראות סיכום של התחזוקה, תחזוקה בניהול Google ופרטים על תחזוקה מתוכננת.

gcloud

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

מריצים את הפקודה הבאה באמצעות gcloud alloydb clusters describe:

gcloud alloydb clusters describe PRODUCTION_CLUSTER_ID \
    --region=LOCATION_ID \
    --project=PROJECT_ID

אם מתוכנן אירוע תחזוקה, הפלט כולל maintenanceSchedule וstartTime. אם בחרתם לקבל התראות, תקבלו גם התראות באימייל.

מעקב אחר הייצור במהלך חלון זמן לתחזוקה

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

  • תקינות האפליקציה: מעקב אחרי יומני האפליקציה ובדיקות התקינות כדי לזהות סימנים של שיבושים.
  • קישוריות למסד נתונים: מוודאים שהאפליקציות יכולות להתחבר מחדש למסד הנתונים אחרי ההפרעה.
  • מדדי AlloyDB: אפשר להשתמש ב-Google Cloud Monitoring כדי לעקוב אחרי מדדי AlloyDB – CPU, זיכרון, חיבורים וזמן השהיה של השכפול – ולוודא שהם חוזרים לרמות הצפויות אחרי העדכון.

אימות עדכון אחרי תחזוקה

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

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

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