יצירה וניהול של מאגרי קריאה

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

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

  1. מאגרי קריאה מכילים עותקים של מכונה ראשית. אם עדיין לא עשיתם את זה, צרו מכונה ראשית של Cloud SQL Enterprise Plus מהדורת Plus. מאגרי קריאה תומכים בחיבורים באמצעות כתובת IP ציבורית, גישה לשירותים פרטיים ו-Private Service Connect, אבל במדריך הזה יוצרים מכונה ראשית עם קישוריות של כתובת IP פרטית שמשתמשת בגישה לשירותים פרטיים.

    מידע נוסף על מכונות ראשיות ורפליקציה זמין במאמר מידע על רפליקציה ב-Cloud SQL.

  2. שימו לב שאפשר ליצור עד 7 רפליקות לקריאה בלבד לכל מכונה ראשית. הערך הזה יכול לכלול כל מספר משולב של רפליקות לקריאה בלבד ומספר צמתים של מאגר קריאה במכונה של מאגר קריאה. לדוגמה, למכונה ראשית יכולות להיות שתי רפליקות לקריאה בלבד, ומאגר נפרד של חמש רפליקות לקריאה בלבד (צמתים של מאגר קריאה).
  3. כשיוצרים מכונה חדשה של Cloud SQL, צריך להגדיר סיסמה לחשבון המשתמש שמוגדר כברירת מחדל כדי להתחבר למכונה. ב-Cloud SQL ל-SQL Server, משתמש ברירת המחדל הוא sqlserver.

    משתמשים בפקודה gcloud sql users set-password כדי להגדיר את הסיסמה למשתמש שמוגדר כברירת מחדל:

      gcloud sql users set-password sqlserver \
      --instance=INSTANCE_NAME \
      --prompt-for-password
      

    לפני שמריצים את הפקודה, מחליפים את INSTANCE_NAME בשם המכונה.

    שומרים את הסיסמה הזו כדי להשתמש בה בהמשך כשמתחברים למאגר הקריאה.

יצירת מאגר קריאה

gcloud

במאמר התקנת ה-CLI של gcloud מוסבר איך מתקינים את ה-CLI של gcloud ומתחילים להשתמש בו. למידע על הפעלת Cloud Shell, קראו את המאמר שימוש ב-Cloud Shell.

משתמשים בפקודה הבאה של gcloud sql instances create כדי ליצור מאגר קריאה עם כמה צומתי מאגר קריאה:

      gcloud sql instances create READ_POOL_NAME \
      --tier=TIER --edition=ENTERPRISE_PLUS \
      --instance-type=READ_POOL_INSTANCE --node-count=NODE_COUNT \
      --master-instance-name=PRIMARY_INSTANCE_NAME --no-assign-ip
    

מחליפים את הפרטים הבאים:

  • ‫READ_POOL_NAME: השם שרוצים לתת למאגר לקריאה בלבד.
  • ‫TIER: סוג המכונה שבה רוצים להשתמש לכל צומת במאגר לקריאה בלבד, למשל db-perf-optimized-N-4.
  • ‫NODE_COUNT: מספר הצמתים שרוצים במאגר הקריאה. בוחרים מספר בין 1 ל-7.
  • ‫PRIMARY_INSTANCE_NAME: השם של המכונה הראשית שמשויכת למאגר לקריאה בלבד, למשל my-primary-instance.

Terraform

כדי ליצור מאגר לקריאה בלבד, משתמשים במשאב של Terraform. אחר כך מגדירים את המאפיין instance_type לערך "READ_POOL_INSTANCE" ואת המאפיין node_count למספר הצמתים שבהם רוצים להשתמש.

בדוגמה הבאה יש משאבים למכונה הראשית ולמאגר לקריאה בלבד.


resource "google_compute_network" "peering_network" {
  name                    = "private-network"
  auto_create_subnetworks = "false"
}

resource "google_compute_global_address" "private_ip_address" {
  name          = "private-ip-address"
  purpose       = "VPC_PEERING"
  address_type  = "INTERNAL"
  prefix_length = 16
  network       = google_compute_network.peering_network.id
}

resource "google_service_networking_connection" "default" {
  network                 = google_compute_network.peering_network.id
  service                 = "servicenetworking.googleapis.com"
  reserved_peering_ranges = [google_compute_global_address.private_ip_address.name]
}

resource "google_sql_database_instance" "primary" {
  name             = "sqlserver-primary"
  database_version = "SQLSERVER_2022_ENTERPRISE"
  region           = "europe-west4"
  root_password    = "INSERT-PASSWORD-HERE"

  depends_on = [google_service_networking_connection.default]

  instance_type = "CLOUD_SQL_INSTANCE"

  settings {
    tier    = "db-perf-optimized-N-2"
    edition = "ENTERPRISE_PLUS"

    backup_configuration {
      enabled = true
    }

    ip_configuration {
      ipv4_enabled    = false
      private_network = google_compute_network.peering_network.id
    }
  }
}

resource "google_sql_database_instance" "replica" {
  name             = "sqlserver-replica"
  database_version = "SQLSERVER_2022_ENTERPRISE"
  region           = "europe-west4"

  master_instance_name = google_sql_database_instance.primary.name
  instance_type        = "READ_POOL_INSTANCE"
  node_count           = 2

  settings {
    tier    = "db-perf-optimized-N-2"
    edition = "ENTERPRISE_PLUS"


    ip_configuration {
      ipv4_enabled    = false
      private_network = google_compute_network.peering_network.id
    }
  }
}

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

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

הכנת Cloud Shell

  1. מפעילים את Cloud Shell.
  2. מגדירים את פרויקט ברירת המחדל ב- Google Cloud שבו רוצים להחיל את ההגדרות של 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. פותחים את הפרויקט ב- 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

משתמשים ב-method‏ insert של המשאב instances כדי ליצור מאגר קריאה עם כמה צמתים. המאפיין databaseVersion חייב להיות זהה למאפיין הראשי.

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

  • ‫PROJECT: שם הפרויקט שבו רוצים למקם את המכונה הראשית ואת מאגר הקריאה.
  • ‫REGION: האזור של מאגר הקריאה, למשל us-east1. האזור חייב להיות זהה לאזור של המכונה הראשית.
  • ‫TIER: סוג המכונה שרוצים להשתמש בה לכל צומת במאגר לקריאה בלבד, למשל db-perf-optimized-N-4.
  • ‫PRIMARY_INSTANCE_NAME: השם של המכונה הראשית.
  • ‫READ_POOL_NAME: השם שרוצים לתת למאגר לקריאה, למשל my-read-pool.
  • ‫DATABASE_VERSION: גרסת מסד הנתונים שבה רוצים להשתמש.
  • ‫NODE_COUNT: מספר הצמתים שרוצים במאגר הקריאה. בוחרים מספר בין 1 ל-7.
  • ‫FULL_NETWORK_NAME: הנתיב המלא ברשת שבו רוצים למקם את מאגר הקריאה, למשל projects/vpc-host-project/global/networks/my-network-name.

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

POST https://sqladmin.googleapis.com/v1/projects/PROJECT/instances

תוכן בקשת JSON:

{
  "name": "READ_POOL_NAME",
  "masterInstanceName": "PRIMARY_INSTANCE_NAME",
  "project": "PROJECT",
  "databaseVersion": "DATABASE_VERSION",
  "region": "REGION",
  "instanceType": "READ_POOL_INSTANCE",
  "nodeCount": NODE_COUNT,
  "settings": {
    "tier": "TIER",
    "edition": "ENTERPRISE_PLUS",
    "ipConfiguration": {
      "ipv4Enabled": false,
      "privateNetwork": "FULL_NETWORK_NAME"
    }
  }
}

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

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

REST v1beta4

משתמשים ב-method‏ insert של המשאב instances כדי ליצור מאגר קריאה עם כמה צומתי מאגר קריאה. המאפיין databaseVersion חייב להיות זהה למאפיין הראשי.

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

  • ‫PROJECT: שם הפרויקט שבו רוצים למקם את המכונה הראשית ואת מאגר הקריאה.
  • ‫REGION: האזור של מאגר הקריאה, למשל us-east1. האזור חייב להיות זהה לאזור של המכונה הראשית.
  • ‫TIER: סוג המכונה שרוצים להשתמש בה לכל צומת במאגר לקריאה בלבד, למשל db-perf-optimized-N-4.
  • ‫PRIMARY_INSTANCE_NAME: השם של המכונה הראשית.
  • ‫READ_POOL_NAME: השם שרוצים לתת למאגר לקריאה, למשל my-read-pool.
  • ‫DATABASE_VERSION: גרסת מסד הנתונים שבה רוצים להשתמש.
  • ‫NODE_COUNT: מספר הצמתים שרוצים במאגר הקריאה. בוחרים מספר בין 1 ל-7.
  • ‫FULL_NETWORK_NAME: הנתיב המלא ברשת שבו רוצים למקם את מאגר הקריאה, למשל projects/vpc-host-project/global/networks/my-network-name.

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

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances

תוכן בקשת JSON:

{
  "name": "READ_POOL_NAME",
  "masterInstanceName": "PRIMARY_INSTANCE_NAME",
  "project": "PROJECT",
  "databaseVersion": "DATABASE_VERSION",
  "region": "REGION",
  "instanceType": "READ_POOL_INSTANCE",
  "nodeCount": NODE_COUNT,
  "settings": {
    "tier": "TIER",
    "edition": "ENTERPRISE_PLUS",
    "ipConfiguration": {
      "ipv4Enabled": false,
      "privateNetwork": "FULL_NETWORK_NAME"
    }
  }
}

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

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

המרת עותק לקריאה בלבד למאגר קריאה

כדי להמיר רפליקה קיימת לקריאה בלבד של Cloud SQL Enterprise Plus למאגר קריאה, צריך לציין את מספר הצמתים במאגר. במהלך תהליך ההמרה, כתובת ה-IP של הרפליקה תהפוך לכתובת ה-IP של מאגר הקריאה (נקודת הקצה לקריאה), כך שלקוחות קיימים יוכלו להתחבר למאגר בלי להגדיר אותו מחדש.

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

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

gcloud

במאמר התקנת ה-CLI של gcloud מוסבר איך מתקינים את ה-CLI של gcloud ומתחילים להשתמש בו. למידע על הפעלת Cloud Shell, קראו את המאמר שימוש ב-Cloud Shell.

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

      gcloud sql instances patch READ_REPLICA_NAME \
      --instance-type=READ_POOL_INSTANCE --node-count=NODE_COUNT
    

מחליפים את הפרטים הבאים:

  • ‫READ_REPLICA_NAME: השם של הרפליקה לקריאה בלבד שרוצים להמיר.
  • ‫NODE_COUNT: מספר הצמתים שרוצים במאגר הקריאה. בוחרים מספר בין 1 ל-7.

Terraform

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

  • משנים את המאפיין instance_type מ-"READ_REPLICA_INSTANCE" ל-"READ_POOL_INSTANCE" ואת המאפיין node_count למספר הצמתים שבהם רוצים להשתמש.
  • אם הגדרתם אותו בעבר, מחקו את המאפיין settings.availability_type.

REST v1

כדי להמיר עותק לקריאה בלבד למאגר קריאה, משתמשים ב-method‏ patch של המשאב instances.

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

  • ‫READ_REPLICA_NAME: השם של הרפליקה לקריאה בלבד שרוצים להמיר, למשל my-read-replica.
  • ‫NODE_COUNT: מספר הצמתים שרוצים במאגר הקריאה. בוחרים מספר בין 1 ל-7.

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

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_REPLICA_NAME

תוכן בקשת JSON:

{
  "instanceType": "READ_POOL_INSTANCE",
  "nodeCount": NODE_COUNT
}

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

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

REST v1beta4

כדי להמיר עותק לקריאה בלבד למאגר קריאה, משתמשים ב-method‏ patch של המשאב instances.

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

  • ‫READ_REPLICA_NAME: השם של הרפליקה לקריאה בלבד שרוצים להמיר, למשל my-read-replica.
  • ‫NODE_COUNT: מספר הצמתים שרוצים במאגר הקריאה. בוחרים מספר בין 1 ל-7.

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

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_REPLICA_NAME

תוכן בקשת JSON:

{
  "instanceType": "READ_POOL_INSTANCE",
  "nodeCount": NODE_COUNT
}

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

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

קריאה של התאמה לעומס (autoscaling) במאגר

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

המרת מאגר קריאה לרפליקה לקריאה בלבד

gcloud

במאמר התקנת ה-CLI של gcloud מוסבר איך מתקינים את ה-CLI של gcloud ומתחילים להשתמש בו. למידע על הפעלת Cloud Shell, קראו את המאמר שימוש ב-Cloud Shell.

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

      gcloud sql instances patch READ_POOL_NAME \
      --instance-type=READ_REPLICA_INSTANCE --availability-type=ZONAL
    

מחליפים את הפרטים הבאים:

  • ‫READ_POOL_NAME: שם מאגר הקריאה שרוצים להמיר.

Terraform

כדי להמיר מאגר קריאה לרפליקה לקריאה בלבד, משתמשים במשאב של Terraform. המניפסט דומה לזה שבו השתמשתם בקטע יצירת מאגר קריאה. לאחר מכן, משנים את המאפיין instance_type מ-"READ_POOL_INSTANCE" ל-"READ_REPLICA_INSTANCE", מוחקים את המאפיין node_count ומגדירים את המאפיין settings.availability_type כ-ZONAL.

REST v1

כדי להמיר מאגר קריאה לרפליקה לקריאה בלבד, משתמשים ב-method‏ patch של המשאב instances.

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

  • ‫READ_POOL_NAME: השם של מאגר הקריאה, למשל my-read-pool.

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

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME

תוכן בקשת JSON:

{
  "instanceType": "READ_REPLICA_INSTANCE",
  "settings": {
    "availabilityType": "ZONAL"
  }
}

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

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

REST v1beta4

כדי להמיר מאגר קריאה לרפליקה לקריאה בלבד, משתמשים ב-method‏ patch של המשאב instances.

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

  • ‫READ_POOL_NAME: השם של מאגר הקריאה, למשל my-read-pool.

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

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME

תוכן בקשת JSON:

{
  "instanceType": "READ_REPLICA_INSTANCE",
  "settings": {
    "availabilityType": "ZONAL"
  }
}

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

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

הצגת מידע על מאגר הקריאה

gcloud

במאמר התקנת ה-CLI של gcloud מוסבר איך מתקינים את ה-CLI של gcloud ומתחילים להשתמש בו. למידע על הפעלת Cloud Shell, קראו את המאמר שימוש ב-Cloud Shell.

משתמשים בפקודה הבאה של gcloud sql instances describe כדי לתאר את מאגר הקריאה:

      gcloud sql instances describe READ_POOL_NAME
    

מחליפים את הפרטים הבאים:

  • ‫READ_POOL_NAME: שם מאגר הקריאה שרוצים לתאר.

דוגמה לתגובה עם כתובת IP ומידע על הצומת:

      ...
      connectionName: my-project:us-central1:read-pool
      ipAddresses:
      - ipAddress: 10.3.0.108
        type: PRIVATE
      nodeCount: 2
      nodes:
      - dnsName: c5bdacb09ffc.j10o8yqc7pve.us-central1.sql.goog.
        gceZone: us-central1-f
        ipAddresses:
        - ipAddress: 10.3.0.112
          type: PRIVATE
        name: read-pool-node-01
        state: RUNNABLE
      - dnsName: 8f77c454d6b2.j10o8yqc7pve.us-central1.sql.goog.
        gceZone: us-central1-c
        ipAddresses:
        - ipAddress: 10.3.0.113
          type: PRIVATE
        name: read-pool-node-02
        state: RUNNABLE
    

REST v1

משתמשים ב-method‏ get כדי לראות את הפרטים של מאגר הקריאה.

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

  • ‫PROJECT: שם הפרויקט שבו נמצא מאגר הקריאה.
  • ‫READ_POOL_NAME: השם של מאגר הקריאה, למשל my-read-pool.

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

GET https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME

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

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

REST v1beta4

משתמשים ב-method‏ get כדי לראות את הפרטים של מאגר הקריאה.

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

  • ‫PROJECT: שם הפרויקט שבו נמצא מאגר הקריאה.
  • ‫READ_POOL_NAME: השם של מאגר הקריאה, למשל my-read-pool.

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

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME

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

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

{
  [...],
  "connectionName": "my-project:us-central1:read-pool",
  "ipAddresses": [
    {
      "type": "PRIVATE",
      "ipAddress": "10.3.0.108"
    }
  ],
  "nodeCount": 2,
  "nodes": [
    {
      "ipAddresses": [
        {
          "type": "PRIVATE",
          "ipAddress": "10.3.0.112"
        }
      ],                                                                                                                 
      "name": "read-pool-node-01",
      "gceZone": "us-central1-f",
      "dnsName": "c5bdacb09ffc.j10o8yqc7pve.us-central1.sql.goog.",
      "state": "RUNNABLE"
    },
    {
      "ipAddresses": [
        {
          "type": "PRIVATE",
          "ipAddress": "10.3.0.113"
        }
      ],
      "name": "read-pool-node-02",
      "gceZone": "us-central1-c",
      "dnsName": "8f77c454d6b2.j10o8yqc7pve.us-central1.sql.goog.",
      "state": "RUNNABLE"
    }
  ]
}

הוספה או הסרה של צמתים במאגר לקריאה בלבד

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

gcloud

במאמר התקנת ה-CLI של gcloud מוסבר איך מתקינים את ה-CLI של gcloud ומתחילים להשתמש בו. למידע על הפעלת Cloud Shell, קראו את המאמר שימוש ב-Cloud Shell.

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

      gcloud sql instances patch READ_POOL_NAME \
      --node-count=NODE_COUNT
    

מחליפים את הפרטים הבאים:

  • ‫READ_POOL_NAME: שם מאגר הקריאה.
  • ‫NODE_COUNT: מספר הצמתים שרוצים במאגר הקריאה. בוחרים מספר בין 1 ל-7.

Terraform

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

REST v1

כדי להגדיל או להקטין את מאגר הקריאה, משתמשים ב-method‏ patch ומשנים את מספר הצמתים במאגר הקריאה.

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

  • ‫PROJECT: שם הפרויקט שבו נמצא מאגר הקריאה.
  • ‫NODE_COUNT: מספר הצמתים שרוצים במאגר הקריאה. בוחרים מספר בין 1 ל-20.

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

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME

תוכן בקשת JSON:

{
  "nodeCount": NODE_COUNT
}

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

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

REST v1beta4

כדי להגדיל או להקטין את מאגר הקריאה, משתמשים ב-method‏ patch ומשנים את מספר הצמתים במאגר הקריאה.

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

  • ‫PROJECT: שם הפרויקט שבו נמצא מאגר הקריאה.
  • ‫NODE_COUNT: מספר הצמתים שרוצים במאגר הקריאה. בוחרים מספר בין 1 ל-20.

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

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME

תוכן בקשת JSON:

{
  "nodeCount": NODE_COUNT
}

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

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

עריכת ההגדרות של מאגר הקריאה

כך עורכים את ההגדרות של מאגר הקריאה: למידע נוסף, קראו את המאמרים מידע על הגדרות המכונות ועריכת מכונות.

gcloud

במאמר התקנת ה-CLI של gcloud מוסבר איך מתקינים את ה-CLI של gcloud ומתחילים להשתמש בו. למידע על הפעלת Cloud Shell, קראו את המאמר שימוש ב-Cloud Shell.

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

      gcloud sql instances patch READ_POOL_NAME \
      --tier=TIER
    

מחליפים את הפרטים הבאים:

  • ‫READ_POOL_NAME: שם מאגר הקריאה.
  • ‫TIER: סוג המכונה שרוצים להחיל על כל צומת במאגר הקריאה, למשל db-perf-optimized-N-8.

Terraform

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

REST v1

משתמשים ב-patch כדי לשנות את ההגדרות של צומת מאגר הקריאה. ההגדרות חלות באופן אחיד על כל הצמתים במאגר הקריאה.

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

  • ‫PROJECT: שם הפרויקט שבו נמצא מאגר הקריאה.
  • ‫TIER: סוג המכונה שרוצים להשתמש בה לכל צומת במאגר לקריאה בלבד, כמו db-perf-optimized-N-4.
  • ‫READ_POOL_NAME: השם של מאגר הקריאה, למשל my-read-pool.

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

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME

תוכן בקשת JSON:

{
  "settings": {
    "tier": "TIER"
  }
}

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

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

REST v1beta4

משתמשים ב-patch כדי לשנות את ההגדרות של צומת מאגר הקריאה. ההגדרות חלות באופן אחיד על כל הצמתים במאגר הקריאה.

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

  • ‫PROJECT: שם הפרויקט שבו נמצא מאגר הקריאה.
  • ‫TIER: סוג המכונה שרוצים להשתמש בה לכל צומת במאגר לקריאה בלבד, כמו db-perf-optimized-N-4.
  • ‫READ_POOL_NAME: השם של מאגר הקריאה, למשל my-read-pool.

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

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME

תוכן בקשת JSON:

{
  "settings": {
    "tier": "TIER"
  }
}

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

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

התחברות למאגר קריאה

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

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

אם אתם מתחברים באמצעות Cloud SQL Auth Proxy או Cloud SQL Connectors, חשוב לוודא שאתם משתמשים בגרסה העדכנית. כדי להשתמש במאגר לקריאה בלבד, צריך להשתמש בגרסאות המינימליות הבאות:

  • ‫Cloud SQL Auth Proxy: גרסה 2.15.2
  • ‫Cloud SQL Python Connector: גרסה 1.18.0
  • ‫Cloud SQL Go Connector: גרסה 1.16.0
  • ‫Cloud SQL Node Connector: גרסה 1.7.0
  • ‫Cloud SQL Java Connector: גרסה 1.24.0

המסוף

כדי להתחבר למאגר קריאה:

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

    כניסה לדף Cloud SQL Instances

    תועברו לדף סקירה כללית של המכונה. לוחצים על מאגר הקריאה החדש כדי לראות את הפרטים, כולל כתובת ה-IP הפרטית שלו. בקטע Connect to this instance, מעתיקים ושומרים את הערך של Connection name של המכונה. הערך של connection name הוא בפורמט projectID:region:instanceID. תצטרכו את הערך של connection name בהמשך, כשתפעילו את Cloud SQL Auth Proxy.
  2. יוצרים מכונה וירטואלית ב-Compute Engine.
  3. פותחים שני חיבורי SSH למכונה הווירטואלית של Compute Engine. הם משמשים בשלבים הבאים להפעלת Cloud SQL Auth Proxy ולהפעלת לקוח מסד הנתונים.
  4. מתקינים את הלקוח.
  5. מתקינים את Cloud SQL Auth Proxy.
  6. מפעילים את Cloud SQL Auth Proxy.
  7. מתחברים למכונה של Cloud SQL.

מידע נוסף זמין במאמר התחברות למכונה של Cloud SQL באמצעות כתובת IP פרטית.

מחיקת מאגר לקריאה

gcloud

במאמר התקנת ה-CLI של gcloud מוסבר איך מתקינים את ה-CLI של gcloud ומתחילים להשתמש בו. למידע על הפעלת Cloud Shell, קראו את המאמר שימוש ב-Cloud Shell.

כדי למחוק מאגר קריאה, משתמשים בפקודה הבאה של gcloud sql instances delete:

      gcloud sql instances delete READ_POOL_NAME
    

מחליפים את הפרטים הבאים:

  • ‫READ_POOL_NAME: שם מאגר הקריאה שרוצים למחוק.

REST v1

כדי למחוק מאגר קריאה, משתמשים ב-method‏ delete.

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

  • ‫PROJECT: שם הפרויקט שבו נמצא מאגר הקריאה.
  • ‫READ_POOL_NAME: השם של מאגר הקריאה, למשל my-read-pool.

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

DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME

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

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

REST v1beta4

כדי למחוק מאגר קריאה, משתמשים ב-method‏ delete.

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

  • ‫PROJECT: שם הפרויקט שבו נמצא מאגר הקריאה.
  • ‫READ_POOL_NAME: השם של מאגר הקריאה, למשל my-read-pool.

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

DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME

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

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

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