תיאור ורשימה של פריסות כחול-ירוק

במאמר הזה נסביר איך לפרט ולתאר פריסות blue-green של Cloud SQL, לבדוק את פרטי החיבור ואת ההבדלים בהגדרות, ולהתחבר לסביבת ה-staging הירוקה כדי לבדוק ולאמת את עומסי העבודה.

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

כדי להציג או לתאר פריסת כחול-ירוק (blue-green deployment) ולהתחבר למופע הירוק של הסביבה הזמנית, צריך לוודא שיש לכם את התפקידים הנדרשים ואת פרטי הכניסה למסד הנתונים.

תפקידים והרשאות נדרשים

כדי לקבל את ההרשאות שנדרשות להצגה ולתיאור של פריסות blue-green, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:

  • Cloud SQL Viewer (roles/cloudsql.viewer)
  • עריכה ב-Cloud SQL (roles/cloudsql.editor)
  • Cloud SQL Admin ‏ (roles/cloudsql.admin)

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

  • cloudsql.blueGreenDeployments.get
  • cloudsql.blueGreenDeployments.list

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

במאמר תפקידים והרשאות מוסבר בהרחבה על תפקידים והרשאות ב-IAM ב-Cloud SQL.

סקירה כללית

הפקודה describe מאפשרת לכם לעקוב אחרי הסטטוס של פריסת כחול-ירוק (blue-green deployment) ב-Cloud SQL בכל שלבי מחזור החיים שלה – מההקצאה הראשונית וההכנה לבדיקה ועד לסיום המעבר.

תיאור של פריסת כחול-ירוק מספק תובנות לגבי:

  • מצב מחזור החיים של הפריסה: מעקב אחרי הסטטוס בזמן אמת של הפריסה, כשהיא עוברת בין מצבים כמו PROVISIONING, ‏ SWITCHOVER_READY, ‏ SWITCHOVER_NOT_READY, ‏ SWITCHOVER_IN_PROGRESS ו-SWITCHOVER_COMPLETED.
  • פרטי ההתחברות של מופע היעד: מאחזרים את שם החיבור הייחודי ואת נקודות הקצה ברשת של מופע ההכנה הירוק. כך מנהלי מסדי נתונים (DBA) ומהנדסי בקרת איכות (QA) יכולים לקשר אפליקציות, להריץ שאילתות בדיקה ולאמת את הביצועים במופע הירוק בלי להשפיע על תנועת הייצור הפעילה הכחולה.
  • תקינות השכפול ומוכנות למעבר: מוודאים שהשכפול הלוגי הרציף מכחול לירוק תקין, ובודקים את פרטי השגיאות האבחוניות אם מתעוררות בעיות. הערה: תיאור פריסה לא מציג את השהיית השכפול.
  • הבדלים בהגדרות: כשמבקשים את התצוגה המפורטת, אפשר לבדוק השוואה בטבלה (diffs) של גרסאות מסד הנתונים, רמות המכונה, הגדרות האחסון והגדרות הזמינות הגבוהה בין המופעים הכחולים והירוקים.

רשימת פריסות כחול-ירוק

כדי להציג רשימה של פריסות כחול-ירוק בפרויקט:

המסוף

  1. נכנסים לדף Cloud SQL Instances במסוף Google Cloud .

    כניסה לדף Cloud SQL Instances

  2. ברשימת המופעים, בודקים את העמודה Blue green deployment ID (מזהה פריסה כחולה-ירוקה) כדי לראות את הפריסות הכחולות-ירוקות שמשויכות למופעים. במכונות שהן חלק מפריסה כחול-ירוק, מוצג גם תג תפקיד (כחול, ירוק, כחול ישן או כחול חדש) לצד שם המכונה.

gcloud

כדי לראות את רשימת הפריסות כחול-ירוק באמצעות gcloud, מריצים את הפקודה blue-green-deployments list:

gcloud beta sql blue-green-deployments list \
  --region=REGION

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

REST v1

כדי להציג רשימה של פריסות באמצעות Cloud SQL Admin API, שולחים בקשת GET לשיטה blueGreenDeployments.list:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/
  locations/REGION/blueGreenDeployments

REST v1beta4

כדי להציג רשימה של פריסות באמצעות Cloud SQL Admin API, שולחים בקשת GET לשיטה blueGreenDeployments.list:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/
  locations/REGION/blueGreenDeployments

תאר את הפריסה כחול-ירוק

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

המסוף

  1. נכנסים לדף Cloud SQL Instances במסוף Google Cloud .

    כניסה לדף Cloud SQL Instances

  2. כדי לפתוח את הדף סקירת הפריסה, מבצעים אחת מהפעולות הבאות:
    • בעמודה Blue green deployment ID (מזהה פריסה של Blue/Green), לוחצים על מזהה הפריסה.
    • לוחצים על שם המופע כדי לפתוח את הדף סקירה כללית, ואז בכרטיס סטטוס הפריסה של Blue Green לוחצים על פרטים.
  3. בדף סקירת הפריסה, בודקים את הכרטיס פרטי הפריסה כדי לראות את הסטטוס של הפריסה, מופע המקור, מופע היעד, נקודת הקצה של מופע היעד וגרסת היעד. בודקים גם את הכרטיס התקדמות הפריסה כדי לראות את הסטטוס של המשימות.

gcloud

כדי לתאר פריסה באמצעות gcloud, מריצים את הפקודה blue-green-deployments describe:

gcloud beta sql blue-green-deployments describe DEPLOYMENT_NAME \
  --region=REGION

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

  • ‫DEPLOYMENT_NAME: השם של פריסת כחול-ירוק (blue-green deployment) שלכם.
  • ‫REGION: האזור שבו נוצרה הפריסה. Google Cloud

REST v1

כדי לתאר פריסה באמצעות Cloud SQL Admin API, שולחים בקשת GET ל-method‏ blueGreenDeployments.get:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/
  locations/REGION/
  blueGreenDeployments/DEPLOYMENT_NAME

REST v1beta4

כדי לתאר פריסה באמצעות Cloud SQL Admin API, שולחים בקשת GET ל-method‏ blueGreenDeployments.get:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/
  locations/REGION/
  blueGreenDeployments/DEPLOYMENT_NAME

בדיקת הסטטוס ופרטי החיבור

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

name: projects/my-project/locations/us-central1/
  blueGreenDeployments/my-deployment
createTime: '2026-08-13T10:00:00.000Z'
state: SWITCHOVER_READY
sourceInstance: my-source-instance
switchoverTargetInstance: my-target-instance
requestedConfig:
  databaseVersion: MYSQL_8_4
deploymentMappings:
- source:
    connection: my-project:us-central1:my-source-instance
    dns: my-source-instance.123456789012.us-central1.sql.goog.
    instance: projects/my-project/instances/my-source-instance
    ipAddresses:
    - ipAddress: 10.0.0.1
      type: PRIMARY
  state: PROVISIONED
  target:
    connection: my-project:us-central1:my-target-instance
    dns: my-target-instance.123456789012.us-central1.sql.goog.
    instance: projects/my-project/instances/my-target-instance
    ipAddresses:
    - ipAddress: 10.0.0.2
      type: PRIMARY
  tasks:
  - type: PROVISION
    state: SUCCEEDED
    startTime: '2026-08-13T10:00:00.000Z'
    endTime: '2026-08-13T10:15:00.000Z'
deploymentTasks:
- type: PROVISION
  state: SUCCEEDED
  startTime: '2026-08-13T10:00:00.000Z'
  endTime: '2026-08-13T10:15:00.000Z'

בודקים את השדות הבאים בתשובה:

  • ‫name: נתיב המשאב המלא של הפריסה בפורמט projects/PROJECT_ID/locations/REGION/blueGreenDeployments/DEPLOYMENT_NAME.
  • ‫createTime: חותמת הזמן שבה נוצרה הפריסה.
  • ‫state: הסטטוס הכולל של מחזור החיים של הפריסה:
    • ‫PROVISIONING: הפריסה מקצה את הסביבה הירוקה ומגדירה שכפול.
    • ‫SWITCHOVER_READY: ההעברה לסביבת הבדיקה הושלמה, השכפול הלוגי תקין והפריסה מוכנה למעבר. חשוב לוודא את המצב הזה לפני שמריצים בדיקות.
    • ‫SWITCHOVER_NOT_READY: הפריסה לא מוכנה למעבר. כדאי לעיין בerrorDetail כדי לפתור בעיות.
    • ‫SWITCHOVER_IN_PROGRESS: פעולת מעבר מתבצעת באופן פעיל.
    • ‫SWITCHOVER_COMPLETED: המעבר הסתיים בהצלחה, והמופע הירוק משרת עכשיו תנועה של נתוני ייצור כמופע פעיל לקריאה ולכתיבה.
    • ‫DELETING: משאב הפריסה נמחק.
  • ‫sourceInstance: מזהה המופע של מופע הייצור המקורי שלכם (הכחול).
  • ‫switchoverTargetInstance: מזהה המכונה של מכונת הגיבוי הירוקה שהופכת למכונת הקריאה והכתיבה של הייצור במהלך המעבר.
  • ‫requestedConfig: ההגדרה שמיועדת למופע היעד בזמן היצירה, כמו databaseVersion לשדרוגים של גרסאות ראשיות.
  • errorDetail: פרטים על שגיאות אבחון שמסבירים למה המעבר לא מוכן או למה משימת הקצאת הרשאות או המעבר נכשלו.
  • ‫deploymentMappings: רשימת זוגות של מכונות מקור ומכונות יעד בפריסה. לגבי כל צמד, בודקים את:
    • ‫source: פרטי החיבור והרשת של המופע הכחול, כולל נתיב משאב המופע (instance), שם החיבור (connection), שם המארח של DNS (dns) וכתובות ה-IP (ipAddresses).
    • target: פרטי החיבור והרשת של המופע הירוק. משתמשים בשם היעד connection או ב-ipAddresses כדי לחבר בין אפליקציות בסביבת פיתוח לבין חבילות מקרים לבדיקה בסביבה הירוקה.
    • ‫diffs: הבדלים בהגדרות בין המופעים הכחול והירוק כשמשתמשים בתצוגה המפורטת. במהלך התצוגה המקדימה, לא מוצגים שינויים בדגל של מסד הנתונים.
    • ‫state: הסטטוס התפעולי של הצומת המזווג (לדוגמה, PROVISIONING, ‏ PROVISIONED, ‏ UPGRADING, ‏ UPGRADED,‏ UPGRADE_FAILED, ‏ SWITCHOVER_IN_PROGRESS, ‏ SWITCHOVER_FAILED, ‏ SWITCHOVER_SUCCEEDED או DELETING).
    • ‫tasks: סטטוס הביצוע, שעת ההתחלה, שעת הסיום ופרטי השגיאה של משימות הפריסה שבוצעו בצומת הזה.
  • ‫deploymentTasks: רשימה מאוחדת של כל משימות הפריסה בכל הצמתים, כולל משימה type (PROVISION,‏ UPGRADE,‏ SWITCHOVER,‏ DELETE או POST_SWITCHOVER_OPERATIONS),‏ state (PENDING,‏ RUNNING,‏ SUCCEEDED או FAILED),‏ startTime,‏ endTime ו-errorMessage.

הצגת ההבדלים בהגדרות

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

המסוף

  1. נכנסים לדף Cloud SQL Instances במסוף Google Cloud .

    כניסה לדף Cloud SQL Instances

  2. כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
  3. בכרטיס Blue Green Deployment Status (סטטוס הפריסה של Blue Green), לוחצים על Details (פרטים) כדי לפתוח את הדף Deployment overview (סקירה כללית של הפריסה).
  4. בכרטיס פרטי הפריסה, לוחצים על הצגת ההבדלים בהגדרות.
  5. בתיבת הדו-שיח Instance Setting Differences (הבדלים בהגדרות של מופע), בודקים את ההשוואה בין מופעי המקור והיעד, ואז לוחצים על Close (סגירה).

gcloud

מריצים את הפקודה blue-green-deployments describe עם הדגל --show-config-diff:

gcloud beta sql blue-green-deployments describe DEPLOYMENT_NAME \
  --region=REGION \
  --show-config-diff

REST v1

שולחים בקשת GET לשיטה blueGreenDeployments.get עם פרמטר השאילתה view=DETAILED:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/
  locations/REGION/
  blueGreenDeployments/DEPLOYMENT_NAME?view=DETAILED

REST v1beta4

שולחים בקשת GET לשיטה blueGreenDeployments.get עם פרמטר השאילתה view=DETAILED:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/
  locations/REGION/
  blueGreenDeployments/DEPLOYMENT_NAME?view=DETAILED

בדיקת ההבדלים בהגדרות

כשמציינים את התצוגה המפורטת, התשובה כוללת קטע diffs בכל צומת מותאם מתחת ל-deploymentMappings:

deploymentMappings:
- diffs:
  - field: database_version
    sourceValue: MYSQL_8_0
    targetValue: MYSQL_8_4
  - field: settings/tier
    sourceValue: db-custom-2-7680
    targetValue: db-custom-4-15360
  source:
    instance: projects/PROJECT_ID/instances/my-source-instance
  target:
    connection: PROJECT_ID:REGION:my-target-instance
    instance: projects/PROJECT_ID/instances/my-target-instance

בקטע diffs מודגשים ההבדלים בין מופעי המקור והיעד במאפיינים כמו:

  • ‫database_version: גרסת המנוע של מסד הנתונים במופעים הכחולים לעומת המופעים הירוקים.
  • ‫settings/tier: סוג המכונה (vCPU וזיכרון) שהוקצה למופע.
  • ‫edition: מהדורת Cloud SQL (מהדורת Cloud SQL Enterprise או מהדורת Cloud SQL Enterprise Plus).
  • ‫availability_type: הגדרת זמינות גבוהה (HA) (ZONAL או REGIONAL).
  • ‫settings/data_disk_size_gb: נפח האחסון בגיגה-בייט.
  • ‫settings/data_disk_type: סוג האחסון (PD_SSD).

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

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

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

gcloud sql connect TARGET_INSTANCE_NAME --user=DB_USER

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

  • ‫TARGET_INSTANCE_NAME: השם של מכונת היעד הירוקה.
  • ‫DB_USER: שם המשתמש במסד הנתונים.

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

  • מריצים בדיקות שילוב: מוודאים ששאילתות של אפליקציות ופרוצדורות מאוחסנות פועלות ללא שגיאות במופע הירוק.
  • בדיקת יומני שגיאות: בודקים את יומני השגיאות של מסד הנתונים ב-Cloud Logging וב-Cloud SQL כדי לראות אם יש אזהרות לגבי תחביר שיצא משימוש או שגיאות לא צפויות במנוע.
  • בדיקת נתוני הביצועים: מעקב אחרי מדדי CPU, זיכרון וקלט/פלט במופע הירוק כדי לוודא שהביצועים עומדים ביעדי רמת השירות (SLO) התפעוליים.

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