התחברות למופע באמצעות Private Service Connect

בדף הזה מוסבר איך להשתמש ב-Private Service Connect כדי להתחבר למכונת AlloyDB ל-PostgreSQL.

אתם יכולים להשתמש ב-Private Service Connect כדי להתחבר למופע ראשי של AlloyDB או לכל אחד מהרפליקות לקריאה שלו, או למופע משני של AlloyDB מכמה רשתות של ענן וירטואלי פרטי (VPC) ששייכות לקבוצות, לצוותים, לפרויקטים או לארגונים שונים.

התפקידים הנדרשים

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

תפקיד תיאור
compute.networkAdmin התפקיד הזה נותן שליטה מלאה ברשת ה-VPC שממנה מתבצעת ההתחברות למופע AlloyDB. אם אתם משתמשים ב-Private Service Connect כדי להתחבר למופע AlloyDB מכמה רשתות VPC, לכל רשת יש אדמין משלה.
dns.admin התפקיד הזה נותן שליטה מלאה על משאבי Cloud DNS, כולל אזורי DNS ורשומות DNS.
alloydb.admin התפקיד הזה נותן שליטה מלאה במופע AlloyDB ושולט במופע לאורך מחזור החיים שלו.
alloydb.databaseUser (אופציונלי) מספק גישה למופע AlloyDB. אם אתם מתחברים דרך לקוח AlloyDB Auth Proxy, אתם צריכים להיות בעלי תפקיד לקוח AlloyDB. אם מתחברים ישירות, לא צריך תפקידים והרשאות בניהול הזהויות והרשאות הגישה (IAM).
Custom AlloyDB role (אופציונלי) אם אתם משתמשים בתפקיד בהתאמה אישית, בנוסף להענקת התפקידים compute.networkAdmin ו-dns.admin, צריך להעניק את ההרשאות הבאות:
  • alloydb.clusters.create: מספק גישה להפעלת Private Service Connect באשכול.
  • alloydb.instances.create ו-alloydb.instances.update: מאפשרים להוסיף רשימה של פרויקטים מורשים ולהגדיר URI של רשת מצורפת למופע.

יצירת נקודת קצה של Private Service Connect

נקודות קצה של Private Service Connect הן כתובות IP פנימיות ברשת VPC של צרכן, שלקוחות ברשת הזו יכולים לגשת אליהן ישירות. לקוחות יכולים להשתמש בנקודות הקצה האלה כדי להתחבר למופעי AlloyDB.

כדי שמערכת AlloyDB תיצור את נקודת הקצה (endpoint) של Private Service Connect באופן אוטומטי, צריך לבצע את הפעולות הבאות:

אפשר גם ליצור את נקודת הקצה של Private Service Connect באופן ידני.

יצירת נקודת הקצה באופן אוטומטי

כדי להגדיר את המכונה כך ש-AlloyDB ייצור את נקודת הקצה (endpoint) של Private Service Connect באופן אוטומטי, מבצעים את השלבים הבאים:

  1. יצירה של מדיניות לחיבור שירות.
  2. יצירת מכונת AlloyDB
  3. שליפת נקודת הקצה.
  4. עדכון מופע ליצירה אוטומטית של נקודות קצה
  5. הגדרת קישוריות יוצאת.

יצירת מדיניות לחיבור שירות

אפשר לעשות שימוש חוזר במדיניות קיימת של חיבור שירות או ליצור מדיניות חדשה של חיבור שירות באמצעות מסוף Google Cloud או Google Cloud CLI.

מדיניות חיבור שירות מאפשרת לכם להעניק הרשאה לסוג שירות מסוים ליצור נקודת קצה של Private Service Connect ברשת ה-VPC של הצרכן. אתם יכולים להשתמש במדיניות חיבור השירות כדי לאפשר ל-AlloyDB ליצור נקודות קצה (endpoints) של Private Service Connect באופן אוטומטי.

המסוף

  1. נכנסים לדף Private Service Connect במסוף Google Cloud .

    כניסה אל Private Service Connect

  2. לוחצים על הכרטיסייה מדיניות חיבור.

  3. לוחצים על יצירת מדיניות לקישור.

  4. מזינים שם למדיניות החיבור.

  5. בקטע Service details, בשדה Service class, בוחרים באפשרות google-cloud-alloydb.

  6. בקטע Endpoints scope, בוחרים Network ו-Region שהמדיניות הזו חלה עליהם.

  7. בקטע Endpoints configuration, בוחרים תת-רשת אחת או יותר מהתפריט Subnetworks. תת-הרשתות משמשות להקצאת כתובות IP לנקודות קצה.

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

  9. לוחצים על יצירת מדיניות.

gcloud

כדי ליצור מדיניות לחיבור שירות, משתמשים בפקודה service-connection-policies create.

gcloud network-connectivity service-connection-policies create POLICY_NAME \
    --network=NETWORK \
    --project=PROJECT_ID \
    --region=REGION \
    --service-class=SERVICE_CLASS \
    --subnets=https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETS \
    --psc-connection-limit=LIMIT \
    --description="DESCRIPTION" \
    --producer-instance-location=PRODUCER_INSTANCE_LOCATION \
    --allowed-google-producers-resource-hierarchy-level=LIST_OF_NODES

מחליפים את מה שכתוב בשדות הבאים:

  • POLICY_NAME: השם של מדיניות חיבור השירות.
  • NETWORK: הרשת שהמדיניות הזו חלה עליה.
  • PROJECT_ID: מזהה הפרויקט או מספר הפרויקט של רשת ה-VPC. ברשתות VPC משותפות, צריך לפרוס מדיניות של חיבור שירות בפרויקט המארח, כי אין תמיכה במדיניות כזו בפרויקטים של שירותים.
  • REGION: האזור שהמדיניות הזו חלה עליו. אותה מדיניות צריכה להתקיים בכל אזור שבו רוצים להפוך את הקישוריות לשירות לאוטומטית.
  • SERVICE_CLASS: מזהה המשאב של סוג השירות שסופק על ידי היצרן. ב-AlloyDB, סוג השירות הוא google-cloud-alloydb.
  • SUBNETS: תת-רשת צרכנית רגילה אחת או יותר שמשמשת להקצאת כתובות IP לנקודות קצה של Private Service Connect. כתובות ה-IP האלה מוקצות באופן אוטומטי ומוחזרות למאגר של תת-הרשת כשמופעלות ונמחקות דוגמאות של שירותים מנוהלים. תת-הרשתות צריכות להיות באותו אזור כמו מדיניות חיבור השירות. אם כמה מדיניות חיבור שירות משתפות את אותו אזור, אפשר לעשות שימוש חוזר באותה תת-רשת במדיניות הזו. אפשר להזין כמה תת-רשתות ברשימה מופרדת בפסיקים.
  • LIMIT: המספר המקסימלי של נקודות קצה שאפשר ליצור באמצעות המדיניות הזו. אם לא מציינים מגבלה, אין מגבלה.
  • DESCRIPTION: תיאור אופציונלי של מדיניות חיבור השירות.
  • PRODUCER_INSTANCE_LOCATION: מציין אם המדיניות מבצעת אוטומציה של חיבורים למופעי AlloyDB. אפשר להגדיר את הערך הזה באחת מהדרכים הבאות:

    • none (ברירת מחדל): מופע AlloyDB נמצא באותו פרויקט כמו מדיניות חיבור השירות. בסביבת VPC משותף, אם מופע AlloyDB נמצא בפרויקט שירות ואתם יוצרים את מדיניות החיבור בפרויקט המארח, אתם צריכים להגדיר את הפרמטר הזה ל-none.custom-resource-hierarchy-levels
    • custom-resource-hierarchy-levels: מחייב להגדיר את נתיב המיקום של מנהל המשאבים לפרויקטים שרוצים להפוך את הקישוריות שלהם לאוטומטית באמצעות הפרמטר allowed-google-producers-resource-hierarchy-level.
  • LIST_OF_NODES: צריך להגדיר את הפרמטר הזה אם המיקום של מופע היצרן מוגדר ל-custom-resource-hierarchy-levels. הפרמטר הזה הוא רשימה של פרויקטים, תיקיות וארגונים שבהם נמצאים המקרים שרוצים להפוך את הקישוריות שלהם לאוטומטית. הרשימה היא מהצורה projects/PROJECT_ID, folders/FOLDER_ID או organizations/ORGANIZATION_ID.

לדוגמה, הפקודה הבאה יוצרת מדיניות של חיבור שירות עבור מחלקת השירות google-cloud-alloydb שמקצה כתובות IP מתת-הרשת managed-services. אפשר ליצור באמצעות המדיניות הזו עד 10 נקודות קצה מסוג Private Service Connect. צריך ליצור את נקודות הקצה בפרויקטים שנמצאים באותו ארגון כמו מופע השירות המנוהל. מופע AlloyDB נמצא בפרויקט myproject.

gcloud network-connectivity service-connection-policies create alloydb-policy \
    --network=default \
    --project=my-project \
    --region=us-central1 \
    --service-class=google-cloud-alloydb \
    --subnets=managed-service-subnet \
    --psc-connection-limit=10 \
    --producer-instance-location=custom-resource-hierarchy-levels \
    --allowed-google-producers-resource-hierarchy-level=projects/myproject

יצירת מכונת AlloyDB

אפשר ליצור מכונה עם Private Service Connect מופעל עבור המכונה, ולהגדיר את המכונה כך שייווצרו נקודות קצה (endpoints) באופן אוטומטי באמצעות המסוף, ה-CLI של gcloud או Terraform.

המסוף

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

    מעבר אל Clusters

  2. לוחצים על יצירת אשכול.

  3. בשדה Cluster ID (מזהה האשכול), מזינים my-cluster.

  4. מזינים סיסמה. חשוב לשים לב לסיסמה הזו כי תצטרכו להשתמש בה במדריך הזה.

  5. שמירה של גרסת מסד הנתונים שמוגדרת כברירת מחדל.

  6. בוחרים את האזור us-central1 (Iowa).

  7. משאירים את מזהה ברירת המחדל של המכונה, my-cluster-primary.

  8. בקטע Zonal availability (זמינות אזורית), משאירים את האפשרות Single zone (אזור יחיד) כבחירה. למרות שאנחנו לא ממליצים על שימוש במופע של אזור יחיד בסביבת ייצור, במדריך הזה נעשה שימוש באזור יחיד כדי לצמצם את העלויות. מידע נוסף מפורט במאמר איך להקטין את העלויות באמצעות מכונות בסיסיות.

  9. בוחרים את 2 vCPU, 16 GB סוג המכונה.

  10. שמירה על קישוריות של כתובת IP פרטית.

    1. בוחרים באפשרות Private Service Connect (PSC).
    2. לוחצים על הוספת נקודת קצה.
    3. בוחרים את הפרויקט שבו רוצים ליצור את נקודת הקצה.
    4. בוחרים את הרשת.
    5. כדי לקבל מידע על מדיניות חיבור השירות, לוחצים על בדיקת מדיניות.
  11. משאירים את הגדרות ברירת המחדל בקטע אבטחת רשת.

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

  13. לוחצים על יצירת אשכול. יכול להיות שיחלפו כמה דקות עד ש-AlloyDB ייצור את האשכול ויציג אותו בדף Overview של האשכול הראשי.

gcloud

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

gcloud alloydb clusters create CLUSTER_ID \
  --password=PASSWORD \
  --region=REGION_ID \
  --project=PROJECT_ID \
  --enable-private-service-connect

מחליפים את מה שכתוב בשדות הבאים:

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

  • PASSWORD: הסיסמה שבה יש להשתמש עבור משתמש ברירת המחדל postgres.

  • REGION_ID: האזור שבו רוצים למקם את האשכול.

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

הפקודה הזו מפעילה פעולה ממושכת ומחזירה מזהה פעולה.

כדי ליצור את מכונת AlloyDB, ראשית או מאגר לקריאה לשימוש ב-Private Service Connect, משתמשים בפקודה gcloud alloydb instances create. חשוב לכלול את הפרמטר --allowed-psc-projects כדי לציין אילו פרויקטים של צרכנים יכולים ליצור נקודות קצה להתחברות למופע הזה.

gcloud alloydb instances create INSTANCE_ID \
    --instance-type=PRIMARY \
    --cpu-count=CPU_COUNT \
    --availability-type=AVAILABILITY \
    --region=REGION_ID \
    --cluster=CLUSTER_ID \
    --project=PROJECT_ID \
    --allowed-psc-projects=ALLOWED_PROJECT_LIST \
    --psc-network-attachment-uri=NETWORK_ATTACHMENT_URI \
    --psc-auto-connections=network=CONSUMER_NETWORK,project=CONSUMER_PROJECT

מחליפים את מה שכתוב בשדות הבאים:

  • INSTANCE_ID: המזהה של המכונה שאתם יוצרים. הוא צריך להתחיל באות קטנה באנגלית, ויכול לכלול אותיות קטנות, מספרים ומקפים.
  • CPU_COUNT: מספר ליבות ה-CPU הווירטואליות שרוצים להקצות למופע. הערכים התקינים כוללים את האפשרויות הבאות:
    • 2: 2 vCPUs, ‏ 16 GB RAM
    • 4: 4 vCPUs, ‏ ‎32 GB RAM
    • 8: 8 vCPUs, ‏ ‎64 GB RAM
    • 16: 16 vCPUs, ‏ 128 GB RAM
    • 32: 32 vCPUs, ‏ 256 GB RAM
    • 64: 64 vCPUs, ‏ 512 GB RAM
    • 96: 96 vCPUs, ‏ 768 GB RAM
    • 128: 128 vCPUs, ‏ 864 GB RAM
  • AVAILABILITY: מציין אם המופע הזה צריך להיות בעל זמינות גבוהה (HA), עם צמתים בכמה אזורים. הערכים התקפים כוללים:
    • REGIONAL: יוצרת מופע HA עם צמתים פעילים ונפרדים במצב המתנה, ומעבר אוטומטי לגיבוי בין הצמתים. זהו ערך ברירת המחדל, שמתאים לסביבות ייצור.
    • ZONAL: יוצר מופע בסיסי, שמכיל רק צומת אחד, וללא מעבר אוטומטי לגיבוי.
  • REGION_ID: האזור שבו רוצים למקם את המכונה.
  • CLUSTER_ID: המזהה של האשכול שיצרתם קודם.
  • ALLOWED_PROJECT_LIST: רשימה מופרדת בפסיקים של מזהי פרויקטים או מספרי פרויקטים שרוצים לאפשר להם גישה למופע – לדוגמה, my-project-1, 12345,my-project-n.
  • NETWORK_ATTACHMENT_URI (אופציונלי): שם המשאב המלא של כתובת ה-URI של רשת ה-VPC שיוצרים לקישוריות יוצאת. לדוגמה: projects/PROJECT_ID/regions/REGION_ID/networkAttachments/NETWORK_ATTACHMENT_ID.
  • CONSUMER_NETWORK: הנתיב לרשת ה-VPC שבה צריך ליצור נקודות קצה של Private Service Connect. לדוגמה: projects/my-host-project/global/networks/default. האפשרות הזו רלוונטית כשיוצרים נקודות קצה באופן אוטומטי. חשוב לוודא שמדיניות חיבור השירות נוצרה. אפשר ליצור את המדיניות לפני או אחרי שיוצרים את המופע.
  • CONSUMER_PROJECT: הפרויקט שבו נוצרת נקודת הקצה של Private Service Connect. אם אתם משתמשים ברשת VPC משותפת, זה יכול להיות פרויקט המארח או פרויקט השירות. כל הפרויקטים שאתם מציינים בפרמטרים של החיבור האוטומטי מתווספים אוטומטית לרשימת הפרויקטים המורשים. לחלופין, אם אתם רוצים ליצור נקודות קצה של Private Service Connect באופן ידני בפרויקטים מסוימים, אתם יכולים להוסיף את הפרויקטים האלה לרשימת הפרויקטים המורשים.

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

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
  }
  psc_instance_config {
  allowed_consumer_projects = ["123456789"]
  psc_interface_configs {
    network_attachment_resource = google_compute_network_attachment.default.id
  }
  }
}

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

resource "google_compute_subnetwork" "default" {
    name = "alloydb-subnetwork"
    region = "us-central1"
    network = google_compute_network.default.id
    ip_cidr_range = "10.0.0.0/16"
}

resource "google_compute_network_attachment" "default" {
  name                  = "alloydb-network-attachment"
  region                = "us-central1"
  connection_preference = "ACCEPT_AUTOMATIC"
  subnetworks = [
    google_compute_subnetwork.default.self_link
  ]
}

data "google_project" "project" {}

כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.

אחזור נקודת הקצה

אפשר לאחזר את כתובת ה-IP הפנימית, שהיא נקודת הקצה (endpoint) של Private Service Connect של מופע, ולהשתמש בנקודת הקצה הזו כדי להתחבר למופע.

כדי לראות מידע על מכונה, כולל כתובת ה-IP שהיא נקודת הקצה של Private Service Connect עבור המכונה, משתמשים בפקודה gcloud alloydb instances describe:

gcloud alloydb instances describe INSTANCE_NAME \
--project=PROJECT_ID \
--format='json(settings.ipConfiguration.pscConfig.pscAutoConnections)'

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

בתגובה, שימו לב לערך שמופיע ליד השדה pscConfig:pscAutoConnections:ipAddress. הערך הזה הוא כתובת ה-IP הפנימית שהיא גם נקודת הקצה של Private Service Connect עבור המופע.

עדכון מופע ליצירה אוטומטית של נקודות קצה

כדי לעדכן מופע וליצור נקודות קצה באופן אוטומטי, מעבירים את הפרמטר --psc-auto-connections לפקודה gcloud alloydb instances update.

הגדרת קישוריות לשיחות יוצאות

כדי להפעיל קישוריות יוצאת למכונת AlloyDB עם Private Service Connect מופעל, צריך להגדיר את מזהה ה-URI של קובץ הרשת המצורף למכונה. מידע נוסף זמין במאמר בנושא הגדרת קישוריות יוצאת.

יצירת נקודת הקצה באופן ידני

בקטעים הבאים מוסבר איך ליצור נקודת קצה של Private Service Connect באופן ידני.

יצירת מכונת AlloyDB

אפשר ליצור מכונה עם Private Service Connect מופעל עבור המכונה, ולהגדיר את המכונה כך שייווצרו נקודות קצה (endpoints) באופן אוטומטי באמצעות המסוף, ה-CLI של gcloud או Terraform.

המסוף

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

    מעבר אל Clusters

  2. לוחצים על יצירת אשכול.

  3. בשדה Cluster ID (מזהה האשכול), מזינים my-cluster.

  4. מזינים סיסמה. חשוב לשים לב לסיסמה הזו כי תצטרכו להשתמש בה במדריך הזה.

  5. שמירה של גרסת מסד הנתונים שמוגדרת כברירת מחדל.

  6. בוחרים את האזור us-central1 (Iowa).

  7. משאירים את מזהה ברירת המחדל של המכונה, my-cluster-primary.

  8. בקטע Zonal availability (זמינות אזורית), משאירים את האפשרות Single zone (אזור יחיד) כבחירה. למרות שאנחנו לא ממליצים על שימוש במופע של אזור יחיד בסביבת ייצור, במדריך הזה נעשה שימוש באזור יחיד כדי לצמצם את העלויות. מידע נוסף מפורט במאמר איך להקטין את העלויות באמצעות מכונות בסיסיות.

  9. בוחרים את 2 vCPU, 16 GB סוג המכונה.

  10. שמירה על קישוריות של כתובת IP פרטית.

    1. בוחרים באפשרות Private Service Connect(PSC).
    2. לוחצים על הוספת נקודת קצה.
    3. בוחרים את הפרויקט שבו רוצים ליצור את נקודת הקצה.
    4. בוחרים את הרשת.
    5. כדי לקבל מידע על מדיניות חיבור השירות, לוחצים על בדיקת מדיניות.
  11. משאירים את הגדרות ברירת המחדל בקטע אבטחת רשת.

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

  13. לוחצים על יצירת אשכול. יכול להיות שיחלפו כמה דקות עד ש-AlloyDB ייצור את האשכול ויציג אותו בדף Overview של האשכול הראשי.

gcloud

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

gcloud alloydb clusters create CLUSTER_ID \
  --password=PASSWORD \
  --region=REGION_ID \
  --project=PROJECT_ID \
  --enable-private-service-connect

מחליפים את מה שכתוב בשדות הבאים:

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

  • PASSWORD: הסיסמה שבה יש להשתמש עבור משתמש ברירת המחדל postgres.

  • REGION_ID: האזור שבו רוצים למקם את האשכול.

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

הפקודה הזו מפעילה פעולה ממושכת ומחזירה מזהה פעולה.

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

gcloud alloydb instances create INSTANCE_ID \
    --instance-type=PRIMARY \
    --cpu-count=CPU_COUNT \
    --availability-type=AVAILABILITY \
    --region=REGION_ID \
    --cluster=CLUSTER_ID \
    --project=PROJECT_ID \
    --allowed-psc-projects=ALLOWED_PROJECT_LIST \
    --psc-network-attachment-uri=NETWORK_ATTACHMENT_URI \

מחליפים את מה שכתוב בשדות הבאים:

  • INSTANCE_ID: המזהה של המכונה שאתם יוצרים. הוא צריך להתחיל באות קטנה באנגלית, ויכול לכלול אותיות קטנות, מספרים ומקפים.
  • CPU_COUNT: מספר ליבות ה-CPU הווירטואליות שרוצים להקצות למופע. הערכים התקינים כוללים את האפשרויות הבאות:
    • 2: 2 vCPUs, ‏ 16 GB RAM
    • 4: 4 vCPUs, ‏ ‎32 GB RAM
    • 8: 8 vCPUs, ‏ ‎64 GB RAM
    • 16: 16 vCPUs, ‏ 128 GB RAM
    • 32: 32 vCPUs, ‏ 256 GB RAM
    • 64: 64 vCPUs, ‏ 512 GB RAM
    • 96: 96 vCPUs, ‏ 768 GB RAM
    • 128: 128 vCPUs, ‏ 864 GB RAM
  • AVAILABILITY: מציין אם המופע הזה צריך להיות בעל זמינות גבוהה (HA), עם צמתים בכמה אזורים. הערכים התקפים כוללים:
    • REGIONAL: יוצרת מופע HA עם צמתים פעילים ונפרדים במצב המתנה, ומעבר אוטומטי לגיבוי בין הצמתים. זהו ערך ברירת המחדל, שמתאים לסביבות ייצור.
    • ZONAL: יוצר מופע בסיסי, שמכיל רק צומת אחד, וללא מעבר אוטומטי לגיבוי.
  • REGION_ID: האזור שבו רוצים למקם את המכונה.
  • CLUSTER_ID: המזהה של האשכול שיצרתם קודם.
  • ALLOWED_PROJECT_LIST: רשימת מזהי הפרויקטים או מספרי הפרויקטים שרוצים לאפשר להם גישה למופע, מופרדים בפסיקים. לדוגמה: my-project-1, 12345,my-project-n.
  • NETWORK_ATTACHMENT_URI (אופציונלי): שם המשאב המלא של כתובת ה-URI של רשת ה-VPC שיוצרים לקישוריות יוצאת. לדוגמה: projects/PROJECT_ID/regions/REGION_ID/networkAttachments/NETWORK_ATTACHMENT_ID.
  • CONSUMER_NETWORK: הנתיב לרשת ה-VPC שממנה צריך ליצור נקודות קצה של Private Service Connect. לדוגמה: projects/my-host-project/global/networks/default. האפשרות הזו רלוונטית כשיוצרים נקודות קצה באופן אוטומטי. מוודאים שמדיניות חיבור השירות נוצרה. אפשר ליצור את המדיניות לפני או אחרי שיוצרים את המופע.
  • CONSUMER_PROJECT: הפרויקט שבו נוצרת נקודת הקצה של Private Service Connect. אם אתם משתמשים ברשת VPC משותפת, זה יכול להיות פרויקט המארח או פרויקט השירות. כל הפרויקטים שאתם מציינים בפרמטרים של החיבור האוטומטי מתווספים אוטומטית לרשימת הפרויקטים המורשים. לחלופין, אם אתם רוצים ליצור נקודות קצה של Private Service Connect באופן ידני בפרויקטים מסוימים, אתם יכולים להוסיף את הפרויקטים האלה לרשימת הפרויקטים המורשים.

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

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
  }
  psc_instance_config {
  allowed_consumer_projects = ["123456789"]
  psc_interface_configs {
    network_attachment_resource = google_compute_network_attachment.default.id
  }
  }
}

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

resource "google_compute_subnetwork" "default" {
    name = "alloydb-subnetwork"
    region = "us-central1"
    network = google_compute_network.default.id
    ip_cidr_range = "10.0.0.0/16"
}

resource "google_compute_network_attachment" "default" {
  name                  = "alloydb-network-attachment"
  region                = "us-central1"
  connection_preference = "ACCEPT_AUTOMATIC"
  subnetworks = [
    google_compute_subnetwork.default.self_link
  ]
}

data "google_project" "project" {}

כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.

קבלת קובץ מצורף של שירות

אחרי שיוצרים מכונת AlloyDB עם Private Service Connect מופעל, מקבלים את כתובת ה-URL של הקובץ המצורף לשירות ומשתמשים בה כדי ליצור את נקודת הקצה (endpoint) של Private Service Connect.

כדי לראות פרטים על מכונה, משתמשים בפקודה gcloud alloydb instances describe.

gcloud alloydb instances describe INSTANCE_ID \
 --cluster=CLUSTER_ID \
 --region=REGION_ID

מחליפים את מה שכתוב בשדות הבאים:

  • INSTANCE_ID: מזהה המכונה.
  • CLUSTER_ID: מזהה האשכול.
  • REGION_ID: האזור שבו נפרס אשכול AlloyDB.

דוגמה לתגובה לפקודה:

  "pscInstanceConfig": {
    "serviceAttachmentLink:": "https://www.googleapis.com/compute/v1/projects/my-project/regions/my-region/serviceAttachments/my-service-attachment-id"
        "allowedConsumerProjects": {
          "45678",
          "12345",
              "67890",
            },
            "pscDnsName": "015f5524-0555-4a0a-ac5a-0d15d64b15cb.008225d5-070a-4566-aaad-fcb3c87c5901.us-east4.alloydb-psc.goog."
          }

הפרמטר serviceAttachmentLink מכיל את הערך של כתובת ה-URL של קובץ השירות.

יצירת נקודת קצה של Private Service Connect

כדי ליצור נקודת קצה של Private Service Connect, צריך להעביר את כתובת ה-URL של קובץ השירות המצורף יחד עם שם ייחודי של נקודת הקצה. מידע נוסף על יצירת נקודת קצה של Private Service Connect זמין במאמר יצירת נקודת קצה.

אפשר גם להזמין כתובת IP פנימית לנקודת הקצה של Private Service Connect באמצעות הפקודה gcloud compute addresses create, ואז להשתמש בכתובת ה-IP שהוזמנה כשיוצרים את נקודת הקצה.

הגדרת קישוריות לשיחות יוצאות

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

יצירת הצירוף לרשת

אפשר ליצור קובץ מצורף לרשת שיכול לקבל חיבורים באופן אוטומטי(ACCEPT_AUTOMATIC) או באופן ידני (ACCEPT_MANUAL). מידע נוסף על יצירת קובץ מצורף לרשת זמין במאמר יצירה וניהול של קבצים מצורפים לרשת.

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

כדי למצוא את מספר הפרויקט שבבעלות השירות, מריצים את הפקודה הבאה:

gcloud alloydb clusters describe CLUSTER_ID --region=REGION_ID

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

pscConfig:
pscEnabled: true
serviceOwnedProjectNumber: 123456789012

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

חשוב לוודא שהאזור של קובץ הרשת זהה לאזור של מופע AlloyDB. בנוסף, תת-הרשת שמשמשת ליצירת הקובץ המצורף לרשת צריכה להיות שייכת לטווח כתובות ה-IP של RFC 1918, שהן 10.0.0.0/8,‏ 172.16.0.0/12 ו-192.168.0.0/16.

עדכון מכונה לקישוריות יוצאת

כדי להפעיל קישוריות יוצאת למכונת AlloyDB קיימת עם Private Service Connect מופעל, מעבירים את הפרמטר --psc-network-attachment-uri לפקודה gcloud alloydb instances update.

אי אפשר לעדכן מופעי AlloyDB שנוצרו לפני 1 במרץ 2025 כדי להפעיל חיבורים יוצאים. כגישה חלופית, מומלץ להשתמש באחת מהאפשרויות הבאות:


השבתת קישוריות יוצאת

כדי להשבית את הקישוריות היוצאת במופע AlloyDB קיים, מעבירים את הפרמטר --clear-psc-network-attachment-uri לפקודה gcloud alloydb instances update.

התחברות למופע AlloyDB

כדי להתחבר למכונת AlloyDB עם Private Service Connect מופעל, אפשר להשתמש באחת מהאפשרויות הבאות:

צריך להגדיר רשומת DNS למחברי השפות כדי להשתמש ב-Private Service Connect.

בשיטות שבהן משתמשים ברשומת DNS, צריך ליצור את הרשומה בתחום DNS פרטי ברשת ה-VPC המתאימה. אחרי שיוצרים רשומת DNS, אפשר להשתמש בה כדי להתחבר למופע שמופעל בו Private Service Connect.

הגדרת תחום מנוהל של DNS ורשומת DNS

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

  1. כדי לראות סיכום מידע על מופע AlloyDB, כולל שם ה-DNS של המופע, משתמשים בפקודה gcloud alloydb instances describe:

    gcloud alloydb instances describe INSTANCE_ID \
    --cluster=CLUSTER_ID \
    --region=REGION_ID \
    --format='json(pscInstanceConfig)'

    מחליפים את מה שכתוב בשדות הבאים:

    • INSTANCE_ID: המזהה של המכונה.
    • CLUSTER_ID: מזהה האשכול.

    בתשובה, מוודאים ששם ה-DNS מופיע. שם ה-DNS הוא בתבנית INSTANCE_UID.CLUSTER_UID.REGION_NAME.alloydb-psc.goog.. לדוגמה, 015f5524-0555-4a0a-ac5a-0d15d64b15cb.008225d5-070a-4566-aaad-fcb3c87c5901.us-east4.alloydb-psc.goog.

  2. כדי ליצור אזור DNS פרטי, משתמשים בפקודה gcloud dns managed-zones create. האזור הזה משויך לרשת ה-VPC שמשמשת לחיבור למופע AlloyDB דרך נקודת הקצה של Private Service Connect.

    gcloud dns managed-zones create ZONE_NAME \
    --project=PROJECT_ID \
    --description=DESCRIPTION \
    --dns-name=DNS_NAME \
    --networks=NETWORK_NAME \
    --visibility=private

    מחליפים את מה שכתוב בשדות הבאים:

    • ZONE_NAME: השם של תחום ה-DNS.
    • PROJECT_ID: המזהה או מספר הפרויקט של Google Cloud הפרויקט שמכיל את האזור.
    • DESCRIPTION: תיאור של האזור (לדוגמה, תחום DNS למופע AlloyDB).
    • DNS_NAME: שם ה-DNS של האזור, למשל INSTANCE_UID.CLUSTER_UID.REGION_NAME.alloydb-psc.goog..
    • NETWORK_NAME: השם של רשת ה-VPC. במקרה של רשת VPC משותפת, צריך להגדיר את הנתיב המוגדר במלואו של רשת ה-VPC – לדוגמה, projects/cymbal-project/global/networks/shared-vpc-network.
  3. אחרי שיוצרים את נקודת הקצה (endpoint) של Private Service Connect, כדי ליצור רשומת DNS באזור, משתמשים בפקודה gcloud dns record-sets create:

    gcloud dns record-sets create DNS_NAME \
    --project=PROJECT_ID \
    --type=RRSET_TYPE \
    --rrdatas=RR_DATA \
    --zone=ZONE_NAME

    מחליפים את מה שכתוב בשדות הבאים:

    • DNS_NAME: שם ה-DNS שאחזרתם קודם בהליך הזה.
    • RRSET_TYPE: סוג רשומת המשאבים של קבוצת רשומות ה-DNS (לדוגמה, A).
    • RR_DATA: כתובת ה-IP שהוקצתה לנקודת הקצה של Private Service Connect (לדוגמה, 198.51.100.5). אפשר גם להזין כמה ערכים, כמו rrdata1 rrdata2 rrdata3 (לדוגמה, 10.1.2.3 10.2.3.4 10.3.4.5).

התחברות ישירה באמצעות רשומת DNS

אחרי שיוצרים נקודת קצה (endpoint) של Private Service Connect ורשומת DNS, אפשר להתחבר ישירות באמצעות רשומת ה-DNS.

  1. כדי לאחזר את רשומת ה-DNS של נקודת הקצה של Private Service Connect, משתמשים בפקודה gcloud compute addresses describe:

    gcloud compute addresses describe DNS_RECORD \
    --project=PROJECT_ID \
    --region=REGION_NAME

    מחליפים את מה שכתוב בשדות הבאים:

    • DNS_RECORD: רשומת ה-DNS של נקודת הקצה.
    • PROJECT_ID: המזהה או מספר הפרויקט של Google Cloud הפרויקט שמכיל את נקודת הקצה.
    • REGION_NAME: שם האזור של נקודת הקצה.
  2. כדי להתחבר למופע AlloyDB, משתמשים ברשומת ה-DNS.

    psql -U USERNAME -h DNS_RECORD

    מחליפים את מה שכתוב בשדות הבאים:

    • USERNAME: השם של המשתמש שמתחבר למכונה.
    • DNS_RECORD: רשומת ה-DNS של נקודת הקצה.

חיבור באמצעות שרת proxy לאימות ב-AlloyDB

שרת ה-proxy לאימות של AlloyDB הוא מחבר שמאפשר ליצור חיבורים מוצפנים ומורשים למסדי נתונים של AlloyDB. ה-AlloyDB Auth Proxy פועל באמצעות לקוח מקומי שפועל בסביבה המקומית. האפליקציה שלכם מתקשרת עם AlloyDB Auth Proxy באמצעות פרוטוקול מסד הנתונים הרגיל שבו משתמש מסד הנתונים.

כשמגדירים את הדגל --psc בזמן הפעלת לקוח Auth Proxy, ‏ AlloyDB Auth Proxy משתמש ברשומת ה-DNS שיצרתם כדי להתחבר למכונה שמופעל בה Private Service Connect.

חשוב לוודא שאתם מפעילים את לקוח Auth Proxy על ידי העברת ה-URI של המופע שמאחזרים באמצעות הפקודה gcloud alloydb instances list, ומגדירים את הדגל --psc.

מידע נוסף על חיבור למופע באמצעות שרת proxy לאימות זמין במאמר חיבור באמצעות שרת proxy לאימות.

חיבור באמצעות AlloyDB Language Connectors

מחברי שפות של AlloyDB הם ספריות שמספקות mTLS אוטומטי עם TLS 1.3 והרשאה לניהול זהויות והרשאות גישה (IAM) כשמתחברים למופע AlloyDB.

אחרי שמחבר השפה קובע שהמופע תומך ב-Private Service Connect, הוא משתמש ברשומת ה-DNS שיצרתם כדי להתחבר למופע.

Java

אם אתם משתמשים ב-Private Service Connect כדי להתחבר למופע AlloyDB, צריך לכלול את הפרטים הבאים:

config.addDataSourceProperty("alloydbIpType", "PSC");

מידע נוסף על שימוש בנקודת קצה (endpoint) של Private Service Connect במחברים של Java Language זמין במאגר GitHub.

Python ‏ (pg8000)

אם אתם משתמשים ב-Private Service Connect כדי להתחבר למופע AlloyDB, צריך לכלול את הפרטים הבאים:

  def getconn() -> pg8000.dbapi.Connection:
      conn: pg8000.dbapi.Connection = connector.connect(
          inst_uri,
          "pg8000",
          user=user,
          password=password,
          db=db,
          # use ip_type to specify PSC
          ip_type=IPTypes.PSC,
      )
      return conn

מידע נוסף על שימוש בנקודת קצה (endpoint) של Private Service Connect במחברים של שפת Python זמין במאגר GitHub.

Python (asyncpg)

אם אתם משתמשים ב-Private Service Connect כדי להתחבר למופע AlloyDB, צריך לכלול את הפרטים הבאים:

  async def getconn() -> asyncpg.Connection:
    conn: asyncpg.Connection = await connector.connect(
        inst_uri,
        "asyncpg",
        user=user,
        password=password,
        db=db,
        # use ip_type to specify PSC
        ip_type=IPTypes.PSC,
    )
    return conn

מידע נוסף על שימוש בנקודת קצה (endpoint) של Private Service Connect במחברים של שפת Python זמין במאגר GitHub.

‫Go (pgx)

אם אתם משתמשים ב-Private Service Connect כדי להתחבר למופע AlloyDB, צריך לכלול את הפרטים הבאים:

d.Dial(ctx, instURI, alloydbconn.WithPSC())

מידע נוסף על שימוש בנקודת קצה של Private Service Connect במחברים של Go Language זמין במאגר GitHub.

‫Go (database/sql)

אם אתם משתמשים ב-Private Service Connect כדי להתחבר למופע AlloyDB, צריך לכלול את הפרטים הבאים:

  cleanup, err := pgxv5.RegisterDriver(
    "alloydb",
    alloydbconn.WithDefaultDialOptions(alloydbconn.WithPSC())
)

מידע נוסף על שימוש בנקודת קצה של Private Service Connect במחברים של Go Language זמין במאגר GitHub.

התחברות ישירה באמצעות כתובת IP פנימית

אחרי שיוצרים נקודת קצה (endpoint) של Private Service Connect, אפשר להתחבר ישירות למכונת AlloyDB באמצעות כתובת ה-IP שהגדרתם.

  1. כדי לאחזר את כתובת ה-IP של נקודת הקצה של Private Service Connect, משתמשים בפקודה gcloud compute addresses describe:

    gcloud compute addresses describe ADDRESS_NAME \
    --project=PROJECT_ID \
    --region=REGION_NAME

    מחליפים את מה שכתוב בשדות הבאים:

    • ADDRESS_NAME: השם של כתובת ה-IP של נקודת הקצה.
    • PROJECT_ID: המזהה או מספר הפרויקט של Google Cloud הפרויקט שמכיל את נקודת הקצה.
    • REGION_NAME: שם האזור של נקודת הקצה.
  2. כדי להתחבר למופע AlloyDB, משתמשים בכתובת ה-IP הפנימית.

    psql -U USERNAME -h IP_ADDRESS"

    מחליפים את מה שכתוב בשדות הבאים:

    • USERNAME: השם של המשתמש שמתחבר למכונה.
    • IP_ADDRESS: כתובת ה-IP של נקודת הקצה.

מגבלות

  • אתם יכולים להגדיר עד 20 נקודות קצה (endpoints) של Private Service Connect שמתחברות לקובץ המצורף לשירות של מופע AlloyDB עם Private Service Connect מופעל.
  • אי אפשר להשתמש בדגל --network כשיוצרים אשכול עם Private Service Connect כי הוא משויך לגישה לשירותים פרטיים.
  • אי אפשר להפעיל או להשבית את Private Service Connect במופע קיים.
  • אי אפשר להגדיר מופע שמופעל בו Private Service Connect לשימוש בגישה לשירותים פרטיים.