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

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

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

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

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

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

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

המסוף

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

    כניסה לדף Cloud SQL Instances

  2. לוחצים על Create instance.
  3. בוחרים את המנוע של מסד הנתונים.
  4. בקטע Choose region and zonal availability (בחירת אזור וזמינות אזורית), בוחרים באפשרות Multiple zones (Highly available) (מספר אזורים (זמינות גבוהה)).
  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 בפרויקט ב- Google Cloud , מבצעים את השלבים בקטעים הבאים.

הכנת Cloud Shell

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

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

    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. פותחים את Google Cloud הפרויקט כדי לראות את התוצאות. במסוף Google Cloud , נכנסים למשאבים בממשק המשתמש כדי לוודא שהם נוצרו או עודכנו ב-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 לזמינות גבוהה באמצעות מסוף Google Cloud ,‏ ה-CLI של gcloud או ה-API.

המסוף

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

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

    כניסה לדף Cloud SQL Instances

  2. כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
  3. לוחצים על Edit.
  4. בקטע Auto backups and high availability (גיבויים אוטומטיים וזמינות גבוהה) בוחרים באפשרות High availability (regional) (זמינות גבוהה (אזורית)). מומלץ גם להפעיל את האפשרות גיבוי אוטומטי.
  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: המזהה או מספר הפרויקט של Google Cloud הפרויקט שמכיל את המופע
    • 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: המזהה או מספר הפרויקט של Google Cloud הפרויקט שמכיל את המופע
    • 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: המזהה או מספר הפרויקט של Google Cloud הפרויקט שמכיל את המופע
    • 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: המזהה או מספר הפרויקט של Google Cloud הפרויקט שמכיל את המופע
    • 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: המזהה או מספר הפרויקט של Google Cloud הפרויקט שמכיל את המופע
    • 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: המזהה או מספר הפרויקט של Google Cloud הפרויקט שמכיל את המופע
    • 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 במסוף Google Cloud .

    כניסה לדף Cloud SQL Instances

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

gcloud

מפעילים את המעבר לגיבוי:

gcloud sql instances failover PRIMARY_INSTANCE_NAME

REST v1

  1. מתארים את המופע הראשי כדי לקבל את הערך של השדה settingsVersion.

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

    • PROJECT_ID: המזהה או מספר הפרויקט של Google Cloud הפרויקט שמכיל את המופע
    • 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: המזהה או מספר הפרויקט של Google Cloud הפרויקט שמכיל את המופע
    • 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 במסוף Google Cloud .

    כניסה לדף Cloud SQL Instances

  2. כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
  3. מוודאים שההגדרות הבאות של זמינות גבוהה מוצגות בקטע Configuration (הגדרה):
    • זמינות גבוהה (אזורית)
    • Located in (מיקום) מציג את האזור הראשי הנוכחי של המופע.

gcloud

gcloud sql instances describe INSTANCE_NAME

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

REST v1

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

  • PROJECT_ID: המזהה או מספר הפרויקט של Google Cloud הפרויקט שמכיל את המופע
  • 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: המזהה או מספר הפרויקט של Google Cloud הפרויקט שמכיל את המופע
  • 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 במסוף Google Cloud .

    כניסה לדף Cloud SQL Instances

  2. כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
  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 באמצעות Google Cloud המסוף, ה-CLI של gcloud או ה-API.

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

המסוף

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

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

    כניסה לדף Cloud SQL Instances

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

gcloud

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

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

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

REST v1

כדי לשנות את סוג הזמינות של המכונה ל-ZONAL, משתמשים בשיטה instances:patch. בשיטה הזו משביתים את הזמינות הגבוהה של המופע.

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

  • PROJECT_ID: המזהה או מספר הפרויקט של Google Cloud הפרויקט שמכיל את המופע
  • 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, משתמשים בשיטה instances:patch. בשיטה הזו משביתים את הזמינות הגבוהה של המופע.

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

  • PROJECT_ID: המזהה או מספר הפרויקט של Google Cloud הפרויקט שמכיל את המופע
  • 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 וזיכרון.

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