במאמר הזה מוסבר איך להגדיר את Private Service Connect לחיבורים לרשת הפרטית של מכונות Cloud SQL.
אחרי שמגדירים את Private Service Connect ואת נקודות הקצה שלו, אתם ולקוחות האפליקציה יכולים להתחבר למופע Cloud SQL ראשי או לכל אחד מהרפליקות לקריאה שלו ממספר רשתות ענן וירטואלי פרטי (VPC) ששייכות לקבוצות, לצוותים, לפרויקטים או לארגונים שונים. אפשר גם להגדיר שמות DNS לכל מופע או שמות DNS גלובליים עבור חיבורי לקוח שמבוססים על שם DNS. זה שימושי במקרים של יתירות כשל ותוכנית התאוששות מאסון (DR).
לפני שמתחילים
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Service Networking, Network Connectivity, Cloud DNS APIs.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
Make sure that you have the following role or roles on the project: Compute Network Admin, Cloud SQL Admin, Cloud DNS Admin, Cloud SQL Instance User
Check for the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
-
In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.
- For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.
Grant the roles
-
In the Google Cloud console, go to the IAM page.
Go to IAM - Select the project.
- Click Grant access.
-
In the New principals field, enter your user identifier. This is typically the identifier for a user in a workforce identity pool. For details, see Represent workforce pool users in IAM policies, or contact your administrator.
- Click Select a role, then search for the role.
- To grant additional roles, click Add another role and add each additional role.
- Click Save.
-
-
הגדירו שה-CLI של gcloud ישתמש בזהות המאוחדת שלכם.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init
תפקידים שנדרשים ל-Private Service Connect
בטבלה הבאה מפורטים התפקידים שנדרשים כדי להגדיר Private Service Connect ולהתחבר אליו באמצעות מופע Cloud SQL.
| תפקיד | תיאור |
|---|---|
compute.networkAdmin |
התפקיד הזה נותן שליטה מלאה ברשת ה-VPC שממנה מתבצע החיבור למופע Cloud SQL. אתם יכולים ליצור ולנהל כתובות IP, כללי חומת אש, כללי מדיניות לחיבור שירותים ונקודות קצה של Private Service Connect. אם אתם משתמשים ב-Private Service Connect כדי להתחבר למופע Cloud SQL מכמה רשתות VPC, לכל רשת יש אדמין משלה. |
dns.admin |
התפקיד הזה מעניק שליטה מלאה במשאבי Cloud DNS, כולל תחומים ורשומות DNS. |
cloudsql.admin |
התפקיד הזה נותן שליטה מלאה במכונה של Cloud SQL ושולט במכונה לאורך מחזור החיים שלה. |
cloudsql.instanceUser |
מספק גישה למופע Cloud SQL. אם מתחברים דרך לקוח Cloud SQL Auth Proxy, צריך להיות לכם תפקיד לקוח Cloud SQL. אם מתחברים ישירות, לא צריך תפקידים והרשאות של ניהול זהויות והרשאות גישה (IAM). |
כדי להגדיר מדיניות חיבור שירות באופן אוטומטי כשיוצרים את מופע Cloud SQL, צריך תפקידים נוספים ואפשרות להקצות את התפקידים לסוכן השירות של Cloud SQL. מידע נוסף מופיע במאמר יצירת מדיניות של חיבור שירות.
יצירת נקודת קצה של Private Service Connect
נקודות קצה של Private Service Connect הן כתובות IP פנימיות ברשת VPC של צרכן, שלקוחות ברשת הזו יכולים לגשת אליהן ישירות. לקוחות יכולים להשתמש בנקודות הקצה האלה כדי להתחבר למופעים של Cloud SQL.
אפשר לבחור שאפשרות Cloud SQL תיצור באופן אוטומטי נקודת קצה של Private Service Connect בענן הווירטואלי הפרטי (VPC), או ליצור את נקודת הקצה באופן ידני.
יצירת נקודת הקצה באופן אוטומטי
כדי ש-Cloud SQL ייצור את נקודת הקצה (endpoint) של Private Service Connect באופן אוטומטי, צריך לבצע את הפעולות הבאות:
יוצרים מדיניות לחיבור שירות ברשת ה-VPC. המדיניות הזו מאפשרת להקצות נקודות קצה של Private Service Connect באופן אוטומטי.
יוצרים מכונת Cloud SQL עם Private Service Connect מופעל למכונה, ומגדירים את המכונה כך שייווצרו נקודות קצה (endpoints) של Private Service Connect באופן אוטומטי.
מאחזרים את נקודת הקצה של המופע. כך תוכלו להשתמש בנקודת הקצה כדי להתחבר למופע.
יצירת מדיניות לחיבור שירות
אפשר ליצור מדיניות של חיבור שירות באמצעות Google Cloud המסוף, ה-CLI של gcloud או ה-API.
המסוף
נכנסים לדף Private Service Connect במסוף Google Cloud .
לוחצים על הכרטיסייה Connection Policies (מדיניות חיבור).
לוחצים על יצירת מדיניות לקישור.
מזינים שם למדיניות החיבור.
כדי לציין את סוג השירות:
- בקטע סוג שירות המקור, בוחרים באפשרות שירותי Google.
- בתפריט Service class (סוג השירות), בוחרים באפשרות
google-cloud-sqlכי Cloud SQL הוא השירות המנוהל למדיניות החיבור.
בקטע Target endpoints scope, בוחרים Network ו-Region שאליהם המדיניות הזו חלה.
אופציונלי: אם מדיניות חיבור השירות והמכונה של Cloud SQL נמצאים בפרויקטים, בתיקיות או בארגונים שונים, צריך להגדיר את ההיקף של מכונת שירות בהתאמה אישית:
- מעבירים את המתג היקף מותאם אישית של מופע שירות למצב מופעל.
- בשדה Scopes (היקפים), מזינים את המזהים של הפרויקטים, התיקיות או הארגונים שבהם נמצא המופע.
בקטע מדיניות, בוחרים רשת משנה אחת או יותר מהתפריט רשתות משנה. רשתות המשנה משמשות להקצאת כתובות IP לנקודות קצה.
אופציונלי: מציינים מגבלת חיבור למדיניות. המגבלה קובעת כמה נקודות קצה אפשר ליצור באמצעות מדיניות החיבור הזו. אם לא מציינים מגבלת חיבור, אין מגבלה.
לוחצים על יצירת מדיניות.
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=RESOURCE_HIERARCHY_LEVEL
מחליפים את מה שכתוב בשדות הבאים:
POLICY_NAME: השם של מדיניות חיבור השירות.-
NETWORK: הרשת שהמדיניות הזו חלה עליה. -
PROJECT_ID: מזהה הפרויקט או מספר הפרויקט של רשת ה-VPC. ברשתות VPC משותפות, צריך לפרוס מדיניות של חיבור שירות בפרויקט המארח, כי אין תמיכה במדיניות כזו בפרויקטים של שירותים. -
REGION: האזור שבו המדיניות הזו חלה. אותה מדיניות צריכה להתקיים בכל אזור שבו רוצים להפוך את הקישוריות לשירות לאוטומטית. -
SERVICE_CLASS: מזהה המשאב של סוג השירות שסופק על ידי היצרן. ב-Cloud SQL, מחלקת השירות היאgoogle-cloud-sql. -
SUBNETS: רשת משנה אחת או יותר של צרכנים רגילים שמשמשות להקצאת כתובות IP לנקודות קצה של Private Service Connect. כתובות ה-IP האלה מוקצות באופן אוטומטי ומוחזרות למאגר של תת-הרשת כשיש יצירה ומחיקה של מופעים של שירות מנוהל. רשתות המשנה צריכות להיות באותו אזור כמו מדיניות החיבור לשירות. אם כמה מדיניות חיבור חולקות את אותו אזור, אפשר להשתמש מחדש באותה רשת משנה במדיניות האלה. אפשר להזין כמה רשתות משנה ברשימה שמופרדת בפסיקים. -
LIMIT: המספר המקסימלי של נקודות קצה שאפשר ליצור באמצעות המדיניות הזו. אם לא מציינים מגבלה, אין מגבלה. -
DESCRIPTION: תיאור אופציונלי של מדיניות חיבור השירות.
PRODUCER_INSTANCE_LOCATION: מציינים אם לאשר היררכיה מותאמת אישית של מיקומים למופע Cloud SQL. אם המופע נמצא בפרויקט, בתיקייה או בארגון אחרים מאלה שמוגדרת בהם המדיניות, צריך להגדיר את הערך הזה כ-custom-resource-hierarchy-levels.
RESOURCE_HIERARCHY_LEVEL: רשימה של פרויקטים, תיקיות או ארגונים שבהם נמצא המופע. הרשימה הזו מופיעה באחד מהפורמטים הבאים:projects/PROJECT_IDfolders/FOLDER_IDorganizations/ORGANIZATION_ID.
לדוגמה, הפקודה הבאה יוצרת מדיניות של חיבור שירות עבור מחלקת השירות
google-cloud-sql שמקצה כתובות IP מתת-הרשת managed-services. אפשר ליצור עד 10 נקודות קצה של Private Service Connect באמצעות המדיניות הזו. צריך ליצור את נקודות הקצה בפרויקטים שנמצאים באותו ארגון כמו מופע השירות המנוהל. המכונה של Cloud SQL נמצאת בפרויקט myproject.
gcloud network-connectivity service-connection-policies create cloud-sql-policy \
--network=default \
--project=my-project \
--region=us-central1 \
--service-class=google-cloud-sql \
--subnets=managed-service-subnet \
--psc-connection-limit=10 \
--producer-instance-location=custom-resource-hierarchy-levels \
--allowed-google-producers-resource-hierarchy-level=projects/myproject
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
REGION: האזור של מדיניות חיבור השירות. -
POLICY_NAME: השם של מדיניות חיבור השירות. DESCRIPTION: תיאור אופציונלי של מדיניות החיבור לשירות.-
NETWORK: הרשת של מדיניות חיבור השירות. -
LIMIT: המספר המקסימלי של נקודות קצה שאפשר ליצור באמצעות המדיניות הזו. אם לא מציינים מגבלה, אין מגבלה. -
SUBNETS: רשתות משנה רגילות לצרכנים שמשמשות להקצאת כתובות IP לנקודות קצה של Private Service Connect. כתובות ה-IP האלה מוקצות באופן אוטומטי ומוחזרות למאגר של תת-הרשת כשיש מקרים של יצירה ומחיקה של מופעים של שירות מנוהל. רשתות המשנה צריכות להיות באותו אזור כמו מדיניות החיבור לשירות. אם כמה כללי מדיניות לחיבור חולקים את אותו אזור, אפשר להשתמש מחדש באותה רשת משנה בכללי המדיניות האלה. אפשר להזין כמה רשתות משנה ברשימה שמופרדת בפסיקים. -
SERVICE_CLASS: מזהה המשאב של סוג השירות שסופק על ידי היצרן.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/serviceConnectionPolicies?serviceConnectionPolicyId=POLICY_NAME
תוכן בקשת JSON:
{
"description": "DESCRIPTION",
"network": "projects/PROJECT_ID/global/networks/NETWORK",
"pscConfig": {
"limit": "LIMIT",
"subnetworks": [
"projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET"
]
},
"serviceClass": "SERVICE_CLASS"
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.networkconnectivity.v1.OperationMetadata",
"createTime": "2023-08-15T16:59:29.236110917Z",
"target": "projects/PROJECT_ID/locations/REGION/serviceConnectionPolicies/POLICY_NAME",
"verb": "create",
"requestedCancellation": false,
"apiVersion": "v1"
},
"done": false
}
יצירה אוטומטית של מדיניות חיבור לשירות
אפשר ליצור מדיניות של חיבור שירות באופן אוטומטי כשיוצרים את מכונת Cloud SQL, אבל האפשרות הזו דורשת הרשאות אדמין נוספות.
המסוף
אם אתם משתמשים במסוף Google Cloud , אתם צריכים ליצור את מופע Cloud SQL עם Private Service Connect מופעל. המסוף Google Cloud בודק אם יש תפקידים נדרשים ומגדיר אותם באופן אוטומטי. יכול להיות שתצטרכו להפעיל את Network Connectivity API אם הוא עדיין לא מופעל בפרויקט.
gcloud או REST
אם אתם משתמשים ב-ה-CLI של gcloud או ב-Cloud SQL Admin API, אתם צריכים להקצות תפקידים נוספים לסוכן השירות של Cloud SQL לפני שאתם יוצרים את המופע.
אם בפרויקט שבו תתארח מכונת Cloud SQL עדיין לא קיים סוכן שירות של Cloud SQL שספציפי לפרויקט, צריך ליצור אותו.
כדי ליצור את סוכן השירות, מריצים את הפקודה הבאה:
gcloud beta services identity create \ --service=sqladmin.googleapis.com \ --project=INSTANCE_PROJECT
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_PROJECT: הפרויקט שבו אתם מתכננים ליצור את מופע Cloud SQL.
הפקודה יוצרת סוכן שירות בפורמט
service-INSTANCE_PROJECT_NUMBER@gcp-sa-cloudsql..-
צריך להעניק לסוכן השירות של Cloud SQL את ההרשאות הנדרשות ב-IAM על ידי הקצאת התפקידים הבאים לסוכן השירות:
- אדמין של רשת צרכנים לאוטומציה של שירותים
(
roles/networkconnectivity.consumerNetworkAdmin) - צפייה ברשת Compute (
roles/compute.networkViewer)
כדי להוסיף את התפקידים לסוכן השירות של Cloud SQL, מריצים את הפקודות הבאות:
gcloud projects add-iam-policy-binding CONSUMER_PROJECT \ --member='serviceAccount:CLOUD_SQL_SERVICE_AGENT' \ --role='roles/networkconnectivity.consumerNetworkAdmin' gcloud projects add-iam-policy-binding CONSUMER_PROJECT \ --member='serviceAccount:CLOUD_SQL_SERVICE_AGENT' \ --role='roles/compute.networkViewer'
מחליפים את מה שכתוב בשדות הבאים:
-
CONSUMER_PROJECT: הפרויקט שבו תיצור נקודת הקצה של Private Service Connect. אם אתם משתמשים ברשת VPC משותפת, זה יכול להיות פרויקט המארח או פרויקט השירות. -
CLOUD_SQL_SERVICE_AGENT: כתובת האימייל של חשבון סוכן השירות של Cloud SQL שיצרתם.
- אדמין של רשת צרכנים לאוטומציה של שירותים
(
יצירת מכונה של Cloud SQL
אפשר ליצור מכונה עם Private Service Connect מופעל עבור המכונה, ולהגדיר את המכונה כך שייווצרו נקודות קצה (endpoints) באופן אוטומטי באמצעות Google Cloud המסוף, ה-CLI של gcloud או ה-API.
המסוף
-
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
- בקטע Customize your instance (התאמה אישית של המופע), מרחיבים את הקטע Connections (חיבורים).
- מסמנים את תיבת הסימון כתובת IP פרטית.
- בקטע Choose a private connection method (בחירת שיטת חיבור פרטית), מסמנים את התיבה Private Service Connect (PSC) (התחברות לשירות פרטי).
- בקטע Endpoint setup (הגדרת נקודת סיום), לוחצים על Add an Endpoint (הוספת נקודת סיום).
- בקטע Endpoint setup (הגדרת נקודת הקצה), מבצעים את הפעולות הבאות:
- בכרטיס New Endpoint (נקודת קצה חדשה), בוחרים את הפרויקט שבו רוצים להגדיר את נקודת הקצה מהתפריט Project (פרויקט).
- בתפריט רשת, בוחרים רשת לנקודת הקצה.
- אם Network Connectivity API עדיין לא מופעל, לוחצים על Enable.
- לוחצים על אישור הגדרת הרשת. אם מזוהה מדיניות של חיבור שירות ברשת שבחרתם, תוצג הודעת הצלחה. אם לא מזוהה מדיניות חיבור לשירות, אבל ההרשאות ניתנו בהצלחה, Google Cloud ייצור בשבילכם מדיניות חיבור לשירות.
- אופציונלי: משלימים את ההגדרות האופציונליות האחרות של המופע.
- לוחצים על Create Instance.
gcloud
כדי ליצור מכונה עם Private Service Connect שמופעל עבור המכונה, משתמשים בפקודה gcloud sql instances create:
gcloud sql instances create INSTANCE_NAME \ --project=PROJECT_ID \ --region=REGION_NAME \ --cpu=NUMBER_OF_vCPUs \ --memory=MEMORY_SIZE \ --root-password=ROOT_PASSWORD \ --availability-type=AVAILABILITY_TYPE \ --database-version=DATABASE_VERSION \ --no-assign-ip \ --enable-private-service-connect \ --allowed-psc-projects=ALLOWED_PROJECTS \ --psc-auto-connections=network=CONSUMER_NETWORK,project=CONSUMER_PROJECT \ --enable-psc-auto-dns \ --enable-psc-write-endpoint-dns
זה שינוי אופציונלי. כדי ליצור או לעדכן מדיניות חיבור שירות באופן אוטומטי כשיוצרים את מכונת Cloud SQL, מוסיפים את הפרמטר --enable-psc-auto-connection-policy לפקודה.
כדי להשתמש בפרמטר הזה, צריך להגדיר הרשאות נוספות. מידע נוסף זמין במאמר בנושא יצירה אוטומטית של מדיניות לחיבור שירות.
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_NAME: השם של המכונה. -
PROJECT_ID: המזהה או מספר הפרויקט של פרויקט Google Cloud שמכיל את המופע. -
REGION_NAME: שם האזור של המכונה. -
NUMBER_OF_vCPUs: מספר ליבות המעבד של המופע. -
MEMORY_SIZE: כמות הזיכרון של המופע. -
ROOT_PASSWORD: הסיסמה שלrootמשתמש Cloud SQL.
AVAILABILITY_TYPE: מפעיל זמינות גבוהה למופע. בפרמטר הזה, מציינים אחד מהערכים הבאים:-
REGIONAL: מאפשר זמינות גבוהה ומומלץ למופעי ייצור. המופע עובר אוטומטית לאזור אחר באזור שנבחר. -
ZONAL: לא מספק יכולת מעבר לגיבוי. זה ערך ברירת המחדל.
מידע נוסף על הגדרה והסרה של זמינות גבוהה למופעים זמין במאמרים הגדרת זמינות גבוהה למופע קיים והשבתת זמינות גבוהה למופע.
-
DATABASE_VERSION: גרסת מסד הנתונים של המופע (לדוגמה,SQLSERVER_2019_STANDARD).
ALLOWED_PROJECTS: רשימה מופרדת בפסיקים של מזהי פרויקטים או מספרים מותרים, שמנקודות קצה של Private Service Connect אפשר להתחבר מהם למופעים של Cloud SQL.אם פרויקט מסוים לא מופיע ברשימה הזו, אי אפשר ליצור בו נקודות קצה של Private Service Connect כדי להתחבר למופע.
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:
-
--enable-private-service-connect: הפעלת Private Service Connect. -
--allowed-psc-projects=ALLOWED_PROJECTS: מציינת רשימה מופרדת בפסיקים של מזהים או מספרים של פרויקטים מורשים. אלה הפרויקטים שמהם נקודות קצה של Private Service Connect יכולות להתחבר למופעי Cloud SQL. -
--psc-auto-connections=network=CONSUMER_NETWORK,project=CONSUMER_PROJECT: מציין את הנתיב לרשת ה-VPC שצריך ליצור עבורה נקודות קצה של Private Service Connect.
--enable-psc-auto-dns: מציין אם צריך להפעיל את האוטומציה של DNS ב-Private Service Connect עבור המופע הזה. ברירת המחדל היא השבתה של התכונה במכונות וירטואליות חדשות, כשהתכונה Private Service Connect מופעלת באמצעות--enable-private-service-connect.כשמופעלת אוטומציה של DNS, Cloud SQL מקצה רשומת DNS לכל מופע בכל הרשתות שהוגדרו עם חיבורים אוטומטיים של Private Service Connect.
--enable-psc-write-endpoint-dns: מציין אם האוטומציה של DNS בנקודת קצה לכתיבה מסוג Private Service Connect מופעלת במופע הזה. התכונה הזו נתמכת רק במופעים של Enterprise Plus שבהם מוגדר גם--enable-psc-auto-dns, והיא מושבתת כברירת מחדל כשיוצרים מופע חדש.כשמפעילים אוטומציה של DNS של נקודת קצה לכתיבה, Cloud SQL מקצה רשומה של DNS גלובלי שתשמש כנקודת קצה לכתיבה באשכול השכפול בכל הרשתות שמוגדרות עם חיבורים אוטומטיים של Private Service Connect. רשומת ה-DNS הגלובלית הזו תמיד מצביעה על המופע הראשי הנוכחי של אשכול השכפול, מה שמאפשר מעבר גיבוי אוטומטי (failover) של האפליקציה בצורה חלקה, בלי שיהיה צורך לעדכן מחרוזות חיבור בצד הלקוח במקרה של מעבר גיבוי אוטומטי או מעבר פעיל (switchover) של העתק.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- INSTANCE_NAME: השם של מכונת Cloud SQL.
- PROJECT_ID: המזהה או מספר הפרויקט של פרויקט Google Cloud שמכיל את המופע.
- REGION_NAME: שם האזור של המכונה.
- DATABASE_VERSION: גרסת מסד הנתונים של המופע (לדוגמה,
SQLSERVER_2019_STANDARD). - ROOT_PASSWORD: הסיסמה של משתמש Cloud SQL
root. - AVAILABILITY_TYPE: סוג הזמינות האזורית של המכונה. משתמשים בפרמטר הזה כדי להפעיל או להשבית זמינות גבוהה למופע. כדי לעשות זאת, מציינים אחד מהערכים הבאים:
-
REGIONAL: מאפשר זמינות גבוהה ומומלץ למופעי ייצור. המופע עובר לזמינות חלקית באזור אחר בתוך האזור שבחרתם. -
ZONAL: לא מספק יכולת מעבר. זה ערך ברירת המחדל.
מידע נוסף על הגדרה והסרה של זמינות גבוהה למופעים זמין במאמרים הגדרת זמינות גבוהה למופע קיים והשבתת זמינות גבוהה למופע.
-
- ALLOWED_PROJECTS: רשימה מופרדת בפסיקים של מזהים או מספרים של פרויקטים מורשים, שמהם נקודות קצה של Private Service Connect יכולות להתחבר למופעים של Cloud SQL.
אם פרויקט מסוים לא מופיע ברשימה הזו, אי אפשר ליצור בו נקודות קצה (endpoints) של Private Service Connect כדי להתחבר למופע.
-
CONSUMER_PROJECT: הפרויקט שבו נוצרה נקודת הקצה של Private Service Connect. אם משתמשים ברשת VPC משותפת, אפשר להשתמש בפרויקט המארח או בפרויקט השירות.
כל הפרויקטים שמציינים בפרמטרים של הקישור האוטומטי יתווספו אוטומטית לרשימת הפרויקטים המורשים. אם רוצים ליצור נקודות קצה של Private Service Connect באופן ידני בפרויקטים מסוימים, אפשר להוסיף את הפרויקטים האלה לרשימת הפרויקטים המותרים.
- PARENT_PROJECT: הפרויקט שמכיל את הרשת CONSUMER_NETWORK. אם לא מציינים פרויקט אחר ב-CONSUMER_PROJECT, נקודות הקצה נוצרות אוטומטית ב-PARENT_PROJECT .
-
CONSUMER_PROJECT: אופציונלי. מציינים את זה רק אם CONSUMER_NETWORK היא רשת VPC משותפת ורוצים לאפשר יצירה אוטומטית של נקודות קצה של Private Service Connect בפרויקט שירות.
כל הפרויקטים שמציינים בפרמטרים של הקישור האוטומטי יתווספו אוטומטית לרשימת הפרויקטים המורשים. אם רוצים ליצור נקודות קצה של Private Service Connect באופן ידני בפרויקטים מסוימים, אפשר להוסיף את הפרויקטים האלה לרשימת הפרויקטים המורשים.
- CONSUMER_NETWORK: רשת ה-VPC שבה רוצים לאפשר יצירה אוטומטית של נקודות קצה של Private Service Connect. לדוגמה:
projects/my-host-project/global/networks/default. - MACHINE_TYPE: ערך מחרוזת ממוספר שמייצג את סוג המכונה של המופע. לדוגמה: code>db-custom-NUMBER_OF_vCPUs-MEMORY_SIZE, כאשר NUMBER_OF_vCPUs ו-MEMORY_SIZE הם מספר ליבות המעבד וכמות הזיכרון שרוצים להקצות למופע.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances
תוכן בקשת JSON:
{
"name": "INSTANCE_NAME",
"project": PROJECT_ID",
"region": "REGION_NAME",
"databaseVersion": "SQLSERVER_2019_STANDARD",
"rootPassword": "ROOT_PASSWORD",
"kind": "sql#instance",
"settings": {
"availabilityType": "AVAILABILITY_TYPE",
"ipConfiguration": {
"ipv4Enabled": false,
"pscConfig": {
"allowedConsumerProjects": [
"ALLOWED_PROJECTS"
],
"pscAutoConnections": [
{
"consumerProject":"CONSUMER_PROJECT",
"consumerNetwork":"projects/PARENT_PROJECT/global/networks/CONSUMER_NETWORK"
}
],
"pscEnabled": true,
"pscAutoConnectionPolicyEnabled": true,
"pscAutoDnsEnabled": true,
"pscWriteEndpointDnsEnabled": true
}
},
"kind": "sql#settings",
"pricingPlan": "PER_USE",
"replicationType": "SYNCHRONOUS",
"tier": "MACHINE_TYPE"
}
}כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME",
"status": "RUNNING",
"user": "user@example.com",
"insertTime": "2020-01-16T02:32:12.281Z",
"startTime": "2023-06-14T18:48:35.499Z",
"operationType": "CREATE",
"name": "OPERATION_ID",
"targetId": "INSTANCE_NAME",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
אלה השדות שבהם משתמשים כדי להפעיל אוטומציה של DNS ושם DNS של נקודת קצה גלובלית לכתיבה:
psc_auto_dns_enabled: מציין אם האוטומציה של DNS ב-Private Service Connect מופעלת עבור המופע הזה. כברירת מחדל, ההגדרה מושבתת במכונות וירטואליות חדשות כשהתכונה Private Service Connect מופעלת באמצעות--enable-private-service-connect.כשמופעלת אוטומציה של DNS, Cloud SQL מקצה רשומת DNS אוניברסלית בכל הרשתות שהוגדרו עם חיבורים אוטומטיים של Private Service Connect.
psc_write_endpoint_dns_enabled: מציין אם האוטומציה של DNS בנקודת קצה לכתיבה ב-Private Service Connect מופעלת עבור המופע הזה. התכונה הזו נתמכת רק במופעים של Enterprise Plus שבהם מוגדר גם--enable-psc-auto-dns, והיא מושבתת כברירת מחדל כשיוצרים מופע חדש.כשהאוטומציה של DNS של נקודת קצה לכתיבה מופעלת, Cloud SQL מקצה רשומת DNS גלובלית שתשמש כנקודת קצה לכתיבה בכל הרשתות שהוגדרו עם חיבורים אוטומטיים של Private Service Connect. רשומת ה-DNS הגלובלית הזו תמיד מצביעה על המופע הראשי הנוכחי של אשכול השכפול, מה שמאפשר מעבר חלק לגיבוי (failover) של האפליקציה בלי שיהיה צורך בעדכונים של מחרוזת החיבור בצד הלקוח במקרה של פעולת מעבר לגיבוי או מעבר לגיבוי פעיל של העתק.
כדי ליצור מדיניות של חיבור שירות באופן אוטומטי כשיוצרים את המופע, צריך להפעיל את השדה הבא:
-
psc_auto_connection_policy_enabled: מציין אם לאפשר ל-Google Cloud ליצור או לעדכן מדיניות של חיבור שירות כשיוצרים את מופע Cloud SQL. כדי להשתמש באפשרות הזו, צריך להגדיר הרשאות נוספות. מידע נוסף זמין במאמר בנושא יצירה אוטומטית של מדיניות לחיבור שירות.
Terraform
כדי ליצור את המופע, משתמשים במשאב של Terraform עם שדה psc_config:
resource "google_sql_database_instance" "INSTANCE_NAME"
{
name = "INSTANCE_NAME"
database_version = "DATABASE_VERSION"
settings
{
tier = "MACHINE_TYPE"
ip_configuration
{
psc_config
{
psc_enabled = true
psc_auto_dns_enabled = true
psc_write_endpoint_dns_enabled = true
allowed_consumer_projects = ["ALLOWED_PROJECTS"]
psc_auto_connections
{
consumer_network = "CONSUMER_NETWORK"
consumer_service_project_id = "CONSUMER_PROJECT"
}
}
ipv4_enabled = false
}
}
}מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_NAME: השם של המכונה. -
DATABASE_VERSION: גרסת מסד הנתונים של המופע (לדוגמה,SQLSERVER_2019_STANDARD). -
MACHINE_TYPE: סוג המכונה של המופע.
ALLOWED_PROJECTS: רשימה מופרדת בפסיקים של מזהי פרויקטים או מספרים מותרים, שמנקודות קצה של Private Service Connect אפשר להתחבר מהם למופעים של Cloud SQL.אם פרויקט מסוים לא מופיע ברשימה הזו, אי אפשר ליצור בו נקודות קצה של Private Service Connect כדי להתחבר למופע.
CONSUMER_NETWORK: הנתיב לרשת ה-VPC שממנה צריך ליצור נקודות קצה של Private Service Connect. לדוגמה:projects/my-host-project/global/networks/default.
CONSUMER_PROJECT: הפרויקט שבו נוצרת נקודת הקצה של Private Service Connect. אם אתם משתמשים ברשת VPC משותפת, זה יכול להיות פרויקט המארח או פרויקט השירות.
משתמשים בשדות האלה כדי להפעיל אוטומציה של DNS ושם DNS של נקודת קצה גלובלית לכתיבה:
psc_auto_dns_enabled: מציין אם האוטומציה של DNS ב-Private Service Connect מופעלת עבור המופע הזה. כברירת מחדל, ההגדרה מושבתת במכונות וירטואליות חדשות כשהתכונה Private Service Connect מופעלת באמצעות--enable-private-service-connect.כשמופעלת אוטומציה של DNS, Cloud SQL מקצה רשומת DNS אוניברסלית בכל הרשתות שהוגדרו עם חיבורים אוטומטיים של Private Service Connect.
psc_write_endpoint_dns_enabled: מציין אם האוטומציה של DNS בנקודת קצה לכתיבה ב-Private Service Connect מופעלת עבור המופע הזה. התכונה הזו נתמכת רק במופעים של Enterprise Plus שבהם מוגדר גם--enable-psc-auto-dns, והיא מושבתת כברירת מחדל כשיוצרים מופע חדש.כשהאוטומציה של DNS של נקודת קצה לכתיבה מופעלת, Cloud SQL מקצה רשומת DNS גלובלית שתשמש כנקודת קצה לכתיבה בכל הרשתות שהוגדרו עם חיבורים אוטומטיים של Private Service Connect. רשומת ה-DNS הגלובלית הזו תמיד מצביעה על המופע הראשי הנוכחי של אשכול השכפול, מה שמאפשר מעבר חלק לגיבוי (failover) של האפליקציה בלי שיהיה צורך בעדכונים של מחרוזת החיבור בצד הלקוח במקרה של פעולת מעבר לגיבוי או מעבר לגיבוי פעיל של העתק.
כדי להפעיל את Private Service Connect וליצור מדיניות של חיבור שירות באופן אוטומטי, משתמשים בשדה הבא:
-
psc_auto_connection_policy_enabled: מציין אם לאפשר ל-Google Cloud ליצור או לעדכן מדיניות של חיבור שירות כשיוצרים את מופע Cloud SQL. כדי להשתמש באפשרות הזו, צריך להגדיר הרשאות נוספות. מידע נוסף זמין במאמר בנושא יצירה אוטומטית של מדיניות לחיבור שירות.
החלה של השינויים
כדי להחיל את הגדרות Terraform בפרויקט ב- Google Cloud , מבצעים את השלבים בקטעים הבאים.
הכנת Cloud Shell
- מפעילים את 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 הוא חלק מפתרון מקצה לקצה.
- בודקים את הפרמטרים לדוגמה ומשנים אותם בהתאם לסביבה שלכם.
- שומרים את השינויים.
-
מפעילים את Terraform. צריך לעשות זאת רק פעם אחת לכל ספרייה.
terraform init
אופציונלי: תוכלו לכלול את האפשרות
-upgrade, כדי להשתמש בגרסה העדכנית ביותר של הספק של Google:terraform init -upgrade
החלה של השינויים
-
בודקים את ההגדרות ומוודאים שהמשאבים שמערכת Terraform תיצור או תעדכן תואמים לציפיות שלכם:
terraform plan
מתקנים את ההגדרות לפי הצורך.
-
מריצים את הפקודה הבאה ומזינים
yesבהודעה שמופיעה, כדי להחיל את הגדרות Terraform:terraform apply
ממתינים עד שב-Terraform תוצג ההודעה "Apply complete!".
- פותחים את Google Cloud הפרויקט כדי לראות את התוצאות. במסוף Google Cloud , נכנסים למשאבים בממשק המשתמש כדי לוודא שהם נוצרו או עודכנו ב-Terraform.
מחיקת השינויים
כדי למחוק את השינויים:
- כדי להשבית את ההגנה מפני מחיקה, מגדירים בקובץ התצורה של Terraform את הארגומנט
deletion_protectionלערךfalse.deletion_protection = "false"
- מריצים את הפקודה הבאה ומזינים
yesבהודעה שמופיעה, כדי להחיל את הגדרות Terraform המעודכנות:terraform apply
-
כדי להסיר משאבים שהוחלו בעבר על הגדרות Terraform, מריצים את הפקודה הבאה ומזינים
yesבהודעה שמופיעה:terraform destroy
אחזור נקודת הקצה
אפשר לאחזר את כתובת ה-IP הפנימית, שהיא נקודת הקצה (endpoint) של Private Service Connect של מופע, ולהשתמש בנקודת הקצה הזו כדי להתחבר למופע.
gcloud
כדי לראות מידע על מכונה, כולל כתובת ה-IP שהיא נקודת הקצה של Private Service Connect עבור המכונה, משתמשים בפקודה gcloud sql instances describe:
gcloud sql instances describe INSTANCE_NAME \ --project=PROJECT_ID \ --format='json(settings.ipConfiguration.pscConfig.pscAutoConnections)'
מחליפים את הפרטים הבאים:
- INSTANCE_NAME: השם של מכונת Cloud SQL. אם במכונה הזו מופעל Private Service Connect, אפשר להתחבר אליה מנקודות קצה של Private Service Connect ברשתות VPC.
- PROJECT_ID: המזהה או מספר הפרויקט של פרויקט Google Cloud שמכיל את המופע.
בתגובה, רושמים את הערך שמופיע לצד השדה pscConfig:pscAutoConnections:ipAddress. הערך הזה הוא כתובת ה-IP הפנימית שהיא גם נקודת הקצה של Private Service Connect עבור המכונה.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט של פרויקט Google Cloud שמכיל את המופע.
- INSTANCE_NAME: השם של מכונת Cloud SQL. אם במכונה הזו מופעל Private Service Connect, אפשר להתחבר אליה מנקודות קצה של Private Service Connect ברשתות VPC.
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#instance",
"state": "RUNNABLE",
"databaseVersion": "SQLSERVER_2019_STANDARD",
"settings": {
"authorizedGaeApplications": [],
"tier": "db-custom-2-7680",
"kind": "sql#settings",
"availabilityType": "REGIONAL",
"pricingPlan": "PER_USE",
"replicationType": "SYNCHRONOUS",
"activationPolicy": "ALWAYS",
"ipConfiguration": {
"authorizedNetworks": [],
"pscConfig": {
"allowedConsumerProjects": [
"ALLOWED_PROJECTS"
],
"pscAutoConnections": {
consumerNetwork:"projects/PARENT_PROJECT/global/networks/CONSUMER_NETWORK",
consumerNetworkStatus:"CONSUMER_NETWORK_STATUS",
consumerProject:"CONSUMER_PROJECT",
ipAddress:"IP_ADDRESS",
status:"STATUS"
},
"pscEnabled": true
},
"ipv4Enabled": false
},
}
השדות הבאים קיימים במופעים שמופעל בהם Private Service Connect:
-
allowedConsumerProjects: רשימה של הפרויקטים המורשים למופע. אתם יכולים ליצור נקודות קצה של Private Service Connect מכל רשת VPC בפרויקטים האלה לשירות המצורף של המופע. -
pscAutoConnections: רשת ה-VPC המותרת, הסטטוס של מדיניות חיבור השירות והסטטוס של כתובת ה-IP שהיא נקודת הקצה של המופע. -
pscEnabled: האם מופעלת במכונה התכונה Private Service Connect.
כדי לראות איך יוצרים את בקשת ה-API הבסיסית ל-REST למשימה הזו, אפשר לעיין בדף instances:get.
יצירת נקודת הקצה באופן ידני
כדי ליצור את נקודת הקצה של Private Service Connect באופן ידני, מבצעים את הפעולות הבאות:
יוצרים מכונה של Cloud SQL עם Private Service Connect שמופעל במכונה.
קבלת ה-URI של קובץ השירות המצורף משתמשים ב-URI הזה כדי ליצור את נקודת הקצה (endpoint) של Private Service Connect.
שומרים כתובת IP פנימית לנקודת הקצה של Private Service Connect ויוצרים נקודת קצה עם הכתובת הזו.
יצירת מכונה של Cloud SQL
אפשר ליצור מכונה עם Private Service Connect מופעל באמצעות ה-CLI של gcloud, Terraform או ה-API.
gcloud
כדי ליצור מכונה עם Private Service Connect שמופעל עבור המכונה, משתמשים בפקודה gcloud sql instances create:
gcloud sql instances create INSTANCE_NAME \ --project=PROJECT_ID \ --region=REGION_NAME \ --enable-private-service-connect \ --allowed-psc-projects=ALLOWED_PROJECTS \ --availability-type=AVAILABILITY_TYPE \ --no-assign-ip \ --database-version=DATABASE_VERSION --cpu=NUMBER_OF_vCPUs \ --memory=MEMORY_SIZE \ --root-password=ROOT_PASSWORD
מחליפים את הפרטים הבאים:
- INSTANCE_NAME: השם של המכונה.
- PROJECT_ID: המזהה או מספר הפרויקט של פרויקט Google Cloud שמכיל את המופע.
- REGION_NAME: שם האזור של המכונה.
ALLOWED_PROJECTS: רשימה מופרדת בפסיקים של מזהים או מספרים של פרויקטים שמנקודות קצה של Private Service Connect יכולות להתחבר למופעים של Cloud SQL.
אם פרויקט מסוים לא מופיע ברשימה הזו, אי אפשר ליצור בו נקודות קצה של Private Service Connect כדי להתחבר למופע.
- AVAILABILITY_TYPE: הפעלת זמינות גבוהה למכונה. לפרמטר הזה, מציינים אחד מהערכים הבאים:
-
REGIONAL: מאפשר זמינות גבוהה ומומלץ למופעי ייצור. המופע עובר לזמינות חלקית באזור אחר בתוך האזור שנבחר. -
ZONAL: לא מספק יכולת מעבר לגיבוי. זה ערך ברירת המחדל.
מידע נוסף על הגדרה והסרה של זמינות גבוהה למופעים זמין במאמרים הגדרת זמינות גבוהה למופע קיים והשבתת זמינות גבוהה למופע.
-
- DATABASE_VERSION: גרסת מסד הנתונים של המופע (לדוגמה,
SQLSERVER_2019_STANDARD). - NUMBER_OF_vCPUs: מספר ליבות המעבד של המכונה.
- MEMORY_SIZE: כמות הזיכרון של המכונה.
- ROOT_PASSWORD: הסיסמה של משתמש Cloud SQL
root.
Terraform
כדי ליצור מכונה עם Private Service Connect שמופעל עבור המכונה, משתמשים ב משאב Terraform google_sql_database_instance.
כדי להחיל את הגדרות Terraform בפרויקט ב- Google Cloud , מבצעים את השלבים בקטעים הבאים.
הכנת Cloud Shell
- מפעילים את 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 הוא חלק מפתרון מקצה לקצה.
- בודקים את הפרמטרים לדוגמה ומשנים אותם בהתאם לסביבה שלכם.
- שומרים את השינויים.
-
מפעילים את Terraform. צריך לעשות זאת רק פעם אחת לכל ספרייה.
terraform init
אופציונלי: תוכלו לכלול את האפשרות
-upgrade, כדי להשתמש בגרסה העדכנית ביותר של הספק של Google:terraform init -upgrade
החלה של השינויים
-
בודקים את ההגדרות ומוודאים שהמשאבים שמערכת Terraform תיצור או תעדכן תואמים לציפיות שלכם:
terraform plan
מתקנים את ההגדרות לפי הצורך.
-
מריצים את הפקודה הבאה ומזינים
yesבהודעה שמופיעה, כדי להחיל את הגדרות Terraform:terraform apply
ממתינים עד שב-Terraform תוצג ההודעה "Apply complete!".
- פותחים את Google Cloud הפרויקט כדי לראות את התוצאות. במסוף Google Cloud , נכנסים למשאבים בממשק המשתמש כדי לוודא שהם נוצרו או עודכנו ב-Terraform.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט של פרויקט Google Cloud שמכיל את המופע.
- INSTANCE_NAME: השם של המכונה.
- REGION_NAME: שם האזור של המכונה.
- ROOT_PASSWORD: הסיסמה של משתמש Cloud SQL
root. - AVAILABILITY_TYPE: מפעיל זמינות גבוהה למכונה. לפרמטר הזה, מציינים אחד מהערכים הבאים:
-
REGIONAL: מאפשר זמינות גבוהה ומומלץ למופעי ייצור. המופע עובר לזמינות חלקית באזור אחר בתוך האזור שנבחר. -
ZONAL: לא מספק יכולת מעבר לגיבוי. זה ערך ברירת המחדל.
מידע נוסף על הגדרה והסרה של זמינות גבוהה למופעים זמין במאמרים הגדרת זמינות גבוהה למופע קיים והשבתת זמינות גבוהה למופע.
-
ALLOWED_PROJECTS: רשימה מופרדת בפסיקים של מזהים או מספרים של פרויקטים שמנקודות קצה של Private Service Connect יכולות להתחבר למופעים של Cloud SQL.
אם פרויקט מסוים לא מופיע ברשימה הזו, אי אפשר ליצור בו נקודות קצה של Private Service Connect כדי להתחבר למופע.
- MACHINE_TYPE: ערך מחרוזת ממוספר שמייצג את סוג המכונה של המופע. לדוגמה:
db-custom-NUMBER_OF_vCPUs-MEMORY_SIZE, כאשר NUMBER_OF_vCPUs הוא מספר ליבות המעבד ו-MEMORY_SIZE הוא כמות הזיכרון שרוצים להקצות למופע.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances
תוכן בקשת JSON:
{
"name": "INSTANCE_NAME",
"project": PROJECT_ID",
"region": "REGION_NAME",
"databaseVersion": "SQLSERVER_2019_STANDARD",
"rootPassword": "ROOT_PASSWORD",
"kind": "sql#instance",
"settings": {
"availabilityType": "AVAILABILITY_TYPE",
"ipConfiguration": {
"ipv4Enabled": false,
"pscConfig": {
"allowedConsumerProjects": [
"ALLOWED_PROJECTS"
],
"pscEnabled": true
}
},
"kind": "sql#settings",
"pricingPlan": "PER_USE",
"replicationType": "SYNCHRONOUS",
"tier": "MACHINE_TYPE"
}
}כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME",
"status": "RUNNING",
"user": "user@example.com",
"insertTime": "2020-01-16T02:32:12.281Z",
"startTime": "2023-06-14T18:48:35.499Z",
"operationType": "CREATE",
"name": "OPERATION_ID",
"targetId": "INSTANCE_NAME",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
קבלת קובץ מצורף של שירות
אחרי שיוצרים מופע Cloud SQL עם Private Service Connect מופעל, מקבלים את מזהה ה-URI של הקובץ המצורף לשירות ומשתמשים בו כדי ליצור את נקודת הקצה (endpoint) של Private Service Connect.
gcloud
כדי להציג סיכום מידע על מכונה עם Private Service Connect מופעל, כמו השדה pscServiceAttachmentLink שמציג את ה-URI שמפנה לקובץ המצורף של השירות במכונה, משתמשים בפקודה gcloud sql instances describe:
gcloud sql instances describe INSTANCE_NAME \ --project=PROJECT_ID
מחליפים את הפרטים הבאים:
- INSTANCE_NAME: השם של מופע Cloud SQL שאליו נקודות קצה של Private Service Connect ברשתות VPC יכולות להתחבר
- PROJECT_ID: המזהה או מספר הפרויקט של פרויקט Google Cloud שמכיל את המופע
בדוגמה הבאה אפשר לראות פלט לדוגמה של הפקודה הזו:
gcloud sql instances describe myinstance \ --project=12345 ... pscServiceAttachmentLink: projects/45678/regions/myregion/serviceAttachments/myserviceattachment
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט של פרויקט Google Cloud שמכיל את המופע
- INSTANCE_NAME: השם של המכונה
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_NAME
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
...
pscServiceAttachmentLink: "projects/PROJECT_ID/regions/REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_NAME"
}
בשדה pscServiceAttachmentLink מוצג מזהה ה-URI שמפנה לקובץ המצורף של השירות של המופע.
יצירת נקודת קצה של Private Service Connect
אפשר לשריין כתובת IP פנימית לנקודת הקצה של Private Service Connect וליצור נקודת קצה עם הכתובת הזו. כדי ליצור את נקודת הקצה, צריך את ה-URI של קובץ השירות ואת הפרויקטים שמותרים למופע.
gcloud
כדי לשמור כתובת IP פנימית לנקודת הקצה של Private Service Connect, משתמשים בפקודה
gcloud compute addresses create:gcloud compute addresses create ADDRESS_NAME \ --project=PROJECT_ID \ --region=REGION_NAME \ --subnet=SUBNET_URI \ --addresses=INTERNAL_IP_ADDRESS
מחליפים את הפרטים הבאים:
- ADDRESS_NAME: השם של כתובת ה-IP הפנימית.
- PROJECT_ID: המזהה או מספר הפרויקט של Google Cloud הפרויקט של נקודת הקצה.
- REGION_NAME: שם האזור של נקודת הקצה.
- SUBNET_URI: שם רשת המשנה של כתובת ה-IP. הפורמט הוא:
projects/SUBNET_PROJECT_ID/regions/REGION_NAME/subnetworks/SUBNET_NAME. אם תת-הרשת נמצאת ברשת VPC משותפת, מומלץ ש-SUBNET_PROJECT_ID יהיה הפרויקט המארח. - INTERNAL_IP_ADDRESS: כתובת ה-IP שרוצים לשמור. כתובת ה-IP הזו חייבת להיות בטווח כתובות ה-IP הראשי של רשת המשנה. כתובת ה-IP יכולה להיות כתובת RFC 1918 או רשת משנה עם טווחים שאינם RFC. אם לא רוצים לציין את כתובת ה-IP כי רוצים Google Cloud להזמין כתובת IP זמינה ברשת המשנה, צריך להשמיט את הדגל הזה.
כדי לוודא שכתובת ה-IP שמורה, משתמשים בפקודה
gcloud compute addresses list:gcloud compute addresses list ADDRESS_NAME \ --project=PROJECT_ID
בתגובה, מוודאים שמופיע סטטוס
RESERVEDלכתובת ה-IP.כדי ליצור את נקודת הקצה (endpoint) של Private Service Connect ולהפנות אותה לקובץ המצורף של שירות Cloud SQL, משתמשים בפקודה
gcloud compute forwarding-rules create:gcloud compute forwarding-rules create ENDPOINT_NAME \ --address=ADDRESS_NAME \ --project=PROJECT_ID \ --region=REGION_NAME \ --network=NETWORK_URI \ --target-service-attachment=SERVICE_ATTACHMENT_URI \ --allow-psc-global-access
מחליפים את הפרטים הבאים:
- ENDPOINT_NAME: השם של נקודת הקצה
- NETWORK_URI: ה-URI של רשת ה-VPC של נקודת הקצה. הפורמט הוא:
projects/NETWORK_PROJECT_ID/global/networks/NETWORK_NAME. אם רוצים להשתמש ברשת VPC משותפת, צריך לציין את פרויקט המארח כ-NETWORK_PROJECT_ID. - SERVICE_ATTACHMENT_URI: ה-URI של קובץ השירות המצורף
כדי לוודא שקובץ השירות מקבל את נקודת הקצה, משתמשים בפקודה
gcloud compute forwarding-rules describe:gcloud compute forwarding-rules describe ENDPOINT_NAME \ --project=PROJECT_ID \ --region=REGION_NAME
בתשובה, מוודאים שמופיע סטטוס
ACCEPTEDבשדהpscConnectionStatus. נקודת הקצה יכולה להתחבר לצירוף השירות.
Terraform
כדי ליצור נקודת קצה מסוג Private Service Connect, משתמשים במשאב Terraform google_sql_database_instance.
אפשר להשתמש בדוגמה הבאה כדי ליצור נקודת קצה של Private Service Connect ב-IPv4.
אפשר להשתמש בדוגמה הבאה כדי ליצור נקודת קצה של Private Service Connect ב-IPv6.
כדי להחיל את הגדרות Terraform בפרויקט ב- Google Cloud , מבצעים את השלבים בקטעים הבאים.
הכנת Cloud Shell
- מפעילים את 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 הוא חלק מפתרון מקצה לקצה.
- בודקים את הפרמטרים לדוגמה ומשנים אותם בהתאם לסביבה שלכם.
- שומרים את השינויים.
-
מפעילים את Terraform. צריך לעשות זאת רק פעם אחת לכל ספרייה.
terraform init
אופציונלי: תוכלו לכלול את האפשרות
-upgrade, כדי להשתמש בגרסה העדכנית ביותר של הספק של Google:terraform init -upgrade
החלה של השינויים
-
בודקים את ההגדרות ומוודאים שהמשאבים שמערכת Terraform תיצור או תעדכן תואמים לציפיות שלכם:
terraform plan
מתקנים את ההגדרות לפי הצורך.
-
מריצים את הפקודה הבאה ומזינים
yesבהודעה שמופיעה, כדי להחיל את הגדרות Terraform:terraform apply
ממתינים עד שב-Terraform תוצג ההודעה "Apply complete!".
- פותחים את Google Cloud הפרויקט כדי לראות את התוצאות. במסוף Google Cloud , נכנסים למשאבים בממשק המשתמש כדי לוודא שהם נוצרו או עודכנו ב-Terraform.
REST
שומרים כתובת IP פנימית לנקודת הקצה של Private Service Connect.
מוודאים שכתובת ה-IP שמורה.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט של Google Cloud הפרויקט שמכיל את נקודת הקצה של Private Service Connect
- REGION_NAME: שם האזור
- ADDRESS_NAME: השם של כתובת ה-IP
ה-method של ה-HTTP וכתובת ה-URL:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/addresses/ADDRESS_NAME
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{ "kind": "compute#address", "id": "ADDRESS_ID", "creationTimestamp": "2024-05-09T11:20:50.114-07:00", "name": "ADDRESS_NAME", "description": "This is the name of the internal IP address.", "address": "IP_ADDRESS", "status": "RESERVED", "region": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME", "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/addresses/ADDRESS_NAME", "networkTier": "PREMIUM", "labelFingerprint": "LABEL_FINGERPRINT_ID", "addressType": "EXTERNAL" }בתגובה, מוודאים שמופיע סטטוס
RESERVEDלכתובת ה-IP.יוצרים את נקודת הקצה של Private Service Connect ומפנים אותה לקובץ המצורף של שירות Cloud SQL.
מוודאים שקובץ ה-Service Attachment מקבל את נקודת הקצה.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט של Google Cloud הפרויקט שמכיל את נקודת הקצה של Private Service Connect
- REGION_NAME: שם האזור
- ENDPOINT_NAME: השם של נקודת הקצה
ה-method של ה-HTTP וכתובת ה-URL:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/forwardingRules/ENDPOINT_NAME
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{ "kind": "compute#forwardingRule", "id": "ENDPOINT_ID", "creationTimestamp": "2024-05-09T12:03:21.383-07:00", "name": "ENDPOINT_NAME", "region": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME", "IPAddress": "IP_ADDRESS", "target": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_NAME", "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/forwardingRules/ENDPOINT_NAME", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/default", "serviceDirectoryRegistrations": [ { "namespace": "goog-psc-default" } ], "networkTier": "PREMIUM", "labelFingerprint": "LABEL_FINGERPRINT_ID", "fingerprint": "FINGERPRINT_ID", "pscConnectionId": "CONNECTION_ID", "pscConnectionStatus": "ACCEPTED", "allowPscGlobalAccess": true }בתשובה, מוודאים שמופיע סטטוס
ACCEPTEDבשדהpscConnectionStatus. נקודת הקצה יכולה להתחבר לצירוף השירות.
חיבור למכונה של Cloud SQL
אפשר להתחבר למכונה של Cloud SQL עם Private Service Connect מופעל באמצעות כתובת IP פנימית, רשומת DNS, שרת proxy ל-Cloud SQL Auth, מחברי שפה של Cloud SQL אוGoogle Cloud אפליקציות אחרות.
חיבור באמצעות רשומת DNS
מומלץ להתחבר למופעים עם Private Service Connect מופעל באמצעות DNS. שם DNS מאפשר לרשתות שונות להתחבר לאותה מכונה, כאשר לנקודות קצה של Private Service Connect בכל רשת יכולות להיות כתובות IP שונות. בנוסף, שרת proxy ל-Cloud SQL Auth דורש שמות DNS כדי להתחבר למכונות האלה. במאמר הגדרת DNS ל-Private Service Connect מוסבר איך מגדירים DNS.
לפני שמתחברים למופע Cloud SQL באמצעות רשומת DNS, צריך לבצע את הפעולות הבאות:
- יצירת נקודת קצה מסוג Private Service Connect
- מוודאים שקובץ ה-service attachment של המופע מקבל את נקודת הקצה. כדי לוודא שהסטטוס של נקודת הקצה הוא
ACCEPTED, בודקים את הסטטוס. - הגדרת תחום מנוהל של DNS ורשומת DNS.
אחרי שתעמדו בתנאים האלה, תוכלו להשתמש ברשומת ה-DNS כדי להתחבר למופע מכל רשת VPC שבה יצרתם את נקודת הקצה.
sqlcmd -S DNS_RECORD -d DATABASE_NAME -U USERNAME
מחליפים את הפרטים הבאים:
- DNS_RECORD: רשומת ה-DNS של נקודת הקצה
- DATABASE_NAME: השם של מסד הנתונים ב-Cloud SQL ל-SQL Server שנמצא במופע
- USERNAME: השם של המשתמש שמתחבר למכונה
חיבור ישיר באמצעות כתובת IP פנימית
לפני שמתחברים למופע Cloud SQL עם Private Service Connect מופעל, צריך לבצע את הפעולות הבאות:
- יצירת נקודת קצה מסוג Private Service Connect
- מוודאים שקובץ ה-service attachment של המופע מקבל את נקודת הקצה. כדי לוודא שהסטטוס של נקודת הקצה הוא
ACCEPTED, בודקים את הסטטוס.
אחרי שתעמדו בתנאים האלה, תוכלו להשתמש בכתובת ה-IP של נקודת הקצה כדי לגשת למופע מכל רשת VPC שבה יצרתם את נקודת הקצה.
מאחזרים את כתובת ה-IP הפנימית של נקודת הקצה של Private Service Connect באמצעות השם של כתובת ה-IP של נקודת הקצה.
gcloud
כדי לאחזר את כתובת ה-IP, משתמשים בפקודה
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: שם האזור של נקודת הקצה
בתשובה, מוודאים שכתובת IP מופיעה בשדה
address. זו כתובת ה-IP הפנימית.REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט של Google Cloud הפרויקט שמכיל את נקודת הקצה
- REGION_NAME: שם האזור של נקודת הקצה
- ADDRESS_NAME: השם של כתובת ה-IP של נקודת הקצה
ה-method של ה-HTTP וכתובת ה-URL:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/addresses/ADDRESS_NAME
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{ "kind": "compute#address", "id": "ADDRESS_ID", "creationTimestamp": "2024-05-09T11:20:50.114-07:00", "name": "ADDRESS_NAME", "description": "This is the name of the internal IP address.", "address": "IP_ADDRESS", "status": "RESERVED", "region": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME", "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/addresses/ADDRESS_NAME", "networkTier": "PREMIUM", "labelFingerprint": "LABEL_FINGERPRINT_ID", "addressType": "EXTERNAL" }כתובת ה-IP הפנימית היא הערך שמשויך לשדה
address.אפשר גם לאחזר את כתובת ה-IP הפנימית של נקודת הקצה (endpoint) של Private Service Connect באמצעות הקובץ המצורף לשירות של מופע Cloud SQL.
gcloud
כדי לאחזר את כתובת ה-IP, משתמשים בפקודה
gcloud compute forwarding-rules list:gcloud compute forwarding-rules list \ --filter="TARGET:REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_NAME" \ --project=PROJECT_ID
מחליפים את הפרטים הבאים:
- REGION_NAME: שם האזור של נקודת הקצה
- PROJECT_ID: המזהה או מספר הפרויקט של Google Cloud הפרויקט שמכיל את נקודת הקצה
- SERVICE_ATTACHMENT_NAME: השם של קובץ השירות המצורף למופע Cloud SQL
בתגובה, מוודאים שמופיעה כתובת IP. זו כתובת ה-IP הפנימית.
זוהי דוגמה לתשובה:
NAMEREGIONIP_ADDRESSTARGETmyInstanceus-central110.10.10.10us-central1/serviceAttachments/a-123456789e0a-psc-service-attachment-abc123d4e5f67gh8REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט של Google Cloud הפרויקט שמכיל את נקודת הקצה
- REGION_NAME: שם האזור של נקודת הקצה
- SERVICE_ATTACHMENT_PROJECT_ID: המזהה או מספר הפרויקט של Google Cloud הפרויקט שמכיל את קובץ השירות
- SERVICE_ATTACHMENT_NAME: השם של קובץ השירות המצורף למופע Cloud SQL
ה-method של ה-HTTP וכתובת ה-URL:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/forwardingRules?target="https://www.googleapis.com/compute/v1/projects/SERVICE_ATTACHMENT_PROJECT_ID/regions/REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_NAME"
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{ "kind": "compute#forwardingRuleList", "id": "projects/PROJECT_ID/regions/REGION_NAME/forwardingRules", "items": [ { "kind": "compute#forwardingRule", "id": "FORWARDING_RULE_ID", "creationTimestamp": "2023-10-31T13:04:37.168-07:00", "name": "FORWARDING_RULE_NAME", "region": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME", "IPAddress": "IP_ADDRESS", "target": "https://www.googleapis.com/compute/v1/projects/SERVICE_ATTACHMENT_PROJECT_ID/regions/REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_NAME", "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/forwardingRules/FORWARDING_RULE_NAME", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME", "serviceDirectoryRegistrations": [ { "namespace": "goog-psc-default" } ], "networkTier": "PREMIUM", "labelFingerprint": "LABEL_FINGERPRINT_ID", "fingerprint": "FINGERPRINT_ID", "pscConnectionId": "PSC_CONNECTION_ID", "pscConnectionStatus": "CLOSED", "allowPscGlobalAccess": true } ], "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/forwardingRules" }כתובת ה-IP הפנימית היא הערך שמשויך לשדה
IPAddress.-
כדי להתחבר למופע Cloud SQL, משתמשים בכתובת ה-IP הפנימית.
sqlcmd -S IP_ADDRESS -d DATABASE_NAME -U USERNAME
מחליפים את הפרטים הבאים:
- IP_ADDRESS: כתובת ה-IP של נקודת הקצה
- DATABASE_NAME: השם של מסד הנתונים של Cloud SQL ל-SQL Server שנמצא במופע
- USERNAME: השם של המשתמש שמתחבר למכונה
התחברות באמצעות שרת proxy ל-Cloud SQL Auth
Cloud SQL Auth Proxy הוא מחבר שמספק גישה מאובטחת למכונה עם Private Service Connect מופעל, בלי צורך ברשתות מורשות או בהגדרת SSL.
מגדירים את שרת ה-proxy ל-Cloud SQL Auth באמצעות שם ה-DNS של Private Service Connect של המכונה. שם DNS מזהה רשומת DNS שממפה משאב DNS לשם דומיין. מידע נוסף על הפעלת DNS לפרויקט זמין במאמר הגדרת DNS ב-Private Service Connect. כדי לאתר שמות DNS קיימים של המכונה, אפשר לעיין במאמר בנושא איתור שמות DNS.
אפשר גם להגדיר את Cloud SQL Auth Proxy כך שישתמש בשם ה-DNS של נקודת הקצה (endpoint) של הכתיבה של Private Service Connect של אשכול מתקדם ליתירות כשל, אם הפעלתם אותו.
לדוגמה, אם שם נקודת הקצה של ה-DNS לכתיבה ב-Private Service Connect עבור האשכול הוא abcdef123456.987654321fedcb.global.sql-psc.goog, מפעילים את פרוקסי האימות כך:
./cloud-sql-proxy abcdef123456.987654321fedcb.global.sql-psc.googאם אתם מתחברים באמצעות Private Service Connect, נדרשת גרסה v2.5.0 של Cloud SQL Auth Proxy ואילך.
הורדה והתקנה של שרת proxy ל-Cloud SQL Auth
כדי להתחבר למכונות שמופעל בהן Private Service Connect, צריך להוריד ולהתקין את הקובץ הבינארי של Cloud SQL Auth Proxy. הקובץ הבינארי שאתם מורידים תלוי במערכת ההפעלה, ובליבת המערכת (32 או 64 ביט). ברוב המכשירים החדשים יותר נעשה שימוש בקרנל של 64 ביט.
אם אתם לא בטוחים אם במחשב שלכם פועל ליבת 32 ביט או 64 ביט, אתם יכולים להשתמש בפקודה uname -a ב-Linux או ב-macOS. למידע נוסף על Windows, אפשר לעיין במסמכי התיעוד של Windows.
הפעלת שרת proxy ל-Cloud SQL Auth
שרת ה-proxy ל-Cloud SQL Auth תומך בחיבורים למכונות שמופעל בהן Private Service Connect. מידע נוסף זמין במאמר הפעלת שרת proxy ל-Cloud SQL Auth.
- הצגת סיכום מידע על מופע Cloud SQL, כולל:
שם החיבור של המופע.
gcloud
כדי לראות סיכום מידע על מכונת Cloud SQL, משתמשים בפקודה
gcloud sql instances describe.gcloud sql instances describe INSTANCE_NAME \ --project=PROJECT_ID \ --format='value(connectionName)'
מחליפים את הפרטים הבאים:
- INSTANCE_NAME: השם של מכונת Cloud SQL
- PROJECT_ID: המזהה או מספר הפרויקט של פרויקט Google Cloud שמכיל את המופע
שם החיבור הוא בפורמט
PROJECT_ID:REGION_NAME:INSTANCE_NAME.REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט של פרויקט Google Cloud שמכיל את המופע
- INSTANCE_NAME: השם של המכונה
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_NAME
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{ ... "connectionName": "PROJECT_ID:REGION_NAME:INSTANCE_NAME" }שם החיבור הוא בפורמט
PROJECT_ID:REGION_NAME:INSTANCE_NAME. - מעתיקים את שם החיבור של המכונה.
מפעילים את שרת ה-proxy ל-Cloud SQL Auth:
./cloud-sql-proxy INSTANCE_CONNECTION_NAME --psc
מחליפים את INSTANCE_CONNECTION_NAME בשם החיבור למופע שהעתקתם בשלב הקודם.
חיבור באמצעות Cloud SQL Language Connectors
מחברי השפה של Cloud SQL הם ספריות שמספקות גישה מאובטחת למופע של Cloud SQL עם Private Service Connect מופעל, בלי צורך ברשתות מורשות או בהגדרת SSL.
מגדירים את Cloud SQL Auth Proxy באמצעות שם ה-DNS של Private Service Connect של המכונה, ושם ה-DNS של נקודת הקצה (endpoint) של Private Service Connect לכתיבה של אשכול מתקדם למעבר אוטומטי לגיבוי (failover), אם הפעלתם אותו. שם DNS מזהה רשומת DNS שממפה משאב DNS לשם דומיין. מידע נוסף על הפעלת DNS בפרויקט זמין במאמר הגדרת DNS ב-Private Service Connect. כדי לאתר שמות DNS קיימים של המכונה, אפשר לעיין במאמר בנושא איתור שמות DNS.
מחברי השפה של Cloud SQL תומכים בחיבורים של Private Service Connect דרך PSC סוג ה-IP בספריות המתאימות. התיעוד של כל מחבר נמצא בתיעוד הציבורי ב-GitHub בנושא שחזור מתקדם אחרי אסון (DR):
- Cloud SQL Python Connector (גרסה 1.3.0 ואילך)
- Cloud SQL Go Connector (גרסה 1.4.0 ואילך)
- Cloud SQL Java Connector (גרסה 1.13.0 ואילך)
- Cloud SQL Node.js Connector (גרסה v0.5.0 ואילך)
התחברות מ-App Engine Standard, מ-Cloud Run או מפונקציות של Cloud Run
כדי להתחבר למופעי Cloud SQL עם Private Service Connect מופעל, אפשר להשתמש ב-App Engine Standard או ב-Cloud Run.
בסביבות הנתמכות האלה של בלי שרת (serverless), יש תמיכה גם במחברי שפה של Cloud SQL וגם בחיבורי TCP ישירים באמצעות כתובת IP ומספר יציאה. בחיבורי TCP ישירים, זו כתובת ה-IP ששומרים כשיוצרים את נקודת הקצה של Private Service Connect. אפשר לציין את כתובת ה-IP ככתובת של מארח מסד הנתונים.
אם יוצרים רשומת DNS לנקודת הקצה, אפשר לציין את הרשומה הזו למארח.
התחברות מ-BigQuery
כדי לגשת לנתונים ב-Cloud SQL ולהריץ שאילתות על הנתונים האלה באמצעות חיבור IP פנימי, משתמשים בפרמטר --enable-google-private-path . הפרמטר הזה תקף רק אם:
- משתמשים בפרמטר
--no-assign-ip. - משתמשים בפרמטר
--networkכדי לציין את השם של רשת ה-VPC שרוצים להשתמש בה כדי ליצור חיבור פנימי.
הגדרת קישוריות יוצאת למכונה של Cloud SQL
אתם יכולים להגדיר את מופע Cloud SQL עם Private Service Connect כך שתהיה לו קישוריות יוצאת לרשת באמצעות ממשק Private Service Connect ומחבר רשת. מידע נוסף על האופן שבו פועלת קישוריות יוצאת של Private Service Connect ועל המגבלות שלה זמין במאמר סקירה כללית על קישוריות יוצאת של Private Service Connect.
כדי להשתמש בקישוריות יוצאת עם מופע Cloud SQL, צריך:
יצירה או עדכון של קובץ מצורף לרשת. החיבור לרשת משמש את מכונת Cloud SQL כדי להתחבר לממשק Private Service Connect של הרשת.
החיבור לרשת צריך להיות באותו אזור כמו מכונת Cloud SQL, וצריך להיות מוגדר לקבל חיבורים באופן אוטומטי באמצעות רשימה מממשקי Private Service Connect.
המופע צריך שתי כתובות IP: אחת למופע הראשי ואחת למכונה במצב המתנה.מאתרים את מזהה פרויקט הדייר ב-Cloud SQL. משתמשים בפקודה
gcloud sql instances describeכדי לאחזר פרטים על המופע. אפשר למצוא את מזהה פרויקט הדייר בכתובת ה-URL של קובץ השירות שמוצגת בפלט:ADMIN_PROJECT=PROJECT_ID INSTANCE_NAME=INSTANCE_NAME TENANT_PROJECT_ID=$(gcloud --project=$ADMIN_PROJECT sql instances describe $INSTANCE_NAME | grep pscServiceAttachmentLink | cut -f 2 -d "/")מחליפים את מה שכתוב בשדות הבאים:
- PROJECT_ID: מזהה הפרויקט של הפרויקט שבו אתם משתמשים ב- Google Cloud.
- INSTANCE_NAME: השם של מופע Cloud SQL עם Private Service Connect שרוצים להגדיר עבור קישוריות יוצאת.
שומרים את הערך של מזהה פרויקט הדייר כדי לכלול אותו בהמשך ברשימה של מזהי פרויקטים קבילים. המאפיין הזה נדרש כשיוצרים או מעדכנים קובץ מצורף לרשת ב Google Cloud פרויקט.
מזהים את הרשת שרוצים לקבל ממנה חיבורים יוצאים של Cloud SQL ומוודאים שיש לה ממשק Private Service Connect.
מפעילים חיבורים יוצאים למכונה של Cloud SQL באמצעות מחבר הרשת.
אתם יכולים גם להשבית את הקישוריות היוצאת בכל שלב אם אתם לא צריכים יותר חיבורים יוצאים למופע.
מידע נוסף על קישוריות יוצאת של Private Service Connect זמין במאמר חיבורים יוצאים של Private Service Connect.
הפעלת חיבורים יוצאים למכונה של Cloud SQL
כדי להפעיל קישוריות יוצאת למכונה של Cloud SQL, צריך קודם ליצור או לעדכן קובץ מצורף לרשת בפרויקט Google Cloud .
gcloud
כדי להפעיל קישוריות יוצאת, מריצים את הפקודה הבאה:
gcloud beta sql instances patch INSTANCE_NAME \
--psc-network-attachment-uri=NETWORK_ATTACHMENT_URI \
--project=PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
- INSTANCE_NAME: השם של מופע Cloud SQL עם Private Service Connect שרוצים להגדיר עבור קישוריות יוצאת.
- NETWORK_ATTACHMENT_URI: ה-URI של קובץ הרשת המצורף בפרויקט Google Cloud שבו רוצים להשתמש כדי להתחבר לממשק Private Service Connect של הרשת.
- PROJECT_ID: מזהה הפרויקט של Google Cloudהפרויקט שבו אתם משתמשים.
כדי לוודא שהפעלתם בהצלחה את הקישוריות היוצאת של Private Service Connect, מריצים את הפקודה gcloud sql instances describe.
אם הפלט כולל את הערך psc-network-attachment-uri, סימן שהפעלת הקישוריות היוצאת של Private Service Connect בוצעה בהצלחה.
REST v1
כדי להפעיל קישוריות יוצאת, מריצים את הפקודה הבאה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
NETWORK_ATTACHMENT_URI: ה-URI של מחבר הרשת בפרויקט. -
INSTANCE_ID: השם של מופע Cloud SQL.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID
תוכן בקשת JSON:
{
"settings": {
"ipConfiguration": {
"pscConfig: {
"networkAttachmentUri": "NETWORK_ATTACHMENT_URI"
"kind": "sql#settings"
}
},
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
"status": "PENDING",
"user": USER,
"insertTime": "2025-05-13T20:44:23.064Z",
"operationType": "UPDATE",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID","
}
REST v1beta4
כדי להפעיל קישוריות יוצאת, מריצים את הפקודה הבאה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
NETWORK_ATTACHMENT_URI: ה-URI של מחבר הרשת בפרויקט. -
INSTANCE_ID: השם של מופע Cloud SQL.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
תוכן בקשת JSON:
{
"settings": {
"ipConfiguration": {
"pscConfig: {
"networkAttachmentUri": "NETWORK_ATTACHMENT_URI"
}
},
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
"status": "PENDING",
"user": USER,
"insertTime": "2025-05-13T20:44:23.064Z",
"operationType": "UPDATE",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID","
}
למידע על פתרון בעיות שקשורות לקישוריות יוצאת של Private Service Connect, אפשר לעיין במאמר פתרון בעיות ב-Private Service Connect.
השבתת חיבורים יוצאים למכונה של Cloud SQL
gcloud
כדי להשבית את הקישוריות היוצאת, מריצים את הפקודה הבאה:
gcloud beta sql instances patch INSTANCE_NAME \
--clear-psc-network-attachment-uri \
--project=PROJECT_ID
מחליפים את מה שכתוב בשדות הבאים:
- INSTANCE_NAME: השם של מופע Cloud SQL עם Private Service Connect שרוצים להגדיר עבור קישוריות יוצאת.
- PROJECT_ID: מזהה הפרויקט של Google Cloudהפרויקט שבו אתם משתמשים.
REST v1
כדי להשבית את הקישוריות היוצאת, מריצים את הפקודה הבאה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
NETWORK_ATTACHMENT_URI: ה-URI של מחבר הרשת בפרויקט. כדי להשבית את ההגדרה, מגדירים את הערךnull. -
INSTANCE_ID: השם של מופע Cloud SQL.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID
תוכן בקשת JSON:
{
"settings": {
"ipConfiguration": {
"pscConfig: {
"networkAttachmentUri": null,
"kind": "sql#settings"
}
},
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
"status": "PENDING",
"user": USER,
"insertTime": "2025-05-13T20:44:23.064Z",
"operationType": "UPDATE",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID","
}
REST v1beta4
כדי להשבית את הקישוריות היוצאת, מריצים את הפקודה הבאה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
PROJECT_ID: מזהה הפרויקט. -
NETWORK_ATTACHMENT_URI: ה-URI של מחבר הרשת בפרויקט. כדי להשבית את ההגדרה, מגדירים את הערךnull. -
INSTANCE_ID: השם של מופע Cloud SQL.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
תוכן בקשת JSON:
{
"settings": {
"ipConfiguration": {
"pscConfig: {
"networkAttachmentUri": null,
"kind": "sql#settings"
}
},
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
"status": "PENDING",
"user": USER,
"insertTime": "2025-05-13T20:44:23.064Z",
"operationType": "UPDATE",
"targetId": "INSTANCE_ID",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID","
}
בדיקת הקישוריות
כדי לבדוק את הקישוריות הנכנסת למופע Cloud SQL עם Private Service Connect מופעל, צריך להגדיר את כתובת ה-IP של נקודת הקצה (endpoint) של Private Service Connect ככתובת ה-IP של היעד.
gcloud
כדי ליצור בדיקת קישוריות למופע Cloud SQL עם Private Service Connect מופעל, משתמשים בפקודה gcloud network-management connectivity-tests create:
gcloud network-management connectivity-tests create CONNECTIVITY_TEST_NAME \ --source-instance=SOURCE_INSTANCE \ --destination-cloud-sql-instance=DESTINATION_CLOUD_SQL_INSTANCE \ --destination-network=DESTINATION_NETWORK \ --destination-port=DESTINATION_PORT \ --protocol=tcp
מחליפים את הפרטים הבאים:
- CONNECTIVITY_TEST_NAME: השם של בדיקת הקישוריות.
- SOURCE_INSTANCE: ה-URI של מופע Compute Engine שבו נמצאת כתובת ה-IP של המקור (לדוגמה,
projects/myproject/zones/myzone/instances/myinstance). - DESTINATION_CLOUD_SQL_INSTANCE: כתובת ה-URL של מופע Cloud SQL (לדוגמה,
projects/myproject/instances/myinstance). - DESTINATION_NETWORK: ה-URI של רשת ה-VPC שבה נמצאת כתובת ה-IP של היעד (לדוגמה,
projects/myproject/global/networks/mynetwork). - DESTINATION_PORT: מספר היציאה ששמור למכונה. במכונות של Cloud SQL ל-SQL Server, מספר היציאה הוא
1433.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט של פרויקט Google Cloud שמכיל את המופע.
- CONNECTIVITY_TEST_NAME: השם של בדיקת הקישוריות.
- SOURCE_IP_ADDRESS: כתובת ה-IP של מכונת המקור של Compute Engine.
- SOURCE_INSTANCE: ה-URI של מופע Compute Engine שבו נמצאת כתובת ה-IP של המקור (לדוגמה,
projects/myproject/zones/myzone/instances/myinstance). - SOURCE_NETWORK: ה-URI של רשת ה-VPC שבה נמצאת כתובת ה-IP של המקור (לדוגמה,
projects/myproject/global/networks/mynetwork). - DESTINATION_IP_ADDRESS: כתובת ה-IP של מופע היעד של Cloud SQL.
- DESTINATION_PORT: מספר היציאה ששמור למכונה. במכונות Cloud SQL ל-SQL Server, מספר היציאה הוא
1433. - DESTINATION_NETWORK: ה-URI של רשת ה-VPC שבה נמצאת כתובת ה-IP של היעד (לדוגמה,
projects/myproject/global/networks/mynetwork).
ה-method של ה-HTTP וכתובת ה-URL:
POST https://networkmanagement.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/connectivityTests?testId=CONNECTIVITY_TEST_NAME
תוכן בקשת JSON:
{
"source": {
"ipAddress": "SOURCE_IP_ADDRESS",
"instance": "SOURCE_INSTANCE",
"network": "SOURCE_NETWORK"
},
"destination": {
"ipAddress": "DESTINATION_IP_ADDRESS",
"port": DESTINATION_PORT,
"network": "DESTINATION_NETWORK",
"projectId": "PROJECT_ID"
},
"protocol": "TCP"
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "projects/PROJECT_ID/locations/global/operations/operation-OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.networkmanagement.v1.OperationMetadata",
"createTime": "2024-05-23T16:43:49.313981473Z",
"target": "projects/PROJECT_ID/locations/global/connectivityTests/CONNECTIVITY_TEST_NAME",
"verb": "create",
"cancelRequested": false,
"apiVersion": "v1"
},
"done": false
}
מגבלות
אתם יכולים להגדיר עד 20 נקודות קצה של Private Service Connect שמתחברות לקובץ המצורף של שירות במכונת Cloud SQL עם Private Service Connect מופעל.
אם אתם צריכים להתחבר מיותר רשתות VPC, אתם יכולים להשתמש בהפצה של נקודת קצה (endpoint) מסוג Private Service Connect דרך NCC. מידע נוסף זמין במאמר בנושא הפצה של נקודות קצה של Private Service Connect.
אפשר ליצור עד 64,512 חיבורים בו-זמניים באמצעות Private Service Connect למכונת Cloud SQL.
הדגלים הבאים לא תקפים או מושפעים:
--no-assign-ip:צריך להשתמש בדגל הזה כי לא ניתן להשתמש במופעים עם Private Service Connect מופעל בסוגי קישוריות אחרים, כמו חיבורי כתובת IP חיצונית--authorized-networks:אי אפשר להשתמש בדגל הזה כדי להוסיף רשתות מורשות--network:אי אפשר להשתמש בדגל הזה כי הוא משויך לגישה לשירותים פרטיים--allocated-ip-range-name:אי אפשר להשתמש בדגל הזה כי אין תמיכה בשמות של טווחי כתובות IP מותרים
אי אפשר להגדיר מופע שמופעל בו Private Service Connect כך שישתמש בגישה לשירותים פרטיים או בחיבורי כתובת IP חיצונית.
- אי אפשר להפעיל חיבורים של כתובות IP חיצוניות במכונה שמופעל בה Private Service Connect.
- אי אפשר להפעיל גישה לשירותים פרטיים או להוסיף רשתות מורשות למופע.
- אי אפשר לשנות את סוג הקישוריות של המופע.
אי אפשר להשתמש בפקודה
gcloud sql connect, ב-Cloud Shell, ב-Cloud Build, ב-Database Migration Service או ב-Datastream כדי להתחבר למופעים של Cloud SQL עם Private Service Connect מופעל.כשבודקים את הקישוריות למופע Cloud SQL עם Private Service Connect מופעל, אי אפשר להגדיר את הפריטים הבאים:
- כתובת ה-IP הפנימית או שם ה-DNS של המופע כיעד ישירות
- המופע כמקור
- כתובת ה-IP של נקודת הקצה של Private Service Connect כמקור
אין תמיכה בהוספה לרשימת ההיתרים על סמך כתובת IP באמצעות רשתות מורשות.
אין תמיכה ברשימת היתרים מבוססת-IP שנאכפת על ידי בקרת גישה מבוססת-הקשר.
במקרים של מופעי Cloud SQL שבהם מופעל Private Service Connect, לא ניתן להשתמש ב-שירות מנוהל ל-Microsoft Active Directory (שנקרא גם שירות מנוהל ל-Microsoft AD).
פתרון בעיות
בקטע הזה מפורט מידע על בעיות שקשורות למופעי Cloud SQL שמופעל בהם Private Service Connect, וגם שלבים לפתרון הבעיות.
שגיאה פתרון בעיות קובץ השירות המצורף של המופע לא מקבל את נקודת הקצה של Private Service Connect. - בודקים את הסטטוס של נקודת הקצה.
gcloud
כדי לבדוק את הסטטוס, משתמשים בפקודה
gcloud compute forwarding-rules describe.gcloud compute forwarding-rules describe ENDPOINT_NAME \ --project=PROJECT_ID \ --region=REGION_NAME \ | grep pscConnectionStatus
מחליפים את הפרטים הבאים:
- ENDPOINT_NAME: השם של נקודת הקצה
- PROJECT_ID: המזהה או מספר הפרויקט של Google Cloud הפרויקט שמכיל את נקודת הקצה
- REGION_NAME: שם האזור של נקודת הקצה
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט של Google Cloud הפרויקט שמכיל את נקודת הקצה של Private Service Connect
- REGION_NAME: שם האזור
- ENDPOINT_NAME: השם של נקודת הקצה
ה-method של ה-HTTP וכתובת ה-URL:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/forwardingRules/ENDPOINT_NAME
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{ "kind": "compute#forwardingRule", "id": "ENDPOINT_ID", "creationTimestamp": "2024-05-09T12:03:21.383-07:00", "name": "ENDPOINT_NAME", "region": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME", "IPAddress": "IP_ADDRESS", "target": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_NAME", "selfLink": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION_NAME/forwardingRules/ENDPOINT_NAME", "network": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/default", "serviceDirectoryRegistrations": [ { "namespace": "goog-psc-default" } ], "networkTier": "PREMIUM", "labelFingerprint": "LABEL_FINGERPRINT_ID", "fingerprint": "FINGERPRINT_ID", "pscConnectionId": "CONNECTION_ID", "pscConnectionStatus": "ACCEPTED", "allowPscGlobalAccess": true } - מוודאים שהסטטוס של נקודת הקצה הוא
ACCEPTED. אם הסטטוס הואPENDING, המשמעות היא שהמופע לא מאפשר את Google Cloud הפרויקט שמכיל את נקודת הקצה. מוודאים שהפרויקט ברשת שבו נוצרה נקודת הקצה מותר. מידע נוסף זמין במאמר עריכת מופע עם Private Service Connect מופעל.
ERROR: (gcloud.compute.forwarding-rules.create) Could not fetch resource: The resource 'projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME' was not foundהודעת השגיאה הזו יכולה להופיע כשמזמינים כתובת IP פנימית סטטית לנקודת הקצה (endpoint) של Private Service Connect. מוודאים שרשת המשנה שצוינה קיימת בפרויקט שצוין ב-URI. אם רוצים ליצור נקודת קצה בפרויקט שירות אבל להשתמש ברשת משנה מרשת VPC משותפת, צריך לציין את רשת המשנה באמצעות ה-URI שלה ולהשתמש במזהה הפרויקט של פרויקט המארח ב-URI. מידע נוסף זמין במאמר יצירת נקודת הקצה באופן ידני. ERROR: (gcloud.compute.forwarding-rules.create) Could not fetch resource: - The resource 'projects/PROJECT_ID/global/networks/NETWORK_NAME' was not foundהודעת השגיאה הזו יכולה להופיע כשיוצרים נקודת קצה (endpoint) של Private Service Connect באופן ידני. מוודאים שהרשת שצוינה קיימת בפרויקט שצוין ב-URI. אם רוצים ליצור נקודת קצה בפרויקט שירות אבל להשתמש ברשת VPC משותפת, צריך לציין את הרשת באמצעות ה-URI שלה ולהשתמש במזהה הפרויקט של פרויקט המארח ב-URI. מידע נוסף זמין במאמר יצירת נקודת הקצה באופן ידני. Invalid consumer network status for PSC auto connection.הרשת הצרכנית לא מוגדרת נכון או לא מוגדרת בכלל, ולכן אין נקודת קצה שאפשר להתחבר אליה. כדי להתחבר לנקודת הקצה, צריך לבדוק את הסטטוס שלה ולתקן את השגיאה לפני שמנסים להתחבר שוב.
כדי לבדוק את הסטטוס של נקודת קצה, אפשר לעיין במאמר אחזור נקודת הקצה. הסטטוס של נקודת הקצה יכול להיות אחד מהבאים:-
CONNECTION_POLICY_MISSING: אין מדיניות תואמת לחיבור שירות ברשת הצרכן. מדיניות חיבור לשירותים מוגדרת לפי רשת, לפי אזור. כדי להגדיר מחדש את הרשת, אפשר לעיין במאמר בנושא עדכון מדיניות חיבור לשירות. -
CONSUMER_INSTANCE_PROJECT_NOT_ALLOWLISTED: יש מדיניות תואמת של חיבור שירות, אבל השדה היקף מופע השירות במדיניות לא מוגדר כך שיאפשר חיבור למופע הזה של Cloud SQL. מעדכנים את המדיניות כדי להגדיר את הערך של השדה היקף מופע השירות (--producer-instance-location) עם הפרויקט, התיקייה או הארגון שבהם נמצא מופע Cloud SQL. כדי להגדיר מחדש את המדיניות של חיבור השירות, אפשר לעיין במאמר עדכון מדיניות של חיבור שירות. -
POLICY_LIMIT_REACHED: מדיניות החיבור לשירות הגיעה למגבלת נקודות הקצה. כדי לפתור את הבעיה, צריך להגדיל את מגבלת נקודות הקצה על ידי עדכון המדיניות של חיבור השירות.
No permission to create a service connection policy.אין לכם את ההרשאות הנדרשות כדי ליצור מדיניות של חיבור שירות. כדי ליצור מדיניות לחיבור שירות, צריך את התפקיד
Compute Network Admin IAM. מידע נוסף זמין במאמר בנושא תפקידים והרשאות.לא ניתן לקבל חיבורים מהממשק של Private Service Connect למחבר הרשת כשמשתמשים בקישוריות יוצאת של Private Service Connect. אם הרשת החיצונית לא יכולה לקבל חיבורים מממשק Private Service Connect, יכול להיות שמדיניות החיבורים במחבר הרשת לא מוגדרת בצורה נכונה.
צריך להגדיר את הקבצים המצורפים לרשת כך שיקבלו את כל החיבורים באופן אוטומטי, או להגדיר אותם באופן ידני עם רשימה של חיבורים מאושרים. מידע נוסף זמין במאמר בנושא מדיניות חיבור.כדי לאמת את החיבורים שאושרו בקובץ המצורף לרשת, משתמשים בפקודה הבאה:
אם הממשק של Private Service Connect לא מופיע ברשימה המקובלת, צריך לעדכן את מחבר הרשת. מידע נוסף מופיע במאמר בנושא ניהול קבצים מצורפים לרשת.gcloud compute network-attachments describe default --region=REGION_ID
המאמרים הבאים
- מידע נוסף על כתובות IP פרטיות
- מידע נוסף על Private Service Connect
- מידע נוסף על יצירת עותק לקריאה של מופע עם Private Service Connect מופעל.
- מידע נוסף על שיבוט של מופע עם Private Service Connect מופעל
- מידע נוסף על הצגת פרטי סיכום לגבי מופעים שמופעל בהם Private Service Connect
- מידע נוסף על הגדרה והסרה של זמינות גבוהה למופע עם Private Service Connect מופעל.
- מידע נוסף על עריכה ומחיקה של מופע עם Private Service Connect מופעל.