במאמר הזה נסביר איך לפרט ולתאר פריסות 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.getcloudsql.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) של גרסאות מסד הנתונים, רמות המכונה, הגדרות האחסון והגדרות הזמינות הגבוהה בין המופעים הכחולים והירוקים.
רשימת פריסות כחול-ירוק
כדי להציג רשימה של פריסות כחול-ירוק בפרויקט:
המסוף
-
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
- ברשימת המופעים, בודקים את העמודה 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
תאר את הפריסה כחול-ירוק
כדי לבדוק את סטטוס הפריסה ולקבל את פרטי החיבור של המופע הירוק, מתארים את הפריסה:
המסוף
-
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
- כדי לפתוח את הדף סקירת הפריסה, מבצעים אחת מהפעולות הבאות:
- בעמודה Blue green deployment ID (מזהה פריסה של Blue/Green), לוחצים על מזהה הפריסה.
- לוחצים על שם המופע כדי לפתוח את הדף סקירה כללית, ואז בכרטיס סטטוס הפריסה של Blue Green לוחצים על פרטים.
- בדף סקירת הפריסה, בודקים את הכרטיס פרטי הפריסה כדי לראות את הסטטוס של הפריסה, מופע המקור, מופע היעד, נקודת הקצה של מופע היעד וגרסת היעד. בודקים גם את הכרטיס התקדמות הפריסה כדי לראות את הסטטוס של המשימות.
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:
המסוף
-
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
- כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
- בכרטיס Blue Green Deployment Status (סטטוס הפריסה של Blue Green), לוחצים על Details (פרטים) כדי לפתוח את הדף Deployment overview (סקירה כללית של הפריסה).
- בכרטיס פרטי הפריסה, לוחצים על הצגת ההבדלים בהגדרות.
- בתיבת הדו-שיח 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) התפעוליים.
המאמרים הבאים
- אם האימות מצליח והמופע הירוק עומד בכל הקריטריונים הפונקציונליים והביצועיים, ממשיכים אל העברה של פריסת כחול-ירוק.
- אם מזהים בעיות במהלך האימות, אפשר למחוק בבטחה את הפריסה הכחולה-ירוקה בלי להשפיע על הסביבה הכחולה הפעילה.