הפעלה והשבתה של זמינות גבוהה

בדף הזה מוסבר איך להגדיר מכונה לזמינות גבוהה.

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

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

יצירת מכונה חדשה שמוגדרת לזמינות גבוהה

כשיוצרים מכונה ומגדירים אותה לזמינות גבוהה, Cloud SQL יוצר אותה כמכונה אזורית.

כדי ליצור מכונה שמוגדרת לזמינות גבוהה:

המסוף

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

    כניסה לדף Cloud SQL Instances

  2. לוחצים על Create instance.
  3. בוחרים את המנוע של מסד הנתונים.
  4. בקטע Choose region and zonal availability, בוחרים באפשרות Multiple zones (עם זמינות גבוהה).
  5. מרחיבים את הקטע Specify zones.
  6. בוחרים את האזורים הראשיים והמשניים. התנאים הבאים חלים כשמשתמשים באזור המשני במהלך יצירה או עריכה של מכונה:
    • כברירת מחדל, התחום הראשי הוא Any והתחום המשני הוא Any (different from primary).
    • אם מציינים גם את האזור הראשי וגם את האזור המשני, הם חייבים להיות אזורים שונים.

  7. לוחצים על Save.

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

gcloud

  1. יוצרים את המכונה האזורית:
    gcloud sql instances create REGIONAL_INSTANCE_NAME \
    --availability-type=REGIONAL \
    --database-version=DATABASE_VERSION \
    --cpu=NUMBER_CPUS \
    --memory=MEMORY_SIZE
    רשימה מלאה של הפרמטרים הזמינים מופיעה בדף העזר gcloud sql instances create.
  2. מגדירים את משתמש ה-root:
    gcloud sql users set-password root no-host \
    --instance=REGIONAL_INSTANCE_NAME \
    --password=PASSWORD

Terraform

כדי ליצור מכונה עם זמינות גבוהה, משתמשים במשאב של Terraform.

resource "google_sql_database_instance" "postgres_instance_ha" {
  name             = "postgres-instance-ha"
  region           = "us-central1"
  database_version = "POSTGRES_14"
  settings {
    tier              = "db-custom-2-7680"
    availability_type = "REGIONAL"
    backup_configuration {
      enabled                        = true
      point_in_time_recovery_enabled = true
      start_time                     = "20:55"
    }
  }
  # set `deletion_protection` to true, will ensure that one cannot accidentally delete this instance by
  # use of Terraform whereas `deletion_protection_enabled` flag protects this instance at the GCP level.
  deletion_protection = false
}

החלה של השינויים

כך מחילים את ההגדרות של Terraform בפרויקט ב- Cloud de Confiance :

הכנת Cloud Shell

  1. מפעילים את Cloud Shell.
  2. מגדירים את פרויקט ברירת המחדל ב- Cloud de Confiance שבו רוצים להחיל את ההגדרות של Terraform.

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

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

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

הכנת הספרייה

לכל קובץ תצורה של Terraform צריכה להיות ספרייה משלו (שנקראת גם מודול ברמה הבסיסית).

  1. יוצרים ספרייה חדשה ב-Cloud Shell ובה יוצרים קובץ חדש. שם הקובץ חייב לכלול את הסיומת .tf, למשל main.tf. במדריך הזה, הקובץ נקרא main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. אם אתם עוקבים אחרי המדריך, תוכלו להעתיק את הקוד לדוגמה בכל קטע או שלב.

    מעתיקים את הקוד לדוגמה בקובץ main.tf החדש שיצרתם.

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

  3. בודקים את הפרמטרים לדוגמה ומשנים אותם בהתאם לסביבה שלכם.
  4. שומרים את השינויים.
  5. מפעילים את Terraform. צריך לעשות זאת רק פעם אחת לכל ספרייה.
    terraform init

    אופציונלי: תוכלו לכלול את האפשרות -upgrade, כדי להשתמש בגרסה העדכנית ביותר של הספק של Google:

    terraform init -upgrade

החלה של השינויים

  1. בודקים את ההגדרות ומוודאים שהמשאבים שמערכת Terraform תיצור או תעדכן תואמים לציפיות שלכם:
    terraform plan

    מתקנים את ההגדרות לפי הצורך.

  2. מריצים את הפקודה הבאה ומזינים yes בהודעה שמופיעה, כדי להחיל את הגדרות Terraform:
    terraform apply

    ממתינים עד שב-Terraform תוצג ההודעה "Apply complete!‎".

  3. פותחים את הפרויקט ב- Cloud de Confiance כדי להציג את התוצאות. במסוף Cloud de Confiance , נכנסים למשאבים בממשק המשתמש כדי לוודא שהם נוצרו או עודכנו ב-Terraform.

למחוק את השינויים

כדי למחוק את השינויים:

  1. כדי להשבית את ההגנה מפני מחיקה, בקובץ התצורה של Terraform מגדירים את הארגומנט deletion_protection לערך false.
    deletion_protection =  "false"
  2. מריצים את הפקודה הבאה ומזינים yes בהודעה שמופיעה, כדי להחיל את הגדרות Terraform המעודכנות:
    terraform apply
  1. כדי להסיר משאבים שהוחלו בעבר על הגדרות Terraform, מריצים את הפקודה הבאה ומזינים yes בהודעה שמופיעה:

    terraform destroy

REST v1

הרשימה המלאה של הפרמטרים לבקשה מופיעה בדף instances:insert.

יוצרים את המכונה האזורית.

  1. לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • ‫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": {
             "enabled": true,
             "pointInTimeRecoveryEnabled": true
          },
          "availabilityType": "REGIONAL"
       }
    }
    

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

    אתם אמורים לקבל תגובת JSON שדומה לזו:

  2. כשהמכונה מסיימת את תהליך האתחול, מעדכנים את סיסמת הבסיס במכונה:

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • ‫project-id: מזהה הפרויקט
    • ‫instance-id: מזהה המכונה
    • ‫password: הסיסמה החדשה של משתמש Root

    ה-method של ה-HTTP וכתובת ה-URL:

    PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/users?host=%25&name=postgres'

    תוכן בקשת JSON:

    {
       "name": "postgres",
       "host": "nohost",
       "password": "password"}
    

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

    אמורים לקבל קוד סטטוס של הצלחה (2xx) ותגובה ריקה.

‫REST v1beta4

הרשימה המלאה של הפרמטרים לבקשה מופיעה בדף instances:insert.

יוצרים את המכונה האזורית.

  1. לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • ‫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": {
             "enabled": true,
             "pointInTimeRecoveryEnabled": true
          },
          "availabilityType": "REGIONAL"
       }
    }
    

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

    אתם אמורים לקבל תגובת JSON שדומה לזו:

  2. כשהמכונה מסיימת את תהליך האתחול, מעדכנים את סיסמת הבסיס במכונה:

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • ‫project-id: מזהה הפרויקט
    • ‫instance-id: מזהה המכונה
    • ‫password: הסיסמה החדשה של משתמש Root

    ה-method של ה-HTTP וכתובת ה-URL:

    PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users?host=%25&name=postgres'

    תוכן בקשת JSON:

    {
       "name": "postgres",
       "host": "nohost",
       "password": "password"}
    

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

    אמורים לקבל קוד סטטוס של הצלחה (2xx) ותגובה ריקה.

לפרטים נוספים על יצירת מכונה, ראו יצירת מכונות.

הגדרת מכונה קיימת לזמינות גבוהה

אפשר להגדיר מכונה של Cloud SQL לזמינות גבוהה באמצעות מסוף Cloud de Confiance , ה-CLI של gcloud או ה-API.

המסוף

כדי להגדיר מכונה לזמינות גבוהה:

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

    כניסה לדף Cloud SQL Instances

  2. כדי לפתוח את הדף Overview של מכונה, לוחצים על שם המכונה.
  3. לוחצים על Edit.
  4. בקטע גיבויים אוטומטיים וזמינות גבוהה, בוחרים באפשרות זמינות גבוהה (אזורית). מומלץ גם להפעיל את האפשרות Automate backups.
  5. לוחצים על Save.

gcloud

כדי להגדיר מכונה אזורית עם זמינות גבוהה, משתמשים בפקודה gcloud sql instances patch:

gcloud sql instances patch INSTANCE_NAME \
--availability-type REGIONAL

מחליפים את INSTANCE_NAME בשם של מכונת Cloud SQL שרוצים להגדיר לזמינות גבוהה.

REST v1

כדי להגדיר מכונה אזורית עם זמינות גבוהה:

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

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • ‫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": "POSTGRES_13"
    }
    

    הפלט מכיל קטע שדומה לזה:

      "backupConfiguration": {
        "kind": "sql#backupConfiguration",
        "startTime": "12:00",
        "enabled": true,
        "pointInTimeRecoveryEnabled": true
        }
      
  2. אם enabled או pointInTimeRecoveryEnabled הם false, צריך להשתמש ב-instances:patch כדי להפעיל את שניהם. כדי להפעיל גיבויים, מגדירים את enabled ל-true ואת startTime לערך שמציין את תחילת חלון הגיבוי. כדי להפעיל את הרישום ביומן הבינארי, מגדירים את pointInTimeRecoveryEnabled לערך 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,
          "pointInTimeRecoveryEnabled": true
        }
      }
    }
    

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

    אתם אמורים לקבל תגובת JSON שדומה לזו:

  3. מגדירים את המכונה כמכונה אזורית עם זמינות גבוהה:

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • ‫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

כדי להגדיר מכונה אזורית עם זמינות גבוהה:

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

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • ‫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": "POSTGRES_13",
    }
    

    הפלט מכיל קטע שדומה לזה:

      "backupConfiguration": {
        "kind": "sql#backupConfiguration",
        "startTime": "12:00",
        "enabled": true,
        "pointInTimeRecoveryEnabled": true
        }
      
  2. אם enabled או pointInTimeRecoveryEnabled הם false, צריך להשתמש ב-instances:patch כדי להפעיל את שניהם. כדי להפעיל גיבויים, מגדירים את enabled ל-true ואת startTime לערך שמציין את תחילת חלון הגיבוי. כדי להפעיל את הרישום ביומן הבינארי, מגדירים את pointInTimeRecoveryEnabled לערך true.

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • ‫PROJECT_ID: המזהה או מספר הפרויקט של הפרויקט ב- Cloud de Confiance שמכיל את המכונה
    • ‫INSTANCE_NAME: השם של המכונה הראשית או של מכונת הרפליקה לקריאה בלבד שאתם מגדירים לזמינות גבוהה
    • ‫START_TIME: השעה (בשעות ובדקות)

    ה-method של ה-HTTP וכתובת ה-URL:

    PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME

    תוכן בקשת JSON:

    {
      "settings":
      {
        "backupConfiguration":
        {
          "startTime": "START_TIME",
          "enabled": true,
          "pointInTimeRecoveryEnabled": true
        }
      }
    }
    

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

    אתם אמורים לקבל תגובת JSON שדומה לזו:

  3. מגדירים את המכונה כמכונה אזורית עם זמינות גבוהה:

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • ‫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) ותגובה ריקה.

הפעלת יתירות כשל

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

מידע נוסף על יתירות כשל זמין בסקירה הכללית על יתירות כשל.

המסוף

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

    כניסה לדף Cloud SQL Instances

  2. כדי לפתוח את הדף Overview של מכונה, לוחצים על שם המכונה.
  3. לוחצים על Failover.
  4. בתיבת הדו-שיח Manually trigger a failover, מזינים את מזהה המכונה בשדה הטקסט ולוחצים על Trigger Failover.

gcloud

מתחילים את יתירות הכשל:

gcloud sql instances failover PRIMARY_INSTANCE_NAME

REST v1

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

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • ‫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

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

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • ‫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 שדומה לזו:

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

אימות ההגדרה של זמינות גבוהה במכונה

כדי לוודא שלמכונה יש זמינות גבוהה ולראות את האזורים שבהם היא פועלת:

המסוף

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

    כניסה לדף Cloud SQL Instances

  2. כדי לפתוח את הדף Overview של מכונה, לוחצים על שם המכונה.
  3. מוודאים שההגדרות הבאות של זמינות גבוהה מוצגות בקטע 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": "POSTGRES_13"
}

הפלט מציין שהערך של 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": "POSTGRES_13",
}

הפלט מציין שהערך של availabilityType הוא REGIONAL. בשדות gceZone ו-secondaryGceZone מוצגים האזורים הראשי והמשני הנוכחיים של המכונה.

שינוי האזורים של מכונה בזמינות גבוהה

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

כדי לשנות את האזורים של מכונה עם זמינות גבוהה:

המסוף

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

    כניסה לדף Cloud SQL Instances

  2. כדי לפתוח את הדף Overview של מכונה, לוחצים על שם המכונה.
  3. לוחצים על Edit.
  4. בקטע Choose region and zonal availability, מרחיבים את Specify zones ובוחרים אזורים חדשים. כברירת מחדל, התחומים הם Any לתחום הראשי ו-Any (different from primary) לתחום המשני. ההגבלות הבאות חלות:
    • אפשר לציין רק את האזור הראשי, או גם את האזור הראשי וגם את האזור המשני.
    • אם מציינים גם את האזור הראשי וגם את האזור המשני, הם חייבים להיות אזורים שונים.
  5. לוחצים על Save.

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

gcloud

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

gcloud sql instances patch INSTANCE_NAME \
  --zone=PRIMARY_ZONE --secondary-zone=SECONDARY_ZONE

הפרמטר --secondary-zone הוא אופציונלי. אם לא תציינו אזור, Cloud SQL יבחר אזור זמין שונה מהאזור הראשי.

ההגבלות הבאות חלות:

  • האזורים חייבים להיות אזורים תקינים ששייכים לאותו אזור כמו המכונה של Cloud SQL.
  • אם מציינים אזור משני, הוא צריך להיות שונה מהאזור הראשי.

REST v1

  1. משנים את האזורים של המכונה האזורית:

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • ‫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

  1. משנים את האזורים של המכונה האזורית:

    לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:

    • ‫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.

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

המסוף

כדי להשבית את הזמינות הגבוהה במכונה:

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

    כניסה לדף Cloud SQL Instances

  2. כדי לפתוח את הדף Overview של מכונה, לוחצים על שם המכונה.
  3. לוחצים על Edit.
  4. פותחים את גיבויים אוטומטיים.
  5. בקטע Availability, לוחצים על Single zone.
  6. לוחצים על Save. כדי שהעריכה הזו תיכנס לתוקף, צריך להפעיל מחדש את המכונה.
  7. כשתיבת הדו-שיח מופיעה, לוחצים על שמירה והפעלה מחדש.

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 וזיכרון.

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