במאמר הזה מוסבר איך להגדיר את Private Service Connect לחיבורים לרשת הפרטית של מכונות Cloud SQL.
אחרי שמגדירים את Private Service Connect ואת נקודות הקצה שלו, אתם והלקוחות של האפליקציה יכולים להתחבר למכונה הראשית של Cloud SQL או לכל אחת מרפליקות הקריאה שלה מכמה רשתות של ענן וירטואלי פרטי (VPC) ששייכות לקבוצות, לצוותים, לפרויקטים או לארגונים שונים. אתם יכולים גם להגדיר שמות DNS גלובליים או לכל מכונה, לחיבורי לקוח שמבוססים על שמות DNS. זה שימושי לתרחישי שימוש של יתירות כשל ותוכנית התאוששות מאסון (DR).
לפני שמתחילים
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance 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 Cloud de Confiance project.
Enable the Service Networking, Network Connectivity, Cloud DNS APIs, if any are not already enabled.
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 Cloud de Confiance 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 Cloud de Confiance 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.
-
-
Install the gcloud CLI.
-
Configure the gcloud CLI to use your federated identity.
For more information, see Sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
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 ורשומות DNS. |
cloudsql.admin |
התפקיד הזה מספק שליטה מלאה במכונת Cloud SQL ושולט במכונה לאורך מחזור החיים שלה. |
cloudsql.instanceUser |
נותן גישה למכונת Cloud SQL. אם אתם מתחברים באמצעות לקוח Cloud SQL Auth Proxy, אתם צריכים את התפקיד Cloud SQL Client. אם מתחברים ישירות, לא צריך תפקידים והרשאות של ניהול זהויות והרשאות גישה (IAM). |
כדי להגדיר מדיניות של חיבור שירות באופן אוטומטי כשיוצרים את מכונת Cloud SQL, צריך תפקידים נוספים ואפשרות להקצות את התפקידים לסוכן השירות של Cloud SQL. מידע נוסף מופיע במאמר יצירת מדיניות חיבור לשירות.
יצירת נקודת קצה מסוג Private Service Connect
נקודות קצה של Private Service Connect הן כתובות IP פנימיות ברשת VPC של צרכן, שלקוחות ברשת הזו יכולים לגשת אליהן ישירות. הלקוחות יכולים להשתמש בנקודות הקצה האלה כדי להתחבר למכונות של Cloud SQL.
אתם יכולים לאפשר ל-Cloud SQL ליצור נקודת קצה של Private Service Connect באופן אוטומטי בענן הווירטואלי הפרטי (VPC), או ליצור את נקודת הקצה באופן ידני.
יצירת נקודת הקצה באופן אוטומטי
כדי ש-Cloud SQL ייצור את נקודת הקצה של Private Service Connect באופן אוטומטי:
יוצרים מדיניות לחיבור שירות ברשת ה-VPC. המדיניות הזו מאפשרת להקצות נקודות קצה של Private Service Connect באופן אוטומטי.
יוצרים מכונה של Cloud SQL שמופעל בה Private Service Connect, ומגדירים את המכונה כך שתיצור נקודות קצה של Private Service Connect באופן אוטומטי.
מאחזרים את נקודת הקצה של המופע. כך תוכלו להשתמש בנקודת הקצה כדי להתחבר למכונה.
יצירת מדיניות של חיבור לשירות
אפשר ליצור מדיניות חיבור לשירות באמצעות מסוף Cloud de Confiance , ה-CLI של gcloud או ה-API.
המסוף
נכנסים לדף Private Service Connect במסוף Cloud de Confiance .
לוחצים על הכרטיסייה Connection Policies (מדיניות חיבור).
לוחצים על Create connection policy.
מזינים שם למדיניות החיבור.
מציינים את מחלקת השירות:
- בקטע סוג שירות המקור, בוחרים באפשרות שירותי Google.
- בתפריט Service class (סוג השירות), בוחרים באפשרות
google-cloud-sqlכי Cloud SQL הוא השירות המנוהל למדיניות הקישור.
בקטע Target endpoints scope, בוחרים את ה-Network ואת ה-Region שהמדיניות הזו חלה עליהם.
אופציונלי: אם מדיניות החיבור לשירות והמכונה של Cloud SQL נמצאות בפרויקטים, בתיקיות או בארגונים שונים, צריך להגדיר את היקף המכונה של השירות בהתאמה אישית:
- מעבירים את המתג Custom service instance scope למצב מופעל.
- בשדה Scopes (היקפים), מזינים את המזהים של הפרויקטים, התיקיות או הארגונים שבהם נמצא המופע.
בקטע Policy, בוחרים רשת משנה אחת או יותר מהתפריט Subnetworks. רשתות המשנה משמשות להקצאת כתובות 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, אבל האפשרות הזו דורשת הרשאות אדמין נוספות.
המסוף
אם אתם משתמשים במסוף Cloud de Confiance , צרו את מכונת Cloud SQL כשהאפשרות Private Service Connect מופעלת. במסוף Cloud de Confiance מתבצעת בדיקה של התפקידים הנדרשים והם מוגדרים באופן אוטומטי. אם 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.s3ns-system.iam.gserviceaccount.com.-
נותנים לסוכן השירות של 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) באופן אוטומטי באמצעות Cloud de Confiance המסוף, ה-CLI של gcloud או ה-API.
המסוף
-
נכנסים לדף Cloud SQL Instances במסוף Cloud de Confiance .
- בקטע Customize your instance, מרחיבים את הקטע Connections.
- מסמנים את התיבה Private IP.
- בקטע Choose a private connection method, מסמנים את התיבה Private Service Connect (PSC).
- בקטע Endpoint setup, לוחצים על Add an Endpoint.
- בקטע Endpoint setup, מבצעים את הפעולות הבאות:
- בכרטיס New Endpoint, בוחרים את הפרויקט שבו רוצים להגדיר את נקודת הקצה מהתפריט Project.
- בוחרים רשת לנקודת הקצה בתפריט Network.
- אם Network Connectivity API עדיין לא מופעל, לוחצים על Enable.
- לוחצים על אישור הגדרת הרשת. אם זוהתה מדיניות חיבור לשירות ברשת שבחרתם, תוצג הודעת הצלחה. אם לא מזוהה מדיניות לחיבור שירותים אבל ההרשאות ניתנו בהצלחה, Cloud de Confiance ייצור בשבילכם מדיניות לחיבור שירותים.
- אופציונלי: משלימים את ההגדרות האחרות של המופע.
- לוחצים על Create Instance.
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 \ --tier=MACHINE_TYPE \ --database-version=DATABASE_VERSION \ --psc-auto-connections=network=CONSUMER_NETWORK,project=CONSUMER_PROJECT \ --enable-bin-log
זה שינוי אופציונלי. כדי ליצור או לעדכן מדיניות של חיבור לשירות באופן אוטומטי כשיוצרים את המכונה של Cloud SQL, מוסיפים לפקודה את הפרמטר --enable-psc-auto-connection-policy.
כדי להשתמש בפרמטר הזה, צריך להגדיר הרשאות נוספות. מידע נוסף מופיע במאמר יצירה אוטומטית של מדיניות חיבור לשירות.
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_NAME: שם המכונה. -
PROJECT_ID: המזהה או מספר הפרויקט של הפרויקט ב- Cloud de Confiance שמכיל את המכונה. -
REGION_NAME: שם האזור של המכונה. -
MACHINE_TYPE: סוג המכונה של המכונה.
AVAILABILITY_TYPE: הפעלת זמינות גבוהה למכונה. בפרמטר הזה, מציינים אחד מהערכים הבאים:-
REGIONAL: מאפשר זמינות גבוהה ומומלץ למכונות בסביבת הייצור. המכונה עוברת למצב של מעבר לגיבוי בעת כשל באזור אחר בתוך האזור שבחרתם. -
ZONAL: לא מספק יכולת יתירות כשל. זה ערך ברירת המחדל.
למידע נוסף על הגדרה והסרה של זמינות גבוהה במכונות, ראו הגדרת מכונה קיימת לזמינות גבוהה והשבתת זמינות גבוהה במכונה.
-
DATABASE_VERSION: גרסת מסד הנתונים של המופע (לדוגמה,MYSQL_8_0).
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 משותפת, זה יכול להיות הפרויקט המארח או פרויקט השירות.כל הפרויקטים שתציינו בפרמטרים של הקישור האוטומטי יתווספו אוטומטית לפרויקטים המורשים. אם רוצים ליצור נקודות קצה (endpoints) של 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 הגלובלית הזו תמיד מצביעה על המופע הראשי הנוכחי של אשכול השכפול, וכך מאפשרת מעבר גיבוי אוטומטי של האפליקציה ללא צורך בעדכונים של מחרוזת החיבור בצד הלקוח במקרה של יתירות כשל או מעבר פעיל של רפליקה.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- INSTANCE_NAME: השם של מכונת Cloud SQL.
- PROJECT_ID: המזהה או מספר הפרויקט של פרויקט Cloud de Confiance שמכיל את המופע.
- REGION_NAME: שם האזור של המכונה.
- DATABASE_VERSION: גרסת מסד הנתונים של המכונה (לדוגמה,
MYSQL_8_0). - AVAILABILITY_TYPE: סוג הזמינות האזורית של המכונה. משתמשים בפרמטר הזה כדי להפעיל או להשבית את הזמינות הגבוהה של המכונה, על ידי ציון אחד מהערכים הבאים:
-
REGIONAL: מאפשר זמינות גבוהה ומומלץ למכונות בסביבת הייצור. המכונה עוברת למצב של מעבר לגיבוי בעת כשל באזור אחר בתוך האזור שבחרתם. -
ZONAL: לא מספק יכולת מעבר. זה ערך ברירת המחדל.
מידע נוסף על הגדרה והסרה של זמינות גבוהה למופעים זמין במאמרים הגדרת זמינות גבוהה למופע קיים והשבתת זמינות גבוהה למופע.
-
- ALLOWED_PROJECTS: רשימה מופרדת בפסיקים של מזהי פרויקטים או מספרי פרויקטים מותרים, שמהם נקודות הקצה של Private Service Connect יכולות להתחבר למכונות של Cloud SQL.
אם פרויקט לא מופיע ברשימה הזו, אי אפשר ליצור בו נקודות קצה של 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: סוג המכונה.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances
תוכן בקשת JSON:
{
"name": "INSTANCE_NAME",
"project": PROJECT_ID",
"region": "REGION_NAME",
"databaseVersion": "MYSQL_8_0",
"kind": "sql#instance",
"settings": {
"availabilityType": "AVAILABILITY_TYPE",
"backupConfiguration": {
"binaryLogEnabled": true,
"enabled": true,
"kind": "sql#backupConfiguration",
"startTime": "00:00"
},
"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 הגלובלית הזו תמיד מפנה למכונה הראשית הנוכחית של אשכול הרפליקציה, מה שמאפשר יתירות כשל חלקה של האפליקציה בלי צורך בעדכונים של מחרוזת החיבור בצד הלקוח במקרה של פעולת יתירות כשל או מעבר לרפליקה.
כדי ליצור מדיניות של חיבור לשירות באופן אוטומטי כשיוצרים את המכונה, מפעילים את השדה הבא:
-
psc_auto_connection_policy_enabled: מציין אם לאפשר ל-Cloud de Confiance by S3NS ליצור או לעדכן מדיניות של חיבור שירות כשיוצרים את מופע 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: גרסת מסד הנתונים של המופע (לדוגמה,MYSQL_8_0). -
MACHINE_TYPE: סוג המכונה של המכונה.
ALLOWED_PROJECTS: רשימה מופרדת בפסיקים של מזהי פרויקטים או מספרי פרויקטים מורשים, שמהם נקודות הקצה של Private Service Connect יכולות להתחבר למכונות של Cloud SQL.אם פרויקט מסוים לא מופיע ברשימה הזו, אי אפשר ליצור בו נקודות קצה (endpoints) של 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 הגלובלית הזו תמיד מפנה למכונה הראשית הנוכחית של אשכול הרפליקציה, מה שמאפשר יתירות כשל חלקה של האפליקציה בלי צורך בעדכונים של מחרוזת החיבור בצד הלקוח במקרה של פעולת יתירות כשל או מעבר לרפליקה.
כדי להפעיל את Private Service Connect וליצור מדיניות חיבור לשירות באופן אוטומטי, משתמשים בשדה הבא:
-
psc_auto_connection_policy_enabled: מציין אם לאפשר ל-Cloud de Confiance by S3NS ליצור או לעדכן מדיניות של חיבור שירות כשיוצרים את מופע Cloud SQL. כדי להשתמש באפשרות הזו, צריך להגדיר הרשאות נוספות. מידע נוסף זמין במאמר יצירה אוטומטית של מדיניות חיבור לשירות.
החלה של השינויים
כך מחילים את ההגדרות של Terraform בפרויקט ב- Cloud de Confiance :
הכנת Cloud Shell
- מפעילים את Cloud Shell.
-
מגדירים את פרויקט ברירת המחדל ב- Cloud de Confiance שבו רוצים להחיל את ההגדרות של Terraform.
תצטרכו להריץ את הפקודה הזו רק פעם אחת לכל פרויקט, ותוכלו לעשות זאת בכל ספרייה.
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!".
- פותחים את Cloud de Confiance הפרויקט כדי לראות את התוצאות. במסוף Cloud de Confiance , נכנסים למשאבים בממשק המשתמש כדי לוודא שהם נוצרו או עודכנו ב-Terraform.
למחוק את השינויים
כדי למחוק את השינויים:
- כדי להשבית את ההגנה מפני מחיקה, מגדירים את הארגומנט
deletion_protectionבקובץ התצורה של Terraform לערך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: המזהה או מספר הפרויקט ב- Cloud de Confiance שמכיל את המכונה.
בתגובה, שימו לב לערך שמופיע לצד השדה pscConfig:pscAutoConnections:ipAddress. הערך הזה הוא כתובת ה-IP הפנימית שהיא גם נקודת הקצה של Private Service Connect עבור המכונה.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט של פרויקט Cloud de Confiance שמכיל את המופע.
- 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": "MYSQL_8_0",
"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 הזה כדי ליצור את נקודת הקצה של Private Service Connect.
שומרים כתובת IP פנימית לנקודת הקצה (endpoint) של 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 \ --tier=MACHINE_TYPE \ --database-version=DATABASE_VERSION \ --enable-bin-log
מחליפים את הפרטים הבאים:
- INSTANCE_NAME: שם המכונה.
- PROJECT_ID: המזהה או מספר הפרויקט ב- Cloud de Confiance שמכיל את המכונה.
- REGION_NAME: שם האזור של המכונה.
ALLOWED_PROJECTS: רשימה מופרדת בפסיקים של מזהי פרויקטים או מספרים מותרים, שמהם נקודות הקצה של Private Service Connect יכולות להתחבר למכונות של Cloud SQL.
אם פרויקט מסוים לא מופיע ברשימה הזו, אי אפשר ליצור בו נקודות קצה (endpoints) של Private Service Connect כדי להתחבר למופע.
- AVAILABILITY_TYPE: הפעלת זמינות גבוהה למכונה. בפרמטר הזה, מציינים את אחד מהערכים הבאים:
-
REGIONAL: מאפשר זמינות גבוהה ומומלץ למכונות בסביבת הייצור. המכונה עוברת למצב של מעבר לגיבוי בעת כשל באזור אחר בתוך האזור שבחרתם. -
ZONAL: לא מספק יכולת יתירות כשל. זה ערך ברירת המחדל.
מידע נוסף על הגדרה והסרה של זמינות גבוהה למכונות זמין במאמרים הגדרת מכונה קיימת לזמינות גבוהה והשבתת זמינות גבוהה למכונה.
-
- MACHINE_TYPE: סוג המכונה.
- DATABASE_VERSION: גרסת מסד הנתונים של המכונה (לדוגמה,
MYSQL_8_0).
Terraform
כדי ליצור מכונה שמופעל בה Private Service Connect, משתמשים ב משאב של Terraform google_sql_database_instance.
כדי להחיל את הגדרות Terraform בפרויקט ב- Cloud de Confiance , מבצעים את השלבים בקטעים הבאים.
הכנת Cloud Shell
- מפעילים את Cloud Shell.
-
מגדירים את פרויקט ברירת המחדל ב- Cloud de Confiance שבו רוצים להחיל את ההגדרות של Terraform.
תצטרכו להריץ את הפקודה הזו רק פעם אחת לכל פרויקט, ותוכלו לעשות זאת בכל ספרייה.
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!".
- פותחים את Cloud de Confiance הפרויקט כדי לראות את התוצאות. במסוף Cloud de Confiance , נכנסים למשאבים בממשק המשתמש כדי לוודא שהם נוצרו או עודכנו ב-Terraform.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט ב- Cloud de Confiance שמכיל את המכונה.
- INSTANCE_NAME: שם המכונה.
- REGION_NAME: שם האזור של המכונה.
- AVAILABILITY_TYPE: מפעיל זמינות גבוהה למכונה. בפרמטר הזה, מציינים את אחד מהערכים הבאים:
-
REGIONAL: מאפשר זמינות גבוהה ומומלץ למכונות בסביבת הייצור. המכונה עוברת למצב של מעבר לגיבוי בעת כשל באזור אחר בתוך האזור שבחרתם. -
ZONAL: לא מספק יכולת יתירות כשל. זה ערך ברירת המחדל.
מידע נוסף על הגדרה והסרה של זמינות גבוהה למכונות זמין במאמרים הגדרת מכונה קיימת לזמינות גבוהה והשבתת זמינות גבוהה למכונה.
-
ALLOWED_PROJECTS: רשימה מופרדת בפסיקים של מזהי פרויקטים או מספרים שמנקודות קצה של Private Service Connect יכולות להתחבר למופעים של Cloud SQL.
אם פרויקט לא מופיע ברשימה הזו, אי אפשר ליצור בו נקודות קצה של Private Service Connect כדי להתחבר למכונה.
- MACHINE_TYPE: סוג המכונה של המכונה.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances
תוכן בקשת JSON:
{
"name": "INSTANCE_NAME",
"project": PROJECT_ID",
"region": "REGION_NAME",
"databaseVersion": "MYSQL_8_0",
"kind": "sql#instance",
"settings": {
"availabilityType": "AVAILABILITY_TYPE",
"backupConfiguration": {
"binaryLogEnabled": true,
"enabled": true,
"kind": "sql#backupConfiguration",
"startTime": "00:00"
},
"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: המזהה או מספר הפרויקט של פרויקט Cloud de Confiance שמכיל את המופע
בדוגמה הבאה מוצג פלט לדוגמה של הפקודה הזו:
gcloud sql instances describe myinstance \ --project=12345 ... pscServiceAttachmentLink: projects/45678/regions/myregion/serviceAttachments/myserviceattachment
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט של הפרויקט ב- Cloud de Confiance שמכיל את המכונה
- 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 של קובץ ה-Service Attachment ואת הפרויקטים שמותרים למופע.
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: המזהה או מספר הפרויקט של Cloud de Confiance הפרויקט של נקודת הקצה.
- 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 כי אתם רוצים ש- Cloud de Confiance by S3NS יקצה כתובת IP זמינה ברשת המשנה, אל תשתמשו בדגל הזה.
כדי לוודא שכתובת ה-IP שמורה, משתמשים בפקודה
gcloud compute addresses list:gcloud compute addresses list ADDRESS_NAME \ --project=PROJECT_ID
בתגובה, מוודאים שמופיע סטטוס
RESERVEDלכתובת ה-IP.כדי ליצור את נקודת הקצה של 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
כדי ליצור נקודת קצה (endpoint) של Private Service Connect, משתמשים ב משאב Terraform google_sql_database_instance.
כדי ליצור נקודת קצה (endpoint) של Private Service Connect ב-IPv4, אפשר להשתמש בדוגמה הבאה.
כדי ליצור נקודת קצה (endpoint) מסוג Private Service Connect ב-IPv6, אפשר להשתמש בדוגמה הבאה.
כדי להחיל את הגדרות Terraform בפרויקט ב- Cloud de Confiance , מבצעים את השלבים בקטעים הבאים.
הכנת Cloud Shell
- מפעילים את Cloud Shell.
-
מגדירים את פרויקט ברירת המחדל ב- Cloud de Confiance שבו רוצים להחיל את ההגדרות של Terraform.
תצטרכו להריץ את הפקודה הזו רק פעם אחת לכל פרויקט, ותוכלו לעשות זאת בכל ספרייה.
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!".
- פותחים את הפרויקט ב- Cloud de Confiance כדי להציג את התוצאות. במסוף Cloud de Confiance , נכנסים למשאבים בממשק המשתמש כדי לוודא שהם נוצרו או עודכנו ב-Terraform.
REST
שומרים כתובת IP פנימית לנקודת הקצה של Private Service Connect.
מוודאים שכתובת ה-IP שמורה.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט של Cloud de Confiance הפרויקט שמכיל את נקודת הקצה של 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: המזהה או מספר הפרויקט של Cloud de Confiance הפרויקט שמכיל את נקודת הקצה של 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, Cloud SQL Auth Proxy, מחברי שפות ל-Cloud SQL אוCloud de Confiance by S3NS אפליקציות אחרות.
קישור באמצעות רשומת DNS
מומלץ להתחבר למופעים עם Private Service Connect מופעל באמצעות DNS. שם DNS מאפשר לרשתות שונות להתחבר לאותה מכונה, כאשר לנקודות קצה של Private Service Connect בכל רשת יכולות להיות כתובות IP שונות. בנוסף, כדי להתחבר למכונות האלה, צריך להשתמש בשמות DNS ב-Cloud SQL Auth Proxy. במאמר הגדרת DNS ל-Private Service Connect מוסבר איך מגדירים DNS.
לפני שמתחברים למכונה של Cloud SQL באמצעות רשומת DNS, צריך לבצע את הפעולות הבאות:
- יצירת נקודת קצה מסוג Private Service Connect
- מוודאים שחיבור השירות של המכונה מקבל את נקודת הקצה. כדי לוודא שהסטטוס של נקודת הקצה הוא
ACCEPTED, בודקים את הסטטוס. - מגדירים תחום מנוהל של DNS ורשומת DNS.
אחרי שתעמדו בתנאים האלה, תוכלו להשתמש ברשומת ה-DNS כדי להתחבר למכונה מכל רשת VPC שבה יצרתם את נקודת הקצה.
mysql --host=DNS_RECORD --user=USERNAME -p
מחליפים את הפרטים הבאים:
- DNS_RECORD: רשומת ה-DNS של נקודת הקצה
- USERNAME: השם של המשתמש שמתחבר למכונה
חיבור ישיר באמצעות כתובת IP פנימית
לפני שמתחברים למכונה של Cloud SQL שמופעל בה Private Service Connect, צריך לבצע את הפעולות הבאות:
- יוצרים נקודת קצה מסוג Private Service Connect.
- מוודאים שקובץ השירות המצורף של המופע מקבל את נקודת הקצה. כדי לוודא שהסטטוס של נקודת הקצה הוא
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: המזהה או מספר הפרויקט של Cloud de Confiance הפרויקט שמכיל את נקודת הקצה
- REGION_NAME: שם האזור של נקודת הקצה
בתשובה, מוודאים שכתובת IP מופיעה בשדה
address. זוהי כתובת ה-IP הפנימית.REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט של Cloud de Confiance הפרויקט שמכיל את נקודת הקצה
- 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: המזהה או מספר הפרויקט של Cloud de Confiance הפרויקט שמכיל את נקודת הקצה
- SERVICE_ATTACHMENT_NAME: השם של צירוף השירות של המכונה ב-Cloud SQL
בתגובה, מוודאים שמופיעה כתובת IP. זוהי כתובת ה-IP הפנימית.
זוהי דוגמה לתשובה:
NAMEREGIONIP_ADDRESSTARGETmyInstanceus-central110.10.10.10us-central1/serviceAttachments/a-123456789e0a-psc-service-attachment-abc123d4e5f67gh8REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט של הפרויקט ב- Cloud de Confiance שמכיל את נקודת הקצה (endpoint)
- REGION_NAME: שם האזור של נקודת הקצה
- SERVICE_ATTACHMENT_PROJECT_ID: המזהה או מספר הפרויקט של Cloud de Confiance הפרויקט שמכיל את חיבור השירות
- 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 הפנימית.
mysql --host=IP_ADDRESS --user=USERNAME -p
מחליפים את הפרטים הבאים:
- IP_ADDRESS: כתובת ה-IP של נקודת הקצה
- USERNAME: השם של המשתמש שמתחבר למכונה
התחברות באמצעות Cloud SQL Auth Proxy
Cloud SQL Auth Proxy הוא מחבר שמאפשר גישה מאובטחת למכונה שמופעל בה Private Service Connect, בלי צורך ברשתות מורשות או בהגדרת SSL.
מגדירים את Cloud SQL Auth Proxy באמצעות שם ה-DNS של Private Service Connect של המכונה. שם DNS מזהה רשומת DNS שממפה משאב DNS לשם דומיין. מידע נוסף על הפעלת DNS לפרויקט זמין במאמר הגדרת DNS ב-Private Service Connect. כדי לאתר שמות DNS קיימים למכונה, ראו איתור שמות DNS.
אם הפעלתם אשכול מתקדם של יתירות כשל, אתם יכולים גם להגדיר את Cloud SQL Auth Proxy כך שישתמש בשם ה-DNS של נקודת הקצה לכתיבה של 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 ואילך.
הורדה והתקנה של Cloud SQL Auth Proxy
כדי להתחבר למכונות שבהן מופעל Private Service Connect, צריך להוריד ולהתקין את הקובץ הבינארי של Cloud SQL Auth Proxy. הקובץ הבינארי שאתם מורידים תלוי במערכת ההפעלה, ובשאלה אם היא משתמשת בליבה של 32 ביט או 64 ביט. רוב החומרות החדשות יותר משתמשות בליבה של 64 ביט.
אם אתם לא בטוחים אם המכונה שלכם מריצה ליבה של 32 ביט או 64 ביט, השתמשו בפקודה uname -a עבור Linux או macOS. למידע על Windows, אפשר לעיין במאמרי העזרה של Windows.
הפעלת Cloud SQL Auth Proxy
Cloud SQL Auth Proxy תומך בחיבורים למכונות שמופעל בהן Private Service Connect. מידע נוסף זמין במאמר הפעלת Cloud SQL Auth Proxy.
- מציגים את פרטי הסיכום של מכונת 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: המזהה או מספר הפרויקט של פרויקט Cloud de Confiance שמכיל את המופע
שם החיבור הוא בפורמט
PROJECT_ID:REGION_NAME:INSTANCE_NAME.REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט של פרויקט Cloud de Confiance שמכיל את המופע
- 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. - מעתיקים את השם של החיבור למכונה.
מפעילים את Cloud SQL Auth Proxy:
./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 של נקודת הקצה לכתיבה ב-Private Service Connect של אשכול מתקדם ליתירות כשל, אם הפעלתם אחד כזה. שם 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 (גרסה 0.5.0 ואילך)
התחברות מסביבת App Engine Standard, מ-Cloud Run או מפונקציות Cloud Run
כדי להתחבר למכונות Cloud SQL שמופעל בהן Private Service Connect, אתם יכולים להשתמש ב-App Engine Standard או ב-Cloud Run.
בסביבות הנתמכות האלה של שרתים וירטואליים, יש תמיכה גם במחברי שפות ל-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.
מאתרים את מזהה פרויקט הדייר (tenant) ב-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: מזהה הפרויקט של הפרויקט שבו אתם משתמשים ב- Cloud de Confiance by S3NS.
- INSTANCE_NAME: השם של מכונת Cloud SQL שמופעל בה Private Service Connect, שרוצים להגדיר לה קישוריות יוצאת.
שומרים את הערך של מזהה פרויקט הדייר (tenant) כדי לכלול אותו בהמשך ברשימה של מזהי הפרויקטים המקובלים. ההרשאה הזו נדרשת כשיוצרים או מעדכנים חיבור לרשת בפרויקט ב- Cloud de Confiance by S3NS .
מזהים את הרשת שרוצים לקבל ממנה חיבורים יוצאים של Cloud SQL, ומוודאים שיש לה ממשק Private Service Connect.
מפעילים חיבורים יוצאים למכונה של Cloud SQL באמצעות מחבר הרשת.
אתם יכולים גם להשבית את הקישוריות היוצאת בכל שלב, כשאתם כבר לא צריכים חיבורים יוצאים למכונה.
מידע נוסף על קישוריות יוצאת של Private Service Connect זמין במאמר חיבורים יוצאים של Private Service Connect.
הפעלת חיבורים יוצאים במכונה של Cloud SQL
כדי להפעיל קישוריות יוצאת למכונה של Cloud SQL, קודם צריך ליצור או לעדכן מחבר רשת בפרויקט Cloud de Confiance by S3NS .
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 של קובץ הרשת המצורף בפרויקט Cloud de Confiance by S3NS שבו רוצים להשתמש כדי להתחבר לממשק Private Service Connect של הרשת.
- PROJECT_ID: מזהה הפרויקט ב- Cloud de Confiance by S3NSשבו משתמשים.
כדי לוודא שהקישוריות היוצאת של 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: מזהה הפרויקט ב- Cloud de Confiance by S3NSשבו משתמשים.
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 של נקודת הקצה של 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 \ --round-trip
מחליפים את הפרטים הבאים:
- 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 ל-MySQL, מספר היציאה הוא
3306.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט של פרויקט Cloud de Confiance שמכיל את המופע.
- 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 ל-MySQL, מספר היציאה הוא
3306. - 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 נוספות, אתם יכולים להשתמש בהפצה של נקודות קצה של 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. ב-Cloud SQL יש כלים שיעזרו לכם לשדרג את המכונות מארכיטקטורת הרשת הישנה לארכיטקטורת הרשת החדשה. למידע נוסף או כדי לבדוק את ארכיטקטורת הרשת של מכונות Cloud SQL בפרויקט ולבצע שדרוגים נדרשים, אפשר לעיין במאמר שדרוג מכונה לארכיטקטורת הרשת החדשה.
פתרון בעיות
בקטע הזה מפורטות בעיות שקשורות למכונות של 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: המזהה או מספר הפרויקט של הפרויקט ב- Cloud de Confiance שמכיל את נקודת הקצה (endpoint)
- REGION_NAME: שם האזור של נקודת הקצה (endpoint)
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט של Cloud de Confiance הפרויקט שמכיל את נקודת הקצה של 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, המשמעות היא שהמופע לא מאפשר את הפרויקט Cloud de Confiance שמכיל את נקודת הקצה. חשוב לוודא שפרויקט הרשת שבו נוצרה נקודת הקצה מורשה. מידע נוסף מופיע במאמר עריכת מופע עם 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: יש מדיניות תואמת לחיבור לשירות, אבל השדה Service instance scope במדיניות לא מוגדר לאפשר חיבור למכונה הזו של 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, יכול להיות שמדיניות החיבורים במחבר הרשת שלכם לא מוגדרת בצורה נכונה.
צריך להגדיר את מחברי הרשת כך שיקבלו את כל החיבורים באופן אוטומטי, או להגדיר אותם באופן ידני עם רשימה של חיבורים מקובלים. מידע נוסף זמין במאמר כללי מדיניות של חיבורים.כדי לאמת את החיבורים שאושרו במחבר הרשת, משתמשים בפקודה הבאה:
gcloud compute network-attachments describe default --region=REGION_ID
אם הממשק של Private Service Connect לא נמצא ברשימת הממשקים שאושרו, מעדכנים את מחבר הרשת. מידע נוסף זמין במאמר ניהול של חיבורי רשת.
המאמרים הבאים
- מידע נוסף על כתובת IP פרטית
- מידע נוסף על Private Service Connect
- איך יוצרים עותק לקריאה בלבד של מכונה שמופעל בה Private Service Connect.
- מידע נוסף על שיבוט של מופע עם Private Service Connect מופעל
- מידע נוסף על הצגת פרטי סיכום לגבי מופעים שמופעל בהם Private Service Connect
- מידע נוסף על הגדרה והסרה של זמינות גבוהה למופע עם Private Service Connect מופעל.
- מידע נוסף על עריכה ומחיקה של מכונה שמופעל בה Private Service Connect.