בדף הזה מוסבר איך להגדיר מכונה לזמינות גבוהה.
אפשר להגדיר מכונה לזמינות גבוהה כשיוצרים אותה, או להפעיל זמינות גבוהה במכונה קיימת.
מידע נוסף על זמינות גבוהה מופיע במאמר סקירה כללית של הגדרת זמינות גבוהה.
ההגדרה הקודמת לזמינות גבוהה השתמשה במכונה שלfailover replica. ההגדרה החדשה לא משתמשת ב-failover replica.
במקום זאת, הוא משתמש בדיסקי אחסון מתמידים אזוריים של Google, שמשכפלים נתונים באופן סינכרוני ברמת הבלוק בין שני אזורים באותו מחוז. אם יש לכם מכונה קיימת של MySQL שמשתמשת בהגדרת הזמינות הגבוהה הקודמת, אתם יכולים לעדכן את ההגדרה כדי להשתמש בגרסה הנוכחית.
במאמר הגדרת זמינות גבוהה בגרסה הקודמת מפורטים תהליכים אחרים שקשורים להגדרת זמינות גבוהה בגרסה הקודמת.
יצירת מכונה חדשה שמוגדרת לזמינות גבוהה
כשיוצרים מכונה ומגדירים אותה לזמינות גבוהה, Cloud SQL יוצר אותה כמכונה אזורית.
כדי ליצור מכונה שמוגדרת לזמינות גבוהה:
המסוף
-
נכנסים לדף Cloud SQL Instances במסוף Cloud de Confiance .
- לוחצים על Create instance.
- בוחרים את המנוע של מסד הנתונים.
- בקטע Choose region and zonal availability, בוחרים באפשרות Multiple zones (עם זמינות גבוהה).
- מרחיבים את הקטע Specify zones.
- בוחרים את האזורים הראשיים והמשניים. התנאים הבאים חלים כשמשתמשים באזור המשני במהלך יצירה או עריכה של מכונה:
- כברירת מחדל, התחום הראשי הוא
Anyוהתחום המשני הואAny (different from primary).
אם מציינים גם את האזור הראשי וגם את האזור המשני, הם חייבים להיות אזורים שונים.
- כברירת מחדל, התחום הראשי הוא
- לוחצים על Save.
המערכת תחזיר אתכם לדף המכונה של המכונה הראשית בזמן שהמכונה מתעדכנת.
gcloud
- יוצרים את המכונה האזורית:
רשימה מלאה של הפרמטרים האפשריים מופיעה בדף העזר בנושא gcloud sql instances create.gcloud sql instances create REGIONAL_INSTANCE_NAME \ --availability-type=REGIONAL \ --database-version=DATABASE_VERSION \ --tier=MACHINE_TYPE \ --enable-bin-log
-
אפשר לציין גם את האזור הראשי וגם את האזור המשני באמצעות הפרמטרים
--zoneו---secondary-zone. ההגבלות הבאות חלות כשמשתמשים באזור המשני במהלך יצירה או עריכה של מכונה:- האזורים חייבים להיות אזורים תקינים.
- אם מציינים את האזור המשני, צריך לציין גם את האזור הראשי.
- אם מציינים את האזורים הראשי והמשני, הם חייבים להיות שונים.
- אם מציינים את האזור הראשי והמשני, הם חייבים להיות באותו אזור.
- מגדירים את משתמש ה-root:
gcloud sql users set-password root --host=% \ --instance=PRIMARY_INSTANCE_NAME \ --password=PASSWORD
Terraform
כדי ליצור מכונה עם זמינות גבוהה, משתמשים במשאב של Terraform.
החלה של השינויים
כך מחילים את ההגדרות של Terraform בפרויקט ב- Cloud de Confiance :
הכנת Cloud Shell
- מפעילים את Cloud Shell.
-
מגדירים את פרויקט ברירת המחדל ב- Cloud de Confiance שבו רוצים להחיל את ההגדרות של Terraform.
תצטרכו להריץ את הפקודה הזו רק פעם אחת לכל פרויקט, ותוכלו לעשות זאת בכל ספרייה.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
אם תגדירו ערכים ספציפיים בקובץ התצורה של Terraform, הם יבטלו את ערכי ברירת המחדל של משתני הסביבה.
הכנת הספרייה
לכל קובץ תצורה של Terraform צריכה להיות ספרייה משלו (שנקראת גם מודול ברמה הבסיסית).
-
יוצרים ספרייה חדשה ב-Cloud Shell ובה יוצרים קובץ חדש. שם הקובץ חייב לכלול את הסיומת
.tf, למשלmain.tf. במדריך הזה, הקובץ נקראmain.tf.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
אם אתם עוקבים אחרי המדריך, תוכלו להעתיק את הקוד לדוגמה בכל קטע או שלב.
מעתיקים את הקוד לדוגמה בקובץ
main.tfהחדש שיצרתם.לחלופין, אפשר גם להעתיק את הקוד מ-GitHub. כדאי לעשות את זה כשקטע הקוד של Terraform הוא חלק מפתרון מקצה לקצה.
- בודקים את הפרמטרים לדוגמה ומשנים אותם בהתאם לסביבה שלכם.
- שומרים את השינויים.
-
מפעילים את Terraform. צריך לעשות זאת רק פעם אחת לכל ספרייה.
terraform init
אופציונלי: תוכלו לכלול את האפשרות
-upgrade, כדי להשתמש בגרסה העדכנית ביותר של הספק של Google:terraform init -upgrade
החלה של השינויים
-
בודקים את ההגדרות ומוודאים שהמשאבים שמערכת Terraform תיצור או תעדכן תואמים לציפיות שלכם:
terraform plan
מתקנים את ההגדרות לפי הצורך.
-
מריצים את הפקודה הבאה ומזינים
yesבהודעה שמופיעה, כדי להחיל את הגדרות Terraform:terraform apply
ממתינים עד שב-Terraform תוצג ההודעה "Apply complete!".
- פותחים את הפרויקט ב- Cloud de Confiance כדי להציג את התוצאות. במסוף Cloud de Confiance , נכנסים למשאבים בממשק המשתמש כדי לוודא שהם נוצרו או עודכנו ב-Terraform.
למחוק את השינויים
כדי למחוק את השינויים:
- כדי להשבית את ההגנה מפני מחיקה, בקובץ התצורה של Terraform מגדירים את הארגומנט
deletion_protectionלערךfalse.deletion_protection = "false"
- מריצים את הפקודה הבאה ומזינים
yesבהודעה שמופיעה, כדי להחיל את הגדרות Terraform המעודכנות:terraform apply
-
כדי להסיר משאבים שהוחלו בעבר על הגדרות Terraform, מריצים את הפקודה הבאה ומזינים
yesבהודעה שמופיעה:terraform destroy
REST v1
הרשימה המלאה של הפרמטרים לבקשה מופיעה בדף instances:insert.יוצרים את המכונה האזורית.
-
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- project-id: מזהה הפרויקט
- instance-name: שם המכונה
- database-version: מחרוזת ה-enum של גרסת מסד הנתונים
- region האזור ב-GCP
- machine-type סוג המכונה
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances
תוכן בקשת JSON:
{ "name": "instance-name", "region": "region", "databaseVersion": "database-version", "settings": { "tier": "machine-type", "backupConfiguration": { "binaryLogEnabled": true, "enabled": true }, "availabilityType": "REGIONAL" } }כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
- כשהמכונה מסיימת את תהליך האתחול, מעדכנים את סיסמת הבסיס במכונה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- project-id: מזהה הפרויקט
- instance-id: מזהה המכונה
- password: הסיסמה החדשה של משתמש Root
ה-method של ה-HTTP וכתובת ה-URL:
PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/users?name=root&host=%25'
תוכן בקשת JSON:
{ "name": "root", "host": "%", "password": "password"}כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אמורים לקבל קוד סטטוס של הצלחה (2xx) ותגובה ריקה.
REST v1beta4
הרשימה המלאה של הפרמטרים לבקשה מופיעה בדף instances:insert.יוצרים את המכונה האזורית.
-
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- project-id: מזהה הפרויקט
- instance-name: שם המכונה
- database-version: מחרוזת ה-enum של גרסת מסד הנתונים
- region האזור ב-GCP
- machine-type סוג המכונה
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances
תוכן בקשת JSON:
{ "name": "instance-name", "region": "region", "databaseVersion": "database-version", "settings": { "tier": "machine-type", "backupConfiguration": { "binaryLogEnabled": true, "enabled": true }, "availabilityType": "REGIONAL" } }כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
- כשהמכונה מסיימת את תהליך האתחול, מעדכנים את סיסמת הבסיס במכונה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- project-id: מזהה הפרויקט
- instance-id: מזהה המכונה
- password: הסיסמה החדשה של משתמש Root
ה-method של ה-HTTP וכתובת ה-URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users?name=root&host=%25'
תוכן בקשת JSON:
{ "name": "root", "host": "%", "password": "password"}כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אמורים לקבל קוד סטטוס של הצלחה (2xx) ותגובה ריקה.
לפרטים נוספים על יצירת מכונה, ראו יצירת מכונות.
הגדרת מכונה קיימת לזמינות גבוהה
אפשר להגדיר מכונה של Cloud SQL לזמינות גבוהה באמצעות מסוף Cloud de Confiance , ה-CLI של gcloud או ה-API.
המסוף
כדי להגדיר מכונה לזמינות גבוהה:
-
נכנסים לדף Cloud SQL Instances במסוף Cloud de Confiance .
- כדי לפתוח את הדף Overview של מכונה, לוחצים על שם המכונה.
- לוחצים על Edit.
- בקטע Choose region and zonal availability, בוחרים באפשרות Multiple zones (עם זמינות גבוהה).
- מרחיבים את הקטע Specify zones.
- בוחרים את האזורים הראשיים והמשניים. התנאים הבאים חלים כשמשתמשים באזור המשני בזמן שיוצרים או עורכים מכונה:
- כברירת מחדל, התחום הראשי הוא
Anyוהתחום המשני הואAny (different from primary).
אם מציינים גם את האזור הראשי וגם את האזור המשני, הם חייבים להיות אזורים שונים.
- כברירת מחדל, התחום הראשי הוא
- לוחצים על Save.
gcloud
כדי להגדיר מכונה אזורית עם זמינות גבוהה, משתמשים בפקודה gcloud sql instances patch:
gcloud sql instances patch INSTANCE_NAME \ --availability-type REGIONAL \ --enable-bin-log \ --backup-start-time=HH:MM
מחליפים את הפרטים הבאים:
- INSTANCE_NAME: השם של מכונת Cloud SQL שאתם מגדירים לזמינות גבוהה
- HH:MM: השעה (בשעות ובדקות)
REST v1
כדי להגדיר מכונה אזורית עם זמינות גבוהה:
בודקים אם במכונה מופעלים גיבויים אוטומטיים ויומנים בינאריים. הם נדרשים למכונות עם זמינות גבוהה.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט של הפרויקט ב- Cloud de Confiance שמכיל את המכונה
- INSTANCE_NAME: השם של המכונה שאתם מגדירים לזמינות גבוהה
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{ "kind": "sql#instance", "state": "RUNNABLE", "databaseVersion": "MYSQL_8_0" }הפלט מכיל קטע שדומה לזה:
"backupConfiguration": { "kind": "sql#backupConfiguration", "startTime": "12:00", "enabled": true, "binaryLogEnabled": true }אם
enabledאוbinaryLogEnabledהםfalse, צריך להשתמש ב-instances:patchכדי להפעיל את שניהם. כדי להפעיל גיבויים, מגדירים אתenabledל-trueואתstartTimeלערך שמציין את תחילת חלון הגיבוי. כדי להפעיל את הרישום ביומן הבינארי, מגדירים אתbinaryLogEnabledלערךtrue.לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט של הפרויקט ב- Cloud de Confiance שמכיל את המכונה
- INSTANCE_NAME: השם של המכונה הראשית או של מכונת הרפליקה לקריאה בלבד שאתם מגדירים לזמינות גבוהה
- START_TIME: השעה (בשעות ובדקות)
ה-method של ה-HTTP וכתובת ה-URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME
תוכן בקשת JSON:
{ "settings": { "backupConfiguration": { "startTime": "START_TIME", "enabled": true, "binaryLogEnabled": true } } }כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
מגדירים את המכונה כמכונה אזורית עם זמינות גבוהה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט של הפרויקט ב- Cloud de Confiance שמכיל את המכונה
- INSTANCE_NAME: השם של המכונה שאתם מגדירים לזמינות גבוהה
ה-method של ה-HTTP וכתובת ה-URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME
תוכן בקשת JSON:
{ "settings": {"availabilityType": "REGIONAL" } }כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אמורים לקבל קוד סטטוס של הצלחה (2xx) ותגובה ריקה.
REST v1beta4
כדי להגדיר מכונה אזורית עם זמינות גבוהה:
בודקים אם במכונה מופעלים גיבויים אוטומטיים ויומנים בינאריים. הם נדרשים למכונות עם זמינות גבוהה.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט של הפרויקט ב- Cloud de Confiance שמכיל את המכונה
- INSTANCE_NAME: השם של המכונה שאתם מגדירים לזמינות גבוהה
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{ "kind": "sql#instance", "state": "RUNNABLE", "databaseVersion": "MYSQL_8_0" }הפלט מכיל קטע שדומה לזה:
"backupConfiguration": { "kind": "sql#backupConfiguration", "startTime": "12:00", "enabled": true, "binaryLogEnabled": true }אם
enabledאוbinaryLogEnabledהםfalse, צריך להשתמש ב-instances:patchכדי להפעיל את שניהם. כדי להפעיל גיבויים, מגדירים אתenabledל-trueואתstartTimeלערך שמציין את תחילת חלון הגיבוי. כדי להפעיל את הרישום ביומן הבינארי, מגדירים אתbinaryLogEnabledלערךtrue.לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט של הפרויקט ב- Cloud de Confiance שמכיל את המכונה
- INSTANCE_NAME: השם של המכונה הראשית או של מכונת הרפליקה לקריאה בלבד שאתם מגדירים לזמינות גבוהה
- START_TIME: השעה (בשעות ובדקות)
ה-method של ה-HTTP וכתובת ה-URL:
PATCH https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME
תוכן בקשת JSON:
{ "settings": { "backupConfiguration": { "startTime": "START_TIME", "enabled": true, "binaryLogEnabled": true } } }כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
מגדירים את המכונה כמכונה אזורית עם זמינות גבוהה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט של הפרויקט ב- Cloud de Confiance שמכיל את המכונה
- INSTANCE_NAME: השם של המכונה שאתם מגדירים לזמינות גבוהה
ה-method של ה-HTTP וכתובת ה-URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME
תוכן בקשת JSON:
{ "settings": {"availabilityType": "REGIONAL" } }כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אמורים לקבל קוד סטטוס של הצלחה (2xx) ותגובה ריקה.
הפעלת יתירות כשל
בדיקת יתירות כשל היא אופציונלית, אבל מומלצת כדי שתוכלו לראות איך האפליקציה מגיבה במקרה של יתירות כשל.
מידע נוסף על יתירות כשל זמין בסקירה הכללית על יתירות כשל.
המסוף
-
נכנסים לדף Cloud SQL Instances במסוף Cloud de Confiance .
- כדי לפתוח את הדף Overview של מכונה, לוחצים על שם המכונה.
- לוחצים על Failover.
- בתיבת הדו-שיח Manually trigger a failover, מזינים את מזהה המכונה בשדה הטקסט ולוחצים על Trigger Failover.
gcloud
מתחילים את יתירות הכשל:
gcloud sql instances failover PRIMARY_INSTANCE_NAME
REST v1
- מתארים את המופע הראשי כדי לקבל את הערך של השדה
settingsVersion.לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט של הפרויקט ב- Cloud de Confiance שמכיל את המכונה
- INSTANCE_NAME: השם של המכונה שאתם מגדירים לזמינות גבוהה
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{ "kind": "sql#instance", "state": "RUNNABLE", "databaseVersion": "MYSQL_8_0" } - מתחילים את יתירות הכשל:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- project-id: מזהה הפרויקט
- instance-name: שם המכונה
- settings-version: הערך של settingsVersion מ-instanceInfo
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-name/failover
תוכן בקשת JSON:
{ "failoverContext": { "settingsVersion":"settings-version" } }כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
REST v1beta4
- מתארים את המופע הראשי כדי לקבל את הערך של השדה
settingsVersion.לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט של הפרויקט ב- Cloud de Confiance שמכיל את המכונה
- INSTANCE_NAME: השם של המכונה שאתם מגדירים לזמינות גבוהה
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{ "kind": "sql#instance", "state": "RUNNABLE", "databaseVersion": "MYSQL_8_0" } - מתחילים את יתירות הכשל:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- project-id: מזהה הפרויקט
- instance-name: שם המכונה
- settings-version: הערך של settingsVersion מ-instanceInfo
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-name/failover
תוכן בקשת JSON:
{ "failoverContext": { "settingsVersion":"settings-version" } }כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
המופע עובר למצב של מעבר לגיבוי בעת כשל, והוא לא זמין להצגת נתונים למשך כמה דקות.
אימות ההגדרה של זמינות גבוהה במכונה
כדי לוודא שלמכונה יש זמינות גבוהה ולראות את האזורים שבהם היא פועלת:
המסוף
-
נכנסים לדף Cloud SQL Instances במסוף Cloud de Confiance .
- כדי לפתוח את הדף Overview של מכונה, לוחצים על שם המכונה.
- מוודאים שההגדרות הבאות של זמינות גבוהה מוצגות בקטע Configuration:
- זמינות גבוהה (אזורית)
- בשדה Located in מוצג האזור הראשי הנוכחי של המכונה.
gcloud
gcloud sql instances describe INSTANCE_NAME
הפלט מציין שהערך של availabilityType הוא REGIONAL.
בשדות gceZone ו-secondaryGceZone מוצגים האזורים הראשי והמשני הנוכחיים של המכונה.
REST v1
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט של הפרויקט ב- Cloud de Confiance שמכיל את המכונה
- INSTANCE_NAME: השם של המכונה שאתם מגדירים לזמינות גבוהה
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#instance",
"state": "RUNNABLE",
"databaseVersion": "MYSQL_8_0"
}
הפלט מציין שהערך של availabilityType הוא REGIONAL.
בשדות gceZone ו-secondaryGceZone מוצגים האזורים הראשי והמשני הנוכחיים של המכונה.
REST v1beta4
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט של הפרויקט ב- Cloud de Confiance שמכיל את המכונה
- INSTANCE_NAME: השם של המכונה שאתם מגדירים לזמינות גבוהה
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#instance",
"state": "RUNNABLE",
"databaseVersion": "MYSQL_8_0"
}
הפלט מציין שהערך של availabilityType הוא REGIONAL.
בשדות gceZone ו-secondaryGceZone מוצגים האזורים הראשי והמשני הנוכחיים של המכונה.
שינוי האזורים של מכונה בזמינות גבוהה
אם משנים אזור אחד או את שני האזורים של מכונה קיימת בזמינות גבוהה, המכונה תושבת למשך כמה דקות בזמן שהיא מוגדרת מחדש. כדי לראות את האזורים הראשיים והמשניים הנוכחיים שבהם פועל המכונה עם הזמינות הגבוהה, עיינו במאמר אימות הגדרת הזמינות הגבוהה של מכונה.
כדי לשנות את האזורים של מכונה עם זמינות גבוהה:
המסוף
-
נכנסים לדף Cloud SQL Instances במסוף Cloud de Confiance .
- כדי לפתוח את הדף Overview של מכונה, לוחצים על שם המכונה.
- לוחצים על Edit.
- בקטע Choose region and zonal availability, מרחיבים את Specify zones ובוחרים אזורים חדשים. כברירת מחדל, התחומים הם
Anyלתחום הראשי ו-Any (different from primary)לתחום המשני. ההגבלות הבאות חלות:- אפשר לציין רק את האזור הראשי, או גם את האזור הראשי וגם את האזור המשני.
- אם מציינים גם את האזור הראשי וגם את האזור המשני, הם חייבים להיות אזורים שונים.
- לוחצים על Save.
המערכת תחזיר אתכם לדף המכונה של המכונה הראשית בזמן שהמכונה מתעדכנת.
gcloud
משנים את האזור שבו המכונה פועלת:
gcloud sql instances patch INSTANCE_NAME \ --zone=PRIMARY_ZONE --secondary-zone=SECONDARY_ZONE
הפרמטר --secondary-zone הוא אופציונלי. אם לא תציינו אזור, Cloud SQL יבחר אזור זמין שונה מהאזור הראשי.
ההגבלות הבאות חלות:
- האזורים חייבים להיות אזורים תקינים ששייכים לאותו אזור כמו המכונה של Cloud SQL.
- אם מציינים אזור משני, הוא צריך להיות שונה מהאזור הראשי.
REST v1
משנים את האזורים של המכונה האזורית:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט
- INSTANCE_NAME: שם המכונה
- PRIMARY_ZONE: האזור הראשי
- SECONDARY_ZONE: האזור המשני
ה-method של ה-HTTP וכתובת ה-URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME
תוכן בקשת JSON:
{ "settings": {"locationPreference": {"zone": "PRIMARY_ZONE", "secondaryZone": "SECONDARY_ZONE"}} }כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אמורים לקבל קוד סטטוס של הצלחה (2xx) ותגובה ריקה.
הפרמטר
secondaryZoneהוא אופציונלי. אם לא תציינו אזור, Cloud SQL יבחר אזור זמין שונה מהאזור הראשי.ההגבלות הבאות חלות:
- האזורים חייבים להיות אזורים תקינים.
- כל האזורים שתבחרו חייבים להיות באותו אזור של מכונת Cloud SQL.
REST v1beta4
משנים את האזורים של המכונה האזורית:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט
- INSTANCE_NAME: שם המכונה
- PRIMARY_ZONE: האזור הראשי
- SECONDARY_ZONE: האזור המשני
ה-method של ה-HTTP וכתובת ה-URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME
תוכן בקשת JSON:
{ "settings": {"locationPreference": {"zone": "PRIMARY_ZONE", "secondaryZone": "SECONDARY_ZONE"}} }כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אמורים לקבל קוד סטטוס של הצלחה (2xx) ותגובה ריקה.
הפרמטר
secondaryZoneהוא אופציונלי. אם לא תציינו אזור, Cloud SQL יבחר אזור זמין שונה מהאזור הראשי.ההגבלות הבאות חלות:
- האזורים חייבים להיות אזורים תקינים.
- כל האזורים שתבחרו חייבים להיות באותו אזור של מכונת Cloud SQL.
השבתת הזמינות הגבוהה במכונה
אפשר להשבית את הזמינות הגבוהה במכונה של Cloud SQL באמצעות מסוף Cloud de Confiance , ה-CLI של gcloud או ה-API.
אם משביתים את הזמינות הגבוהה של מכונה, במקרה של הפסקה זמנית בשירות באזור, צריך לשחזר את המכונה באופן ידני. מידע נוסף זמין במאמר אפשרויות שחזור למכונות עצמאיות.
המסוף
כדי להשבית את הזמינות הגבוהה במכונה:
-
נכנסים לדף Cloud SQL Instances במסוף Cloud de Confiance .
- כדי לפתוח את הדף Overview של מכונה, לוחצים על שם המכונה.
- לוחצים על Edit.
- פותחים את גיבויים אוטומטיים.
- בקטע Availability, לוחצים על Single zone.
- לוחצים על Save. כדי שהעריכה הזו תיכנס לתוקף, צריך להפעיל מחדש את המכונה.
- כשתיבת הדו-שיח מופיעה, לוחצים על שמירה והפעלה מחדש.
gcloud
כדי להשבית את הזמינות הגבוהה של מכונה, משתמשים בפקודה gcloud sql instances patch:
gcloud sql instances patch INSTANCE_NAME \ --availability-type ZONAL
מחליפים את INSTANCE_NAME בשם של מכונת Cloud SQL שרוצים להשבית בה את הזמינות הגבוהה.
REST v1
כדי לשנות את סוג הזמינות של המכונה ל-ZONAL, משתמשים ב-method instances:patch. השיטה הזו משביתה את הזמינות הגבוהה של המכונה.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט של הפרויקט ב- Cloud de Confiance שמכיל את המכונה
- INSTANCE_NAME: שם המכונה שבה משביתים את הזמינות הגבוהה
ה-method של ה-HTTP וכתובת ה-URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME
תוכן בקשת JSON:
{
"settings": {"availabilityType": "ZONAL" }
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אמורים לקבל קוד סטטוס של הצלחה (2xx) ותגובה ריקה.
REST v1beta4
כדי לשנות את סוג הזמינות של המכונה ל-ZONAL, משתמשים ב-method instances:patch. השיטה הזו משביתה את הזמינות הגבוהה של המכונה.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט של הפרויקט ב- Cloud de Confiance שמכיל את המכונה
- INSTANCE_NAME: שם המכונה שבה משביתים את הזמינות הגבוהה
ה-method של ה-HTTP וכתובת ה-URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME
תוכן בקשת JSON:
{
"settings": {"availabilityType": "ZONAL" }
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אמורים לקבל קוד סטטוס של הצלחה (2xx) ותגובה ריקה.
פתרון בעיות
| שגיאה | פתרון בעיות |
|---|---|
| אתם לא מצליחים למצוא את המדדים של יתירות כשל ידנית. | רק מעברים אוטומטיים לגיבוי נכללים במדדים. |
| המשאבים של מכונת Cloud SQL (מעבד ו-RAM) קרובים ל-100% שימוש, ולכן המכונה עם הזמינות הגבוהה מושבתת. | גודל המכונה של המכונה קטן מדי לעומס.
עורכים את המכונה כדי לשדרג למכונה גדולה יותר עם יותר מעבדי CPU וזיכרון. |
המאמרים הבאים
- מידע נוסף על אופן הפעולה של הגדרת הזמינות הגבוהה
- כדי לבדוק איך האפליקציה מגיבה לניתוקים, מפעילים מחדש את המכונה.
- מידע נוסף על ניהול החיבורים למסד הנתונים
- מידע נוסף על Google Cloud Observability
- מידע נוסף על הגדרה מדור קודם לזמינות גבוהה
- יצירת רפליקות לקריאה למכונה.