בדף הזה מוסבר איך ליצור את המכונה הראשית באשכול AlloyDB.
לפני שמתחילים
- Google Cloud בפרויקט שבו אתם משתמשים צריך להיות מופעלת גישה ל-AlloyDB.
- צריך להיות לכם אחד מתפקידי ה-IAM האלה בפרויקט Google Cloud שבו אתם משתמשים:
-
roles/alloydb.admin(תפקיד IAM מוגדר מראש של אדמין AlloyDB) -
roles/owner(תפקיד בסיסי ב-IAM מסוג בעלים) -
roles/editor(תפקיד בסיסי ב-IAM עם הרשאת עריכה)
אם לא הוקצו לכם התפקידים האלה, פנו לאדמין הארגוני כדי לבקש גישה.
-
יצירה של מכונת AlloyDB ראשית
המסוף
עוברים לדף Clusters.
לוחצים על אשכול בעמודה שם המשאב.
בדף Overview (סקירה כללית), עוברים אל Instances in your cluster (מופעים באשכול) ולוחצים על Create primary instance (יצירת מופע ראשי).
מגדירים את המופע הראשי:
- בשדה Instance ID (מזהה המכונה), מזינים מזהה למכונה הראשית.
- בקטע Zonal availability (זמינות אזורית), בוחרים באחת מהאפשרויות הבאות:
- כדי ליצור מופע ייצור עם זמינות גבוהה ומעבר גיבוי אוטומטי, בוחרים באפשרות Multiple zones (Highly available) (אזורים מרובים (זמינות גבוהה)).
- כדי ליצור מופע בסיסי שלא צריך להיות זמין במיוחד, בוחרים באפשרות Single zone (אזור יחיד).
בוחרים אחת מסדרות המכונות הבאות:
- C4A (סדרת מכונות מבוססת Google Axion)
- N2 (סדרת מכונות מבוססת x86). זו סדרת המכונות שמוגדרת כברירת מחדל.
- C4 (סדרת מכונות מבוססת-x86)
- Z3 (סדרת מכונות מבוססת Intel Xeon)
בוחרים סוג מכונה.
- 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
אופציונלי: כדי לחבר את האפליקציות והלקוחות שלכם דרך האינטרנט הציבורי, מסמנים את התיבה הפעלת כתובת IP ציבורית בקטע קישוריות של כתובת IP ציבורית. יכול להיות שתצטרכו לבצע הגדרות נוספות כדי לוודא שיש לכם חיבור מאובטח. מידע נוסף מופיע במאמר חיבור באמצעות IP ציבורי.
כברירת מחדל, כתובת IP פרטית תמיד מופעלת. מידע נוסף זמין במאמר הפעלת גישה לשירותים פרטיים.
אופציונלי: כדי להפעיל ניהול של מאגר חיבורים, בוחרים באפשרות הפעלת מאגר חיבורים מנוהל בקטע מאגר חיבורים מנוהל. מידע נוסף זמין במאמר בנושא הגדרת מאגר חיבורים מנוהל.
אופציונלי: כדי להגדיר דגלים בהתאמה אישית למופע, מרחיבים את אפשרויות ההגדרה המתקדמות ומבצעים את הפעולות הבאות לכל דגל:
- לוחצים על הוספת דגל.
- בוחרים דגל מהרשימה New database flag (דגל חדש למסד הנתונים).
- צריך לספק ערך לדגל.
- לוחצים על סיום.
אופציונלי: כדי להגדיר דרישות SSL או מחבר במופע, מרחיבים את אפשרויות ההגדרה המתקדמות ומבצעים את הפעולות הבאות:
- כברירת מחדל, במכונות AlloyDB נדרשת הצפנת SSL בכל החיבורים. כדי לאפשר חיבורים ללא SSL, מבטלים את הסימון בתיבת הסימון רק חיבורי SSL מותרים.
- כדי לדרוש שכל חיבורי מסד הנתונים למכונה ישתמשו ב-AlloyDB Auth Proxy או בספריות המחברים המאובטחות שסופקו על ידי Google, בוחרים באפשרות Enforce mTLS via AlloyDB connectors (אכיפת mTLS באמצעות מחברי AlloyDB).
לוחצים על 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
- מפעילים את Cloud Shell.
מגדירים את פרויקט ברירת המחדל שבו רוצים להחיל את ההגדרות של Terraform. Google Cloud
תצטרכו להריץ את הפקודה הזו רק פעם אחת לכל פרויקט, ותוכלו לעשות זאת בכל ספרייה.
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 הוא חלק מפתרון מקצה לקצה.git clone https://github.com/terraform-google-modules/terraform-docs-samples
- בספרייה
terraform-docs-samples, עוברים לספרייהalloydb.cd terraform-docs-samples/alloydb
- מעתיקים את הקוד לדוגמה בקובץ
main.tfהחדש שיצרתם. מחליפים אתcp SAMPLE_FILE
<var>SAMPLE_FILE</var>בשם של קובץ לדוגמה להעתקה – לדוגמה,main.tf. - בודקים את הפרמטרים לדוגמה ומשנים אותם בהתאם לסביבה שלכם.
- שומרים את השינויים.
- מפעילים את Terraform. צריך לעשות זאת רק פעם אחת לכל ספרייה.
אופציונלי: כדי להשתמש בגרסה העדכנית ביותר של הספק של Google, כוללים את האפשרותterraform init
-upgrade:terraform init -upgrade
החלה של השינויים
- בודקים את ההגדרות כדי לוודא שהעדכונים ב-Terraform תואמים לציפיות שלכם:
מתקנים את ההגדרות לפי הצורך.terraform plan
- מריצים את הפקודה הבאה ומזינים
yesבהודעה שמופיעה, כדי להחיל את הגדרות Terraform: ממתינים עד שב-Terraform תוצג ההודעהterraform apply
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