כדי להתחבר למכונה ראשית, למאגר קריאה או למכונה משנית של AlloyDB ל-PostgreSQL מכמה רשתות של ענן וירטואלי פרטי (VPC) ששייכות לקבוצות, לצוותים, לפרויקטים או לארגונים שונים בלי להגדיר קישור בין רשתות VPC שכנות (peering), אתם יכולים להגדיר את Private Service Connect.
התפקידים הנדרשים
בהתאם לפעולה שאתם מבצעים – הגדרת תשתית של Private Service Connect או התחברות כלקוח של מסד נתונים – אתם צריכים להקצות את התפקידים המתאימים בניהול הזהויות והרשאות הגישה (IAM):
| משימה | תפקיד | תיאור |
|---|---|---|
| הגדרת נקודות קצה (endpoint) וחיבורי רשת של Private Service Connect | אדמין של רשת Compute (roles/compute.networkAdmin) |
נותן שליטה מלאה ברשת ה-VPC של הצרכן שיוזמת חיבור למכונה של AlloyDB. אם אתם מתחברים מכמה רשתות VPC, כל רשת מנוהלת על ידי אדמין משלה. |
| יצירת נקודות קצה של Private Service Connect או משאבי לקוח בפרויקטים של שירות VPC משותף | משתמש ברשת Compute (roles/compute.networkUser) |
נותן הרשאות בפרויקט המארח של ה-VPC המשותף או ברשתות המשנה המשותפות, כדי שאדמינים של פרויקטי שירות וסוכני שירות בפרויקטים מצורפים של שירות יוכלו ליצור נקודות קצה של Private Service Connect או מכונות וירטואליות של לקוחות שמשתמשות ברשת ה-VPC המשותפת וברשתות המשנה של הפרויקט המארח. |
| הגדרת תחומים ורשומות פרטיים של DNS | אדמין DNS (roles/dns.admin) |
התפקיד הזה נותן שליטה מלאה על משאבי Cloud DNS, כולל תחומים פרטיים וקבוצות של רשומות ב-DNS. |
| יצירה וניהול של אשכולות ומכונות של AlloyDB | אדמין ב-AlloyDB (roles/alloydb.admin) |
התפקיד הזה נותן שליטה מלאה על אשכולות ומכונות של AlloyDB במהלך מחזור החיים שלהם. אם משתמשים בתפקיד בהתאמה אישית, צריך לתת את ההרשאות alloydb.clusters.create (כדי להפעיל את Private Service Connect באשכול), alloydb.instances.create ו-alloydb.instances.update (כדי להגדיר את הפרויקטים המורשים של הצרכנים ואת מזהי ה-URI של מחברי הרשת). |
| התחברות למכונה כלקוח | לקוח AlloyDB (roles/alloydb.client) וצרכן השימוש בשירות (roles/serviceusage.serviceUsageConsumer) (אופציונלי) |
נדרש אם מתחברים באמצעות שרת ה-proxy לאימות של AlloyDB או מחברי השפות ל-AlloyDB. אם אתם משתמשים גם באימות של מסד הנתונים באמצעות IAM, אתם צריכים להקצות את התפקיד "משתמש במסד הנתונים של AlloyDB" (roles/alloydb.databaseUser). אם אתם מתחברים ישירות באמצעות אימות מובנה של מסד הנתונים, לא נדרשים תפקידי IAM לחיבור הלקוח. |
יצירת נקודת קצה מסוג Private Service Connect
נקודות הקצה של Private Service Connect הן כתובות IP פנימיות ברשת VPC של צרכן, שלקוחות ברשת הזו יכולים לגשת אליהן ישירות כדי להתחבר למכונות AlloyDB.
כדי ש-AlloyDB ייצור את נקודת הקצה של Private Service Connect באופן אוטומטי, מבצעים את הפעולות הבאות:
- משתמשים שוב במדיניות קיימת של חיבור לשירות או יוצרים מדיניות של חיבור לשירות ברשתות ה-VPC. המדיניות הזו מאפשרת להקצות נקודות קצה (endpoints) של Private Service Connect באופן אוטומטי.
- יוצרים אשכול ומכונה של AlloyDB כשהאפשרות Private Service Connect מופעלת במכונה, ומגדירים את המכונה כך שתיצור נקודות קצה של Private Service Connect באופן אוטומטי.
- מאחזרים את נקודת הקצה של המכונה. כך תוכלו להשתמש בנקודת הקצה כדי להתחבר למכונה.
- אופציונלי: מעדכנים אשכול ומכונה קיימים של AlloyDB כשהאפשרות Private Service Connect מופעלת כדי ליצור נקודות קצה באופן אוטומטי.
אתם יכולים גם ליצור את נקודת הקצה של Private Service Connect באופן ידני או להגדיר נקודות קצה ב-VPC משותף עם כמה פרויקטים או ברשת Hub-and-Spoke.
יצירת נקודת הקצה באופן אוטומטי
כדי להגדיר את המכונה כך ש-AlloyDB ייצור את נקודת הקצה של Private Service Connect באופן אוטומטי, מבצעים את השלבים הכלליים הבאים:
- יצירת מדיניות של חיבורי שירות.
- יוצרים מכונה של AlloyDB.
- אחזור נקודת הקצה.
- עדכון מכונה ליצירת נקודות קצה באופן אוטומטי.
- הגדרת קישוריות יוצאת.
יצירת מדיניות של חיבור לשירות
אתם יכולים להשתמש מחדש במדיניות קיימת של חיבור לשירות או ליצור מדיניות חדשה באמצעות מסוף Google Cloud או Google Cloud CLI.
מדיניות חיבור לשירות מאפשרת לכם לאשר למחלקת שירות מסוימת ליצור נקודת קצה (endpoint) של Private Service Connect ברשת ה-VPC של הצרכן. אתם יכולים להשתמש במדיניות החיבור לשירות כדי לאפשר ל-AlloyDB ליצור נקודות קצה (endpoints) של Private Service Connect באופן אוטומטי.
המסוף
נכנסים לדף Private Service Connect במסוף Google Cloud .
לוחצים על הכרטיסייה מדיניות חיבורים.
לוחצים על Create connection policy.
מזינים שם למדיניות החיבור.
בקטע Service details, בשדה Service class בוחרים באפשרות
google-cloud-alloydb.בקטע Endpoints scope, בוחרים את ה-Network ואת ה-Region שהמדיניות חלה עליהם.
בקטע Endpoints configuration, בוחרים רשת משנה אחת או יותר מהתפריט Subnetworks. רשתות המשנה משמשות להקצאת כתובות IP לנקודות קצה.
אופציונלי: מציינים מגבלת חיבורים למדיניות. המגבלה קובעת כמה נקודות קצה (endpoints) אפשר ליצור ב-AlloyDB למדיניות החיבור הזו. אם לא מציינים מגבלת חיבורים, אין מגבלה.
לוחצים על יצירת מדיניות.
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 נמצאת בפרויקט שירות ואתם יוצרים את מדיניות החיבור בפרויקט המארח, צריך להגדיר את הפרמטר הזה לערךcustom-resource-hierarchy-levels. -
custom-resource-hierarchy-levels: צריך להגדיר את נתיב המיקום של מנהל המשאבים לפרויקטים שרוצים להפוך את הקישוריות שלהם לאוטומטית באמצעות הפרמטרallowed-google-producers-resource-hierarchy-level.
-
LIST_OF_NODES: צריך להגדיר את הפרמטר הזה אם המיקום של מכונת ה-producer מוגדר ל-custom-resource-hierarchy-levels. הפרמטר הזה הוא רשימה של פרויקטים, תיקיות וארגונים שבהם נמצאים המכונות שאתם רוצים להפוך את הקישוריות שלהן לאוטומטית. הרשימה היא בפורמטprojects/PROJECT_ID,folders/FOLDER_IDאוorganizations/ORGANIZATION_ID.
לדוגמה, הפקודה הבאה יוצרת מדיניות חיבור לשירות עבור מחלקת השירות google-cloud-alloydb, שמקצה כתובות IP מרשת המשנה managed-service-subnet. באמצעות המדיניות הזו אפשר ליצור עד 10 נקודות קצה (endpoint) מסוג 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) באופן אוטומטי באמצעות מסוף Google Cloud , ה-CLI של gcloud או Terraform.
המסוף
נכנסים לדף Clusters במסוף Google Cloud .
לוחצים על Create cluster.
בשדה Cluster ID, מזינים
my-cluster.מזינים סיסמה. שימו לב לסיסמה הזו, כי תצטרכו להשתמש בה במדריך למתחילים.
משאירים את גרסת ברירת המחדל של מסד הנתונים.
בוחרים את האזור
us-central1 (Iowa).משאירים את מזהה המכונה שמוגדר כברירת מחדל,
my-cluster-primary.בקטע Zonal availability, משאירים את האפשרות Single zone מסומנת. למרות שלא מומלץ להשתמש במכונה באזור יחיד בסביבת ייצור, במדריך למתחילים הזה תשתמשו באזור יחיד כדי לצמצם את העלויות. מידע נוסף זמין במאמר הפחתת עלויות באמצעות מכונות בסיסיות.
בוחרים את סוג המכונה
2 vCPU, 16 GB.שמירה על קישוריות של כתובת IP פרטית.
- בוחרים באפשרות Private Service Connect (PSC).
- לוחצים על הוספת נקודת קצה.
- בוחרים את הפרויקט שבו רוצים ליצור את נקודת הקצה.
- בוחרים את הרשת.
- לוחצים על Check policy כדי לקבל מידע על מדיניות החיבור לשירות.
שומרים את הגדרות ברירת המחדל בקטע Network security.
לא מבצעים שינויים בקטע הצגת אפשרויות מתקדמות.
לוחצים על Create cluster. יכול להיות שיחלפו כמה דקות עד ש-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. כדי לציין אילו פרויקטים של צרכנים יכולים ליצור נקודות קצה (endpoints) שיתחברו למכונה הזו, צריך לכלול את הפרמטר --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: מספר המעבדים הווירטואליים שרוצים להקצות למכונה. הערכים התקינים כוללים:-
2: 2 vCPUs, 16GB RAM -
4: 4 מעבדי vCPU, 32GB RAM -
8: 8 vCPU, 64GB RAM -
16: 16 מעבדי vCPU, RAM בנפח 128GB -
32: 32 מעבדי vCPU, 256GB RAM -
64: 64 מעבדי vCPU, 512GB RAM -
96: 96 מעבדי vCPU, 768GB RAM 128: 128 מעבדי vCPU, 864GB RAM
-
-
AVAILABILITY: מציין אם המכונה הזו צריכה להיות בזמינות גבוהה (HA), עם צמתים בכמה אזורים. הערכים התקינים כוללים:-
REGIONAL: יוצרת מכונה עם זמינות גבוהה (HA) עם צומתי המתנה וצמתים פעילים נפרדים, ויתירות כשל אוטומטית ביניהם. זהו ערך ברירת המחדל, שמתאים לסביבות ייצור. -
ZONAL: יוצרת מכונה בסיסית שמכילה רק צומת אחד, ללא יתירות כשל אוטומטית.
-
-
REGION_ID: האזור שבו נמצאת המכונה. -
CLUSTER_ID: המזהה של האשכול שיצרתם קודם. -
ALLOWED_PROJECT_LIST: רשימה מופרדת בפסיקים של מזהי פרויקטים או מספרי פרויקטים שרוצים לאפשר להם גישה למכונה – לדוגמה,my-project-1, 12345, my-project-n. -
NETWORK_ATTACHMENT_URI(אופציונלי): שם המשאב המלא של ה-URI של חיבור הרשת שאתם יוצרים לקישוריות יוצאת. לדוגמה: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
כדי ליצור אשכול ומכונה של AlloyDB עם Private Service Connect, משתמשים במשאבי Terraform google_alloydb_cluster ו-google_alloydb_instance:
resource "google_alloydb_cluster" "default" {
cluster_id = "alloydb-cluster"
location = "us-central1"
psc_config {
psc_enabled = true
}
}
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 = [data.google_project.project.number]
psc_auto_connections {
consumer_network = google_compute_network.default.id
consumer_project = data.google_project.project.project_id
}
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.
אחזור נקודת הקצה (endpoint)
אחרי שמאחזרים את כתובת ה-IP הפנימית, שהיא נקודת הקצה של Private Service Connect למכונה, אפשר להשתמש בנקודת הקצה הזו כדי להתחבר למכונה.
כדי להציג מידע על מכונה, כולל כתובת ה-IP שהיא נקודת הקצה של Private Service Connect של המכונה, משתמשים בפקודה gcloud alloydb instances describe:
gcloud alloydb instances describe INSTANCE_NAME \ --project=PROJECT_ID \ --cluster=CLUSTER_ID \ --region=REGION_ID \ --format='json(pscInstanceConfig.pscAutoConnections)'
מחליפים את מה שכתוב בשדות הבאים:
- INSTANCE_NAME: השם של מכונת AlloyDB. אם במכונה הזו מופעל Private Service Connect, נקודות קצה של Private Service Connect ברשתות VPC יכולות להתחבר אליה.
- PROJECT_ID: המזהה או מספר הפרויקט ב- Google Cloud שמכיל את המכונה.
- CLUSTER_ID: מזהה האשכול.
- REGION_ID: האזור שבו נמצאת המכונה.
בתגובה, שימו לב לערך שמופיע לצד השדה pscInstanceConfig.pscAutoConnections.ipAddress. הערך הזה הוא כתובת ה-IP הפנימית, שהיא גם נקודת הקצה של Private Service Connect במכונה.
עדכון מכונה ליצירת נקודות קצה באופן אוטומטי
כדי לעדכן מכונה כך שתיצור נקודות קצה באופן אוטומטי, משתמשים בפקודה gcloud alloydb instances update עם הפרמטר --psc-auto-connections:
gcloud alloydb instances update INSTANCE_ID \
--cluster=CLUSTER_ID \
--region=REGION_ID \
--project=PROJECT_ID \
--psc-auto-connections=network=CONSUMER_NETWORK,project=CONSUMER_PROJECTמחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_ID: המזהה של המכונה שמעדכנים. -
CLUSTER_ID: מזהה האשכול. -
REGION_ID: האזור שבו נמצאת המכונה. -
PROJECT_ID: מזהה הפרויקט שבו נמצא המכונה. -
CONSUMER_NETWORK: הנתיב לרשת ה-VPC שבה נוצרות נקודות הקצה של Private Service Connect, לדוגמהprojects/my-host-project/global/networks/default. -
CONSUMER_PROJECT: הפרויקט שבו נוצרה נקודת הקצה של Private Service Connect.
הגדרת קישוריות יוצאת
כדי להפעיל קישוריות יוצאת למכונה של AlloyDB שמופעל בה Private Service Connect, צריך להגדיר את ה-URI של מחבר הרשת למכונה. מידע נוסף זמין במאמר הגדרת קישוריות יוצאת.
יצירת נקודת הקצה באופן ידני
בקטעים הבאים מוסבר איך ליצור נקודת קצה של Private Service Connect באופן ידני.
יצירת מכונה של AlloyDB
אפשר ליצור מכונה עם Private Service Connect באמצעות מסוף Google Cloud , ה-CLI של gcloud או Terraform.
המסוף
נכנסים לדף Clusters במסוף Google Cloud .
לוחצים על Create cluster.
בשדה Cluster ID, מזינים
my-cluster.מזינים סיסמה. שימו לב לסיסמה הזו, כי תצטרכו להשתמש בה במדריך למתחילים.
משאירים את גרסת ברירת המחדל של מסד הנתונים.
בוחרים את האזור
us-central1 (Iowa).משאירים את מזהה המכונה שמוגדר כברירת מחדל,
my-cluster-primary.בקטע Zonal availability, משאירים את האפשרות Single zone מסומנת. למרות שלא מומלץ להשתמש במכונה באזור יחיד בסביבת ייצור, במדריך למתחילים הזה תשתמשו באזור יחיד כדי לצמצם את העלויות. מידע נוסף זמין במאמר הפחתת עלויות באמצעות מכונות בסיסיות.
בוחרים את סוג המכונה
2 vCPU, 16 GB.משאירים את הקישוריות לכתובת ה-IP הפרטית ובוחרים באפשרות Private Service Connect (PSC).
בקטע Allowed consumer projects, מזינים את מזהי הפרויקטים או את מספרי הפרויקטים שרוצים לאפשר להם להתחבר למכונה.
שומרים את הגדרות ברירת המחדל בקטע Network security.
לא מבצעים שינויים בקטע הצגת אפשרויות מתקדמות.
לוחצים על Create cluster. יכול להיות שיחלפו כמה דקות עד ש-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: מספר המעבדים הווירטואליים שרוצים להקצות למכונה. הערכים התקינים כוללים:-
2: 2 vCPUs, 16GB RAM -
4: 4 מעבדי vCPU, 32GB RAM -
8: 8 vCPU, 64GB RAM -
16: 16 מעבדי vCPU, RAM בנפח 128GB -
32: 32 מעבדי vCPU, 256GB RAM -
64: 64 מעבדי vCPU, 512GB RAM -
96: 96 מעבדי vCPU, 768GB RAM 128: 128 מעבדי vCPU, 864GB RAM
-
-
AVAILABILITY: מציין אם המכונה הזו צריכה להיות בזמינות גבוהה (HA), עם צמתים בכמה אזורים. הערכים התקינים כוללים:-
REGIONAL: יוצרת מכונה עם זמינות גבוהה (HA) עם צומתי המתנה וצמתים פעילים נפרדים, ויתירות כשל אוטומטית ביניהם. זהו ערך ברירת המחדל, שמתאים לסביבות ייצור. -
ZONAL: יוצרת מכונה בסיסית שמכילה רק צומת אחד, ללא יתירות כשל אוטומטית.
-
-
REGION_ID: האזור שבו נמצאת המכונה. -
CLUSTER_ID: המזהה של האשכול שיצרתם קודם. -
ALLOWED_PROJECT_LIST: רשימה מופרדת בפסיקים של מזהי פרויקטים או מספרי פרויקטים שרוצים לאפשר להם גישה למכונה – לדוגמה,my-project-1, 12345, my-project-n. -
NETWORK_ATTACHMENT_URI(אופציונלי): שם המשאב המלא של ה-URI של חיבור הרשת שאתם יוצרים לקישוריות יוצאת. לדוגמה:projects/PROJECT_ID/regions/REGION_ID/networkAttachments/NETWORK_ATTACHMENT_ID.
אשכול משני שנוצר בשביל אשכול ראשי שמופעל בו Private Service Connect, מקבל בירושה באופן אוטומטי את ההגדרות של Private Service Connect. מידע נוסף זמין במאמר יצירת אשכול משני.
Terraform
כדי ליצור אשכול ומכונה של AlloyDB עם Private Service Connect, משתמשים במשאבי Terraform google_alloydb_cluster ו-google_alloydb_instance:
resource "google_alloydb_cluster" "default" {
cluster_id = "alloydb-cluster"
location = "us-central1"
psc_config {
psc_enabled = true
}
}
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 = [data.google_project.project.number]
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
כדי ליצור נקודת קצה (endpoint) של Private Service Connect, צריך להעביר את כתובת ה-URL של קובץ השירות המצורף יחד עם שם ייחודי של נקודת הקצה. מידע נוסף על יצירת נקודת קצה מסוג Private Service Connect זמין במאמר יצירת נקודת קצה.
אפשר גם לשמור כתובת IP פנימית לנקודת הקצה של Private Service Connect באמצעות הפקודה gcloud compute addresses create, ואז להשתמש בכתובת ה-IP השמורה כשיוצרים את נקודת הקצה, או להקצות את כתובת ה-IP הפנימית ואת כלל ההעברה באמצעות Terraform:
resource "google_compute_address" "psc_endpoint_ip" {
name = "alloydb-psc-endpoint-ip"
region = "us-central1"
subnetwork = google_compute_subnetwork.default.id
address_type = "INTERNAL"
}
resource "google_compute_forwarding_rule" "psc_endpoint" {
name = "alloydb-psc-endpoint"
region = "us-central1"
network = google_compute_network.default.id
ip_address = google_compute_address.psc_endpoint_ip.self_link
load_balancing_scheme = ""
target = google_alloydb_instance.default.psc_instance_config[0].service_attachment_link
}
הגדרת נקודות קצה ברשת VPC משותפת עם כמה פרויקטים או ברשת מסוג Hub-and-Spoke
בארכיטקטורה של כמה פרויקטים, אתם יכולים לפרוס נקודת קצה מרכזית של Private Service Connect בפרויקט מארח או בפרויקט רכזת. לקוחות של מסדי נתונים בכמה פרויקטים של שירות או פרויקטים של Spoke יכולים להתחבר למכונה של AlloyDB דרך נקודת הקצה הזו.
האופן שבו לקוחות בפרויקטים מסוג Spoke מגיעים לנקודת הקצה המרכזית תלוי בטופולוגיה של הרשת:
VPC משותף: הפרויקט המארח והפרויקטים המצורפים של השירות חולקים רשת VPC אחת. לקוחות של מסד נתונים בכל פרויקט שירות מצורף יכולים להגיע לנקודת הקצה באותו אזור, או באזורים שונים כשהגישה הגלובלית מופעלת.
Multi-VPC hub-and-spoke with Network Connectivity Center: פרויקטים של Spoke משתמשים ברשתות VPC נפרדות שמתחברות לרכזת של Network Connectivity Center. לקוחות ברשתות VPC אחרות יכולים להגיע לנקודת קצה של Private Service Connect ברשת ה-VPC המרכזית, אם מפעילים את הפצת החיבורים של Private Service Connect ב-Hub.
רשת VPC מרובה מסוג Hub-and-Spoke עם קישור בין רשתות VPC שכנות (peering): אי אפשר להגיע לנקודות קצה של Private Service Connect באופן טרנזיטיבי דרך קישור בין רשתות VPC שכנות (peering). במקום זאת, צריך לפרוס נקודת קצה נפרדת של Private Service Connect בכל רשת VPC מקושרת.
מומלץ ליצור מדיניות חיבור לשירות בפרויקט המארח כדי להקצות את נקודת הקצה באופן אוטומטי. אם אתם לא יכולים ליצור מדיניות חיבור לשירות, אתם יכולים ליצור נקודת קצה של Private Service Connect באופן ידני בפרויקט מארח של VPC משותף. כדי לעשות את זה:
מאשרים את הפרויקט שבבעלותו נקודת הקצה בהגדרת המכונה של AlloyDB.
בדגל
--allowed-psc-projectsשל מכונת AlloyDB, צריך לכלול את מזהה הפרויקט שבו יוצרים את נקודת הקצה. כשפורסים נקודת קצה מרכזית בפרויקט המארח, צריך לכלול את מזהה הפרויקט המארח. אין צורך לציין פרויקטים של שירות שמריצים רק עומסי עבודה של לקוחות שמתחברים לנקודת הקצה של הפרויקט המארח. כדי לאפשר לפרויקטים של שירותים לפרוס את נקודות הקצה שלהם באופן מקומי, צריך לכלול גם את מזהי הפרויקטים האלה. כדי לעדכן את הפרויקטים המורשים במכונה קיימת, מריצים את הפקודהgcloud alloydb instances updateעם הדגל--allowed-psc-projects. הדגל--allowed-psc-projectsמחליף את הרשימה הקיימת של הפרויקטים המורשים, במקום להוסיף לה. כדי שנקודות הקצה הקיימות לא ינותקו, צריך לכלול את כל מזהי הפרויקטים המותרים הקיימים יחד עם מזהה הפרויקט המארח החדש.בפרויקט המארח, שומרים כתובת IP פנימית לנקודת הקצה באמצעות הפקודה
gcloud compute addresses create:gcloud compute addresses create ADDRESS_NAME \ --project=HOST_PROJECT_ID \ --region=REGION_ID \ --subnet=HOST_SUBNETמחליפים את מה שכתוב בשדות הבאים:
ADDRESS_NAME: השם שרוצים להקצות לכתובת ה-IP השמורה.
HOST_PROJECT_ID: מזהה הפרויקט המארח של ה-VPC המשותף.
REGION_ID: האזור של כתובת ה-IP של נקודת הקצה. האזור הזה צריך להיות אותו אזור שבו נמצא המכונה של AlloyDB.
HOST_SUBNET: השם של רשת המשנה של הפרויקט המארח שמספקת את כתובת ה-IP של נקודת הקצה.
בפרויקט המארח, יוצרים את כלל ההעברה לנקודת הקצה באמצעות הפקודה
gcloud compute forwarding-rules create:gcloud compute forwarding-rules create ENDPOINT_NAME \ --project=HOST_PROJECT_ID \ --region=REGION_ID \ --network=HOST_NETWORK \ --address=ADDRESS_NAME \ --target-service-attachment=SERVICE_ATTACHMENT_URLמחליפים את מה שכתוב בשדות הבאים:
ENDPOINT_NAME: השם שרוצים להקצות לנקודת הקצה.
HOST_PROJECT_ID: מזהה הפרויקט המארח של ה-VPC המשותף.
REGION_ID: האזור של נקודת הקצה.
HOST_NETWORK: השם של רשת ה-VPC המארחת.
ADDRESS_NAME: השם של כתובת ה-IP השמורה מהשלב הקודם.
SERVICE_ATTACHMENT_URL: כתובת ה-URL של חיבור השירות שקיבלתם ממכונת AlloyDB.
כדי לאפשר ללקוחות בכל אזור של רשת ה-VPC המשותפת להגיע לנקודת הקצה, צריך לכלול את הדגל האופציונלי
--allow-psc-global-access.באמצעות הפקודה
gcloud compute forwarding-rules describe, מוודאים שסטטוס החיבור של נקודת הקצה הואACCEPTED:gcloud compute forwarding-rules describe ENDPOINT_NAME \ --project=HOST_PROJECT_ID \ --region=REGION_ID \ --format="value(pscConnectionStatus)"מקצים את התפקיד "משתמש ברשת Compute" (
roles/compute.networkUser) ברשת המשנה המשותפת לאדמינים ולסוכני השירות של כל פרויקט שירות.עומסי עבודה של לקוחות ברשת VPC משותפת לא צריכים את התפקיד
roles/compute.networkUserברשת המשנה של נקודת הקצה כדי לשלוח תנועה ברשת לנקודת קצה של פרויקט מארח. עם זאת, אדמין של VPC משותף צריך להקצות את התפקידroles/compute.networkUserבפרויקט המארח או ברשתות המשנה המשותפות, כדי שאדמינים של פרויקטים של שירות וסוכני שירות יוכלו להקצות מכונות וירטואליות של Compute Engine או אשכולות של Google Kubernetes Engine (GKE) ברשתות משנה משותפות.כדי להקצות את התפקיד
roles/compute.networkUserברשת משנה משותפת, מריצים את הפקודהgcloud compute networks subnets add-iam-policy-binding:gcloud compute networks subnets add-iam-policy-binding SHARED_SUBNET \ --project=HOST_PROJECT_ID \ --region=SUBNET_REGION_ID \ --member=PRINCIPAL \ --role=roles/compute.networkUserמחליפים את מה שכתוב בשדות הבאים:
SHARED_SUBNET: השם של תת-הרשת המשותפת בפרויקט המארח, שבו פרויקט השירות פורס משאבי לקוח, כמו מכונות וירטואליות של Compute Engine או צומתי GKE. תת-הרשת הזו לא צריכה להיות תת-הרשת שלHOST_SUBNETשבה שמרתם את כתובת ה-IP של נקודת הקצה.
HOST_PROJECT_ID: מזהה הפרויקט המארח של ה-VPC המשותף.
SUBNET_REGION_ID: האזור של רשת המשנה המשותפת.
PRINCIPAL: חשבון המשתמש בפרויקט השירות, למשלuser:admin@example.comאוserviceAccount:SERVICE_PROJECT_NUMBER@cloudservices.gserviceaccount.com.
אם עומסי העבודה של הלקוח בפרויקט שירות או בפרויקט Spoke מתחברים באמצעות שרת ה-proxy לאימות של AlloyDB, מחברי שפות ל-AlloyDB או אימות של מסד נתונים ב-IAM, צריך להקצות את תפקידי הלקוח הנדרשים של AlloyDB (
roles/alloydb.clientו-roles/alloydb.databaseUser) לחשבון השירות של עומס העבודה בפרויקט שמכיל את אשכול AlloyDB, ולא בפרויקט המארח או בפרויקט Hub.מגדירים תחום DNS פרטי ורשומה בפרויקט המארח, ומשייכים את התחום לרשת ה-VPC המשותפת.
ב-VPC משותף, כל פרויקטי השירות המצורפים משתפים את רשת ה-VPC המארחת ופותרים באופן אוטומטי את שם המארח
pscDnsNameשל המכונה, בלי תחומי DNS נפרדים בכל פרויקט שירות. בטופולוגיית כוכב עם כמה רשתות VPC, שבה פרויקטים של רשתות Spoke משתמשים ברשתות VPC נפרדות, צריך לקשר את תחום ה-DNS הפרטי לרשתות ה-VPC של רשתות ה-Spoke באמצעות קישור בין פרויקטים או תחומי קישור בין רשתות שכנות (peering) ב-Cloud DNS.
לחלופין, כדי לאפשר לאדמינים של פרויקטים של שירות ליצור ולנהל נקודות קצה משלהם ישירות בפרויקטים של השירות שלהם באמצעות רשתות משנה משותפות, ראו יצירת נקודת קצה בפרויקט שירות של VPC משותף.
הגדרת קישוריות יוצאת
כדי לאפשר קישוריות יוצאת, מגדירים את ה-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, משתמשים בפקודה gcloud alloydb instances update עם הפרמטר --psc-network-attachment-uri:
gcloud alloydb instances update INSTANCE_ID \
--cluster=CLUSTER_ID \
--region=REGION_ID \
--project=PROJECT_ID \
--psc-network-attachment-uri=NETWORK_ATTACHMENT_URIמחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_ID: מזהה המכונה. -
CLUSTER_ID: מזהה האשכול. -
REGION_ID: האזור שבו נמצאת המכונה. -
PROJECT_ID: מזהה הפרויקט שבו נמצא המכונה. -
NETWORK_ATTACHMENT_URI: שם המשאב המלא של ה-URI של חיבור הרשת שאתם יוצרים לקישוריות יוצאת, לדוגמהprojects/PROJECT_ID/regions/REGION_ID/networkAttachments/NETWORK_ATTACHMENT_ID.
אי אפשר לעדכן מכונות AlloyDB שנוצרו לפני 1 במרץ 2025 כדי להפעיל חיבורים יוצאים. כגישה חלופית, אנחנו ממליצים להשתמש באחת מהאפשרויות הבאות:
- יוצרים רפליקה אזורית של המכונה הראשית באמצעות רפליקציה בכמה אזורים (CRR), ומפעילים את הקישוריות החוצה. לאחר מכן, מבצעים מעבר כדי להגדיר את מכונת הרפליקה כמכונה הראשית החדשה.
- מגבים את האשכול הקיים של AlloyDB ואת המכונה הראשית. לאחר מכן, יוצרים אשכול AlloyDB חדש ומכונה ראשית עם קישוריות יוצאת מופעלת. לבסוף, משחזרים את הגיבוי שנוצר קודם לכן באשכול החדש.
השבתת הקישוריות היוצאת
כדי להשבית את הקישוריות החוצה במכונה קיימת של AlloyDB, משתמשים בפקודה gcloud alloydb instances update עם הפרמטר --clear-psc-network-attachment-uri:
gcloud alloydb instances update INSTANCE_ID \
--cluster=CLUSTER_ID \
--region=REGION_ID \
--project=PROJECT_ID \
--clear-psc-network-attachment-uriמחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_ID: מזהה המכונה. -
CLUSTER_ID: מזהה האשכול. -
REGION_ID: האזור שבו נמצאת המכונה. -
PROJECT_ID: מזהה הפרויקט שבו נמצא המכונה.
התחברות למכונה של AlloyDB
אתם יכולים להתחבר למכונה של AlloyDB שמופעל בה Private Service Connect באחת מהדרכים הבאות:
- חיבור ישיר באמצעות רשומת DNS
- שימוש ב-AlloyDB Auth Proxy עם רשומת DNS
- שימוש במחברי השפות ל-AlloyDB עם רשומת DNS
- חיבור ישיר באמצעות כתובת IP פנימית
pscDnsName שנוצר מראש של המכונה לכתובת ה-IP הפנימית של נקודת הקצה של Private Service Connect.בשיטות שמשתמשות ברשומת DNS, צריך ליצור את הרשומה בתחום DNS פרטי ברשת ה-VPC של הצרכן. הערך של pscDnsName שמוחזר על ידי AlloyDB API הוא מחרוזת של שם מארח שנוצרה מראש, והוא לא נפתר עד שיוצרים תחום DNS פרטי ורשומת A ברשת ה-VPC של הצרכן.
הגדרת תחום מנוהל של DNS ורשומת DNS
כדי להגדיר אזור מנוהל של DNS ורשומת DNS ברשת הצרכן:
gcloud
כדי להציג את פרטי הסיכום של מכונה ב-AlloyDB, כולל ה-
pscDnsNameשנוצר מראש של המכונה, משתמשים בפקודהgcloud alloydb instances describe:gcloud alloydb instances describe INSTANCE_ID \ --cluster=CLUSTER_ID \ --region=REGION_ID \ --format='json(pscInstanceConfig)'מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_ID: מזהה המכונה. -
CLUSTER_ID: מזהה האשכול. -
REGION_ID: האזור שבו נמצאת המכונה.
בתשובה, מוודאים שהשדה
pscDnsNameמופיע. שם ה-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..-
כדי ליצור תחום 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 zone for the AlloyDB instance). -
DNS_NAME: שם ה-DNS של האזור, למשלINSTANCE_UID.CLUSTER_UID.REGION_NAME.alloydb-psc.goog.(או דומיין ההורהalloydb-psc.goog.). -
NETWORK_NAME: השם של רשת ה-VPC של הצרכן. ברשת VPC משותפת, צריך להגדיר את הנתיב המלא של רשת ה-VPC, לדוגמהprojects/cymbal-project/global/networks/shared-vpc-network.
-
אחרי שיוצרים את נקודת הקצה של Private Service Connect, יוצרים רשומת
Aשל 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: הערך שלpscDnsNameשאחזרתם קודם בתהליך הזה. -
RRSET_TYPE: סוג רשומת המשאב של קבוצת רשומות ה-DNS (A). -
RR_DATA: כתובת ה-IP הפנימית שהוקצתה לנקודת הקצה של Private Service Connect (לדוגמה,198.51.100.5).
-
Terraform
כדי ליצור תחום DNS פרטי ב-Cloud DNS ורשומת A שממפה את ה-pscDnsName של המכונה לכתובת ה-IP הפנימית של נקודת הקצה של Private Service Connect, משתמשים במשאבי Terraform google_dns_managed_zone ו-google_dns_record_set:
resource "google_dns_managed_zone" "psc_dns_zone" {
name = "alloydb-psc-zone"
dns_name = google_alloydb_instance.default.psc_instance_config[0].psc_dns_name
description = "Private DNS zone for AlloyDB PSC endpoint"
visibility = "private"
private_visibility_config {
networks {
network_url = google_compute_network.default.id
}
}
}
resource "google_dns_record_set" "psc_dns_record" {
name = google_alloydb_instance.default.psc_instance_config[0].psc_dns_name
type = "A"
ttl = 300
managed_zone = google_dns_managed_zone.psc_dns_zone.name
rrdatas = [google_compute_address.psc_endpoint_ip.address]
}
חיבור ישיר באמצעות רשומת DNS
אחרי שיוצרים נקודת קצה (endpoint) של Private Service Connect ומגדירים רשומת DNS A פרטית ל-pscDnsName של המכונה, אפשר להתחבר ישירות מלקוח ברשת ה-VPC של הצרכן באמצעות שם ה-DNS (בלי הנקודה בסוף):
psql -U USERNAME -h DNS_NAME -d DATABASE_NAMEמחליפים את מה שכתוב בשדות הבאים:
-
USERNAME: השם של משתמש מסד הנתונים שמתחבר למכונה. -
DNS_NAME: השם של רשומת ה-DNS (למשל,pscDnsNameשל המכונה בלי הנקודה בסוף) שמפנה לנקודת הקצה של Private Service Connect. -
DATABASE_NAME: שם מסד הנתונים שאליו רוצים להתחבר (לדוגמה,postgres).
התחברות באמצעות שרת proxy לאימות של AlloyDB
AlloyDB Auth Proxy הוא מחבר שמאפשר ליצור חיבורים מורשים ומוצפנים למסדי נתונים של AlloyDB. כדי להשתמש ב-AlloyDB Auth Proxy, צריך להפעיל לקוח מקומי בסביבה המקומית. האפליקציה מתקשרת עם שרת ה-proxy לאימות של AlloyDB באמצעות פרוטוקול מסד הנתונים הרגיל שבו משתמש מסד הנתונים.
כשמגדירים את הדגל --psc בזמן הפעלת הלקוח של Auth Proxy, שרת ה-Proxy לאימות של AlloyDB פותר את ה-pscDnsName של המכונה באמצעות רשומת ה-DNS הפרטית שיצרתם כדי להתחבר למכונה שמופעל בה Private Service Connect.
מפעילים את לקוח Auth Proxy על ידי העברת ה-URI של המכונה שמאחזרים באמצעות הפקודה gcloud alloydb instances describe, ומגדירים את הדגל --psc.
מידע נוסף על התחברות למכונה באמצעות שרת ה-proxy לאימות מופיע במאמר התחברות באמצעות שרת ה-proxy לאימות של AlloyDB.
התחברות באמצעות מחברי השפות ל-AlloyDB
מחברי שפות ל-AlloyDB הם ספריות שמספקות mTLS אוטומטי עם TLS 1.3 והרשאת IAM כשמתחברים למכונה של AlloyDB.
אחרי שמגדירים את Language Connector ל-Private Service Connect, הוא פותר את ה-pscDnsName של המכונה באמצעות רשומת ה-DNS הפרטית שיצרתם כדי להתחבר למכונה.
Java
אם אתם משתמשים ב-Private Service Connect כדי להתחבר למכונה של AlloyDB, צריך לכלול את הפרטים הבאים:
config.addDataSourceProperty("alloydbIpType", "PSC");
מידע נוסף על השימוש בנקודת קצה של Private Service Connect במחבר Java ל-AlloyDB זמין במאגר 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 במחבר של AlloyDB ל-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 במחבר של AlloyDB ל-Python זמין במאגר ב-GitHub.
Go (pgx)
אם אתם משתמשים ב-Private Service Connect כדי להתחבר למכונה של AlloyDB, צריך לכלול את הפרטים הבאים:
d.Dial(ctx, instURI, alloydbconn.WithPSC())
מידע נוסף על השימוש בנקודת קצה של Private Service Connect במחבר של AlloyDB ל-Go זמין במאגר ב-GitHub.
Go (מסד נתונים/SQL)
אם אתם משתמשים ב-Private Service Connect כדי להתחבר למכונה של AlloyDB, צריך לכלול את הפרטים הבאים:
cleanup, err := postgres.RegisterDriver(
"alloydb",
alloydbconn.WithDefaultDialOptions(alloydbconn.WithPSC()),
)
מידע נוסף על השימוש בנקודת קצה של Private Service Connect במחבר של AlloyDB ל-Go זמין במאגר ב-GitHub.
חיבור ישיר באמצעות כתובת IP פנימית
אחרי שיוצרים נקודת קצה (endpoint) של Private Service Connect, אפשר להתחבר ישירות למכונה של AlloyDB באמצעות כתובת ה-IP הפנימית של נקודת הקצה, בלי להגדיר רשומת DNS.
כדי לאחזר את כתובת ה-IP של נקודת קצה (endpoint) של 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: שם האזור של נקודת הקצה.
-
כדי להתחבר למכונה של 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 לשימוש בגישה לשירותים פרטיים.