יצירת מופע ראשי

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

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

  • Google Cloud בפרויקט שבו אתם משתמשים צריך להיות מופעלת גישה ל-AlloyDB.
  • צריך להיות לכם אחד מתפקידי ה-IAM האלה בפרויקט Google Cloud שבו אתם משתמשים:
    • roles/alloydb.admin (תפקיד IAM מוגדר מראש של אדמין AlloyDB)
    • roles/owner (תפקיד בסיסי ב-IAM מסוג בעלים)
    • roles/editor (תפקיד בסיסי ב-IAM עם הרשאת עריכה)

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

יצירה של מכונת AlloyDB ראשית

המסוף

  1. עוברים לדף Clusters.

    כניסה לדף Clusters

  2. לוחצים על אשכול בעמודה שם המשאב.

  3. בדף Overview (סקירה כללית), עוברים אל Instances in your cluster (מופעים באשכול) ולוחצים על Create primary instance (יצירת מופע ראשי).

  4. מגדירים את המופע הראשי:

    1. בשדה Instance ID (מזהה המכונה), מזינים מזהה למכונה הראשית.
    2. בקטע Zonal availability (זמינות אזורית), בוחרים באחת מהאפשרויות הבאות:
      1. כדי ליצור מופע ייצור עם זמינות גבוהה ומעבר גיבוי אוטומטי, בוחרים באפשרות Multiple zones (Highly available) (אזורים מרובים (זמינות גבוהה)).
      2. כדי ליצור מופע בסיסי שלא צריך להיות זמין במיוחד, בוחרים באפשרות Single zone (אזור יחיד).
    3. בוחרים אחת מסדרות המכונות הבאות:

      • ‫C4A (סדרת מכונות מבוססת Google Axion)
      • ‫N2 (סדרת מכונות מבוססת x86). זו סדרת המכונות שמוגדרת כברירת מחדל.
      • C4 (סדרת מכונות מבוססת-x86)
      • ‫Z3 (סדרת מכונות מבוססת Intel Xeon)
    4. בוחרים סוג מכונה.

      • ‫C4A תומך ב-1, 4, 8, 16, 32, 48, 64 ו-72 vCPU
      • סדרת N2 תומכת ב-2,‏ 4,‏ 8,‏ 16,‏ 32,‏ 64,‏ 96 ו-128 vCPU
      • ‫C4 תומך ב-4, 8, 16, 24, 32, 48, 96, 144, 192 ו-288 vCPU
      • ‫Z3 תומך ב-8,‏ 14,‏ 16,‏ 22,‏ 32,‏ 44 ו-88 vCPU
    5. אופציונלי: כדי לחבר את האפליקציות והלקוחות שלכם דרך האינטרנט הציבורי, מסמנים את התיבה הפעלת כתובת IP ציבורית בקטע קישוריות של כתובת IP ציבורית. יכול להיות שתצטרכו לבצע הגדרות נוספות כדי לוודא שיש לכם חיבור מאובטח. מידע נוסף מופיע במאמר חיבור באמצעות IP ציבורי.

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

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

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

      1. לוחצים על הוספת דגל.
      2. בוחרים דגל מהרשימה New database flag (דגל חדש למסד הנתונים).
      3. צריך לספק ערך לדגל.
      4. לוחצים על סיום.
    8. אופציונלי: כדי להגדיר דרישות SSL או מחבר במופע, מרחיבים את אפשרויות ההגדרה המתקדמות ומבצעים את הפעולות הבאות:

      1. כברירת מחדל, במכונות AlloyDB נדרשת הצפנת SSL בכל החיבורים. כדי לאפשר חיבורים ללא SSL, מבטלים את הסימון בתיבת הסימון רק חיבורי SSL מותרים.
      2. כדי לדרוש שכל חיבורי מסד הנתונים למכונה ישתמשו ב-AlloyDB Auth Proxy או בספריות המחברים המאובטחות שסופקו על ידי Google, בוחרים באפשרות Enforce mTLS via AlloyDB connectors (אכיפת mTLS באמצעות מחברי AlloyDB).
  5. לוחצים על Create instance.

gcloud

כדי להשתמש ב-CLI של gcloud, אפשר להתקין ולהפעיל את Google Cloud CLI, או להשתמש ב-Cloud Shell.

משתמשים בפקודה gcloud alloydb instances create כדי ליצור מכונה ראשית.

gcloud alloydb instances create INSTANCE_ID \
    --instance-type=PRIMARY \
    --availability-type=AVAILABILITY \
    --region=REGION_ID \
    --cluster=CLUSTER_ID \
    --cpu-count=CPU_COUNT \
    --machine-type=MACHINE_TYPE \
    --project=PROJECT_ID
  • INSTANCE_ID: המזהה של המופע שאתם יוצרים. הוא חייב להתחיל באות קטנה באנגלית, ויכול לכלול אותיות קטנות, ספרות ומקפים.
  • AVAILABILITY: האם המופע הזה צריך להיות בעל זמינות גבוהה (HA), עם צמתים בכמה אזורים. הערכים התקפים כוללים:
    • REGIONAL: יוצרת מופע HA עם צמתים נפרדים פעילים וצמתים במצב המתנה, ומעבר גיבוי אוטומטי ביניהם. זהו ערך ברירת המחדל, שמתאים לסביבות ייצור.
    • ZONAL: יוצר מופע בסיסי שמכיל רק צומת אחד, ללא מעבר אוטומטי לגיבוי.
  • REGION_ID: האזור שבו רוצים למקם את המכונה. לדוגמה, us-central1.
  • CLUSTER_ID: המזהה של האשכול שבו רוצים למקם את המופע.
  • CPU_COUNT: מספר ליבות ה-CPU הווירטואליות שרוצים להקצות למכונה.

    • חובה לציין cpu_count או machine_type.
    • אם מספקים רק את cpu_count, נוצרת מכונת N2 עם המפרט הבא:
      • ‫2: 2 vCPUs, ‏ 16 GB RAM
      • ‫4: 4 מעבדי vCPU, ‏ 32GB RAM
      • ‫8: 8 מעבדי vCPU, ‏ 64GB RAM
      • ‫16: 16 vCPUs, ‏ 128 GB RAM
      • ‫32: ‏ 32 מעבדי vCPU, ‏ 256GB RAM
      • ‫64: ‏ 64 מעבדי vCPU, ‏ 512GB RAM
      • ‫96: ‏ 96 vCPUs, ‏ 768 GB RAM
      • ‫128: ‏ 128 vCPUs, ‏ 864 GB RAM
    • אם מציינים גם את machine_type וגם את cpu_count, הערך של cpu_count חייב להיות זהה למספר המעבדים הווירטואליים שצוין ב-machine_type. לדוגמה, אם הערך של machine_type הוא n2-highmem-4, צריך להגדיר את cpu_count כ-4.
  • MACHINE_TYPE: בוחרים מתוך רשימה של סוגי מכונות נתמכים, כמו n2-highmem-4, ‏ c4-highmem-4-lssd או c4a-highmem-4-lssd. מידע נוסף זמין במאמר בחירת סוג מכונה ב-AlloyDB.

    כשמשתמשים בערכים machine_type ו-cpu_count יחד, הערכים ב-cpu_count וב-machine_type חייבים להיות זהים. לדוגמה, אם machine_type הוא n2-highmem-4, צריך להגדיר את cpu_count כ-4.

  • PROJECT_ID: מזהה הפרויקט שבו נמצא האשכול.

כברירת מחדל, כל החיבורים למופעים חדשים צריכים להיות מוצפנים באמצעות SSL. כדי לאפשר חיבורים למכונה שלא מבוססים על SSL, מוסיפים את הדגל --ssl-mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED לפקודה:

gcloud alloydb instances create INSTANCE_ID \
  --instance-type=PRIMARY \
  --region=REGION_ID \
  --cluster=CLUSTER_ID \
  --project=PROJECT_ID \
  --cpu-count=CPU_COUNT \
  --machine-type=MACHINE_TYPE \
  --ssl-mode=ALLOW_UNENCRYPTED_AND_ENCRYPTED

כדי לאכוף חיבור מאובטח בין הלקוח לבין מופע AlloyDB באמצעות Auth Proxy או אפליקציות אחרות שמשתמשות בספריות מחברים שסופקו על ידי Google, מוסיפים את הדגל --require-connectors לפקודה:

gcloud alloydb instances create INSTANCE_ID \
  --instance-type=PRIMARY \
  --region=REGION_ID \
  --cluster=CLUSTER_ID \
  --cpu-count=CPU_COUNT \
  --machine-type=MACHINE_TYPE \
  --project=PROJECT_ID \
  --require-connectors

כדי להפעיל ניהול של מאגר חיבורים במופע AlloyDB, מוסיפים את הדגל --enable-connection-pooling לפקודה gcloud alloydb instances create:

gcloud alloydb instances create INSTANCE_ID \
  --instance-type=PRIMARY \
  --region=REGION_ID \
  --cluster=CLUSTER_ID \
  --cpu-count=CPU_COUNT \
  --machine-type=MACHINE_TYPE \
  --project=PROJECT_ID \
  --enable-connection-pooling

אפשר גם ליצור מופע AlloyDB עם Private Service Connect מופעל. מידע על יצירת מופע ראשי לאשכול עם Private Service Connect זמין במאמר יצירת מופע AlloyDB.

Terraform

יצירת מופע

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

resource "google_alloydb_instance" "default" {
  cluster       = google_alloydb_cluster.default.name
  instance_id   = "alloydb-instance"
  instance_type = "PRIMARY"

  machine_config {
    cpu_count = 2
  }

  depends_on = [google_service_networking_connection.vpc_connection]
}

resource "google_alloydb_cluster" "default" {
  cluster_id = "alloydb-cluster"
  location   = "us-central1"
  network_config {
    network = google_compute_network.default.id
  }

  initial_user {
    password = "alloydb-cluster"
  }
}

data "google_project" "project" {}

resource "google_compute_network" "default" {
  name = "alloydb-network"
}

resource "google_compute_global_address" "private_ip_alloc" {
  name          =  "alloydb-cluster"
  address_type  = "INTERNAL"
  purpose       = "VPC_PEERING"
  prefix_length = 16
  network       = google_compute_network.default.id
}

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

בדוגמה הזו נוצרת מכונת N2. רשימה של סוגי מכונות נתמכים אחרים, כמו n2-highmem-4, ‏ c4-highmem-4-lssd או c4a-highmem-4-lssd, זמינה במאמר בחירת סוג מכונה ב-AlloyDB.

הכנת Cloud Shell

כדי להחיל את ההגדרות של Terraform בפרויקט, צריך להכין את Cloud Shell באופן הבא: Google Cloud

  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 הוא חלק מפתרון מקצה לקצה.
    git clone https://github.com/terraform-google-modules/terraform-docs-samples
  3. בספרייה terraform-docs-samples, עוברים לספרייה alloydb.
    cd terraform-docs-samples/alloydb
  4. מעתיקים את הקוד לדוגמה בקובץ main.tf החדש שיצרתם.
    cp SAMPLE_FILE
    מחליפים את <var>SAMPLE_FILE</var> בשם של קובץ לדוגמה להעתקה – לדוגמה, main.tf.
  5. בודקים את הפרמטרים לדוגמה ומשנים אותם בהתאם לסביבה שלכם.
  6. שומרים את השינויים.
  7. מפעילים את Terraform. צריך לעשות זאת רק פעם אחת לכל ספרייה.
    terraform init
    אופציונלי: כדי להשתמש בגרסה העדכנית ביותר של הספק של Google, כוללים את האפשרות -upgrade:
    terraform init -upgrade

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

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

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

REST v1

יצירת מופע

בדוגמה הזו נוצרת מכונה ראשית. רשימה מלאה של הפרמטרים של הקריאה הזו זמינה במאמר בנושא Method: ‏ projects.locations.clusters.instances.create. מידע על הגדרות האשכול זמין במאמר צפייה בהגדרות של אשכול ושל מופע.

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

כדי לשלוח את הבקשה, שומרים את תוכן הבקשה בקובץ בשם instance_request.json.

{
  "instance_type": "PRIMARY",
  "machine_config": {
    "cpu_count": "vCPU_COUNT",
  },
}

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

  • CPU_COUNT: מספר ליבות ה-CPU שגלויות במכונה שרוצים ליצור.

בדוגמה שלמעלה נוצרת מכונת N2 עם המפרט הבא:

  • ‫2: 2 vCPUs, ‏ 16 GB RAM
  • ‫4: 4 מעבדי vCPU, ‏ 32 GB RAM
  • ‫8: 8 vCPUs, ‏ 64 GB RAM
  • ‫16: 16 vCPUs, ‏ 128 GB RAM
  • ‫32: ‏ 32 vCPUs, ‏ 256 GB RAM
  • ‫64: ‏ 64 vCPU, ‏ 512 GB RAM
  • ‫96: ‏ 96 vCPUs, ‏ 768 GB RAM
  • ‫128: ‏ 128 vCPU, ‏ 864 GB RAM
machine_config: {
  machine_type : MACHINE_TYPE,
},

מחליפים את MACHINE_TYPE בסוג מכונה נתמך כמו n2-highmem-4,‏ c4-highmem-4-lssd או c4a-highmem-4-lssd. מידע נוסף על סוגי מכונות נתמכים זמין במאמר בחירת סוג מכונה ב-AlloyDB.

משתמשים ב-method הבא ב-HTTP ובכתובת ה-URL:

POST https://alloydb.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID/instances?instance_id=INSTANCE_ID

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

  • PROJECT_ID: מזהה הפרויקט שבו רוצים למקם את האשכול.
  • LOCATION_ID: המזהה של האזור של האשכול.
  • CLUSTER_ID: המזהה של האשכול שיוצרים. המזהה חייב להתחיל באות קטנה באנגלית, ויכול לכלול אותיות קטנות, מספרים ומקפים.
  • INSTANCE_ID: השם של המכונה הראשית שרוצים ליצור.

אפשר להשתמש ב-curl כדי להריץ את הבקשה, כמו בדוגמה הבאה:

curl -X POST   -H "Authorization: Bearer $(gcloud auth print-access-token)"   -H "Content-Type: application/json"   https://alloydb.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION_ID/clusters/CLUSTER_ID/instances?instance_id=INSTANCE_ID   -d @instance_request.json

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