בדף הזה מוסבר איך להשתמש ב-Private Service Connect כדי להתחבר למופע Cloud SQL.
אתם יכולים להשתמש ב-Private Service Connect כדי להתחבר למופע Cloud SQL ראשי או לכל אחת מהרפליקות לקריאה שלו מכמה רשתות של ענן וירטואלי פרטי (VPC) ששייכות לקבוצות, לצוותים, לפרויקטים או לארגונים שונים.
לפני שמתחילים
התמיכה בשימוש ב-Private Service Connect עם מופע Cloud SQL זמינה בגרסאות gcloud CLI 416.0.0 ואילך.
תפקידי משתמשים
בטבלה הבאה מפורטים התפקידים שנדרשים כדי להשתמש ב-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). |
יצירת נקודת קצה מסוג Private Service Connect
נקודות קצה של Private Service Connect הן כתובות IP פנימיות ברשת VPC של צרכן, שלקוחות ברשת הזו יכולים לגשת אליהן ישירות. לקוחות יכולים להשתמש בנקודות הקצה האלה כדי להתחבר למופעים של Cloud SQL.
אפשר להגדיר ש-Cloud SQL ייצור באופן אוטומטי נקודת קצה (endpoint) של Private Service Connect בענן הווירטואלי הפרטי (VPC), או ליצור את נקודת הקצה באופן ידני.
יצירת נקודת הקצה באופן אוטומטי
כדי ש-Cloud SQL ייצור את נקודת הקצה של Private Service Connect באופן אוטומטי, צריך לבצע את הפעולות הבאות:
יוצרים מדיניות לחיבור שירות ברשת ה-VPC. המדיניות הזו מאפשרת להקצות נקודות קצה של Private Service Connect באופן אוטומטי.
יוצרים מכונה של Cloud SQL עם Private Service Connect מופעל עבור המכונה, ומגדירים את המכונה כך שייווצרו נקודות קצה של Private Service Connect באופן אוטומטי.
מאחזרים את נקודת הקצה של המופע. כך תוכלו להשתמש בנקודת הקצה כדי להתחבר למופע.
יצירת מדיניות לחיבור שירות
מדיניות חיבור שירות מאפשרת לכם להעניק הרשאה לסוג שירות מסוים ליצור נקודת קצה של Private Service Connect ברשת ה-VPC של הצרכן. אתם יכולים להשתמש במדיניות חיבור השירות כדי לאפשר ל-Cloud SQL ליצור נקודות קצה (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 שאליהם המדיניות הזו חלה.
בקטע מדיניות, בוחרים רשת משנה אחת או יותר מהתפריט רשתות משנה. רשתות המשנה משמשות להקצאת כתובות 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. אפשר להגדיר את הערך שלPRODUCER_INSTANCE_LOCATIONרק לאחת מהאפשרויות הבאות:-
custom-resource-hierarchy-levels: המופע צריך להיות ממוקם באחד מהפרויקטים, התיקיות או הארגונים שציינתם כערך לפרמטרallowed-google-producers-resource-hierarchy-level. -
none: המופע נמצא באותו פרויקט כמו מדיניות חיבור השירות.
-
RESOURCE_HIERARCHY_LEVEL: רשימה של פרויקטים, תיקיות או ארגונים שבהם נמצא המופע. הרשימה הזו היא בצורה שלprojects/PROJECT_ID,folders/FOLDER_IDאוorganizations/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
אתם יכולים ליצור מכונה עם Private Service Connect מופעל עבור המכונה, ולהגדיר את המכונה כך שייווצרו נקודות קצה באופן אוטומטי באמצעות ה-CLI של gcloud או ה-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 \ --psc-auto-connections=network=CONSUMER_NETWORK,project=CONSUMER_PROJECT
מחליפים את הפרטים הבאים:
- INSTANCE_NAME: השם של המכונה.
- PROJECT_ID: המזהה או מספר הפרויקט של Google Cloud הפרויקט שמכיל את המופע.
- REGION_NAME: שם האזור של המכונה.
ALLOWED_PROJECTS: רשימה מופרדת בפסיקים של מזהי פרויקטים או מספרים מותרים, שמנקודות קצה מסוג Private Service Connect אפשר להתחבר למופעים של Cloud SQL.
אם פרויקט מסוים לא מופיע ברשימה הזו, אי אפשר ליצור בו נקודות קצה של Private Service Connect כדי להתחבר למופע.
- AVAILABILITY_TYPE: מפעיל זמינות גבוהה למכונה. לפרמטר הזה מציינים אחד מהערכים הבאים:
-
REGIONAL: מאפשר זמינות גבוהה ומומלץ למופעי ייצור. המופע עובר לזמינות חלקית באזור אחר בתוך האזור שנבחר. -
ZONAL: לא מספק יכולת מעבר לגיבוי. זה ערך ברירת המחדל.
מידע נוסף על הגדרה והסרה של זמינות גבוהה למופעים זמין במאמרים הגדרת זמינות גבוהה למופע קיים והשבתת זמינות גבוהה למופע.
-
- MACHINE_TYPE: סוג המכונה של המופע.
- DATABASE_VERSION: גרסת מסד הנתונים של המופע (לדוגמה,
POSTGRES_13). - CONSUMER_NETWORK: הנתיב לרשת ה-VPC שממנה צריך ליצור נקודות קצה של Private Service Connect. לדוגמה:
projects/my-host-project/global/networks/default. CONSUMER_PROJECT: הפרויקט שבו נוצרה נקודת הקצה של Private Service Connect. אם אתם משתמשים ברשת VPC משותפת, זה יכול להיות פרויקט המארח או פרויקט השירות.
כל הפרויקטים שמצוינים בפרמטרים של הקישור האוטומטי יתווספו אוטומטית לרשימת הפרויקטים המורשים. אם רוצים ליצור נקודות קצה של Private Service Connect באופן ידני בפרויקטים מסוימים, אפשר להוסיף את הפרויקטים האלה לרשימת הפרויקטים המותרים.
REST
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: המזהה או מספר הפרויקט של Google Cloud הפרויקט שמכיל את המופע.
- INSTANCE_NAME: השם של המכונה.
- REGION_NAME: שם האזור של המכונה.
- AVAILABILITY_TYPE: מפעיל זמינות גבוהה למכונה. לפרמטר הזה מציינים אחד מהערכים הבאים:
-
REGIONAL: מאפשר זמינות גבוהה ומומלץ למופעי ייצור. המופע עובר לזמינות חלקית באזור אחר בתוך האזור שנבחר. -
ZONAL: לא מספק יכולת מעבר לגיבוי. זה ערך ברירת המחדל.
מידע נוסף על הגדרה והסרה של זמינות גבוהה למופעים זמין במאמרים הגדרת זמינות גבוהה למופע קיים והשבתת זמינות גבוהה למופע.
-
ALLOWED_PROJECTS: רשימה מופרדת בפסיקים של מזהי פרויקטים או מספרים מותרים, שמנקודות קצה מסוג Private Service Connect אפשר להתחבר למופעים של Cloud SQL.
אם פרויקט מסוים לא מופיע ברשימה הזו, אי אפשר ליצור בו נקודות קצה של Private Service Connect כדי להתחבר למופע.
- MACHINE_TYPE: סוג המכונה של המופע.
- CONSUMER_NETWORK: רשת ה-VPC שבה רוצים לאפשר יצירה אוטומטית של נקודות קצה של Private Service Connect.
- PARENT_PROJECT: הפרויקט שמכיל את הרשת CONSUMER_NETWORK. אם לא מציינים פרויקט אחר ב-CONSUMER_PROJECT, נקודות הקצה נוצרות באופן אוטומטי ב-PARENT_PROJECT
CONSUMER_PROJECT: אופציונלי. מציינים את הערך הזה רק אם CONSUMER_NETWORK היא רשת VPC משותפת ורוצים לאפשר יצירה אוטומטית של נקודות קצה (endpoint) מסוג Private Service Connect בפרויקט שירות.
כל הפרויקטים שמצוינים בפרמטרים של הקישור האוטומטי יתווספו אוטומטית לרשימת הפרויקטים המורשים. אם רוצים ליצור נקודות קצה של Private Service Connect באופן ידני בפרויקטים מסוימים, אפשר להוסיף את הפרויקטים האלה לרשימת הפרויקטים המורשים.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances
תוכן בקשת JSON:
{
"name": "INSTANCE_NAME",
"project": PROJECT_ID",
"region": "REGION_NAME",
"databaseVersion": "POSTGRES_13",
"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
}
},
"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"
}
אחזור נקודת הקצה
אפשר לאחזר את כתובת ה-IP הפנימית, שהיא נקודת הקצה של 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": "POSTGRES_13",
"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 פנימית לנקודת הקצה של 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
מחליפים את הפרטים הבאים:
- INSTANCE_NAME: השם של המכונה.
- PROJECT_ID: המזהה או מספר הפרויקט של Google Cloud הפרויקט שמכיל את המופע.
- REGION_NAME: שם האזור של המכונה.
ALLOWED_PROJECTS: רשימה מופרדת בפסיקים של מזהי פרויקטים או מספרים מותרים, שמנקודות קצה מסוג Private Service Connect אפשר להתחבר למופעים של Cloud SQL.
אם פרויקט מסוים לא מופיע ברשימה הזו, אי אפשר ליצור בו נקודות קצה של Private Service Connect כדי להתחבר למופע.
- AVAILABILITY_TYPE: הפעלת זמינות גבוהה למכונה. לפרמטר הזה מציינים אחד מהערכים הבאים:
-
REGIONAL: מאפשר זמינות גבוהה ומומלץ למופעי ייצור. המופע עובר לזמינות חלקית באזור אחר בתוך האזור שנבחר. -
ZONAL: לא מספק יכולת מעבר לגיבוי. זה ערך ברירת המחדל.
מידע נוסף על הגדרה והסרה של זמינות גבוהה למופעים זמין במאמרים הגדרת זמינות גבוהה למופע קיים והשבתת זמינות גבוהה למופע.
-
- MACHINE_TYPE: סוג המכונה של המופע.
- DATABASE_VERSION: גרסת מסד הנתונים של המופע (לדוגמה,
POSTGRES_13).
Terraform
כדי ליצור מכונה עם Private Service Connect שמופעל עבור המכונה, משתמשים ב משאב google_sql_database_instance של Terraform.
כדי להחיל את ההגדרות של 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: שם האזור של המכונה.
- 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": "POSTGRES_13",
"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 של קובץ השירות המצורף ומשתמשים בו כדי ליצור את נקודת הקצה של 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.כדי ליצור את נקודת הקצה של 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. נקודת הקצה יכולה להתחבר ל-Service Attachment.
Terraform
כדי ליצור נקודת קצה מסוג Private Service Connect, משתמשים ב google_sql_database_instanceמשאב Terraform.
אפשר להשתמש בדוגמה הבאה כדי ליצור נקודת קצה של 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. נקודת הקצה יכולה להתחבר ל-Service Attachment.
התחברות למכונה של Cloud SQL
אפשר להתחבר למכונת Cloud SQL עם Private Service Connect מופעל באמצעות כתובת IP פנימית, רשומת DNS, שרת proxy ל-Cloud SQL Auth, מחברי שפות ל-Cloud SQL או אפליקציות אחרות. Google Cloud
הגדרת תחום מנוהל ורשומת DNS
Cloud SQL לא יוצר רשומות DNS באופן אוטומטי. במקום זאת, בתשובה של Instance Lookup API מופיע שם DNS מוצע. מומלץ ליצור את רשומת ה-DNS בתחום DNS פרטי ברשת ה-VPC המתאימה. כך אפשר להשתמש בשרת proxy ל-Cloud SQL Auth כדי להתחבר מרשתות שונות בצורה עקבית.
gcloud
כדי להציג סיכום מידע על מכונת Cloud SQL, כולל שם ה-DNS של המכונה, משתמשים בפקודה
gcloud sql instances describe:gcloud sql instances describe INSTANCE_NAME \ --project=PROJECT_ID
מחליפים את הפרטים הבאים:
- INSTANCE_NAME: השם של מכונת Cloud SQL
- PROJECT_ID: המזהה או מספר הפרויקט של Google Cloud הפרויקט שמכיל את המופע
בתשובה, מוודאים ששם ה-DNS מופיע. השם הזה פועל לפי התבנית הבאה:
INSTANCE_UID.PROJECT_DNS_LABEL.REGION_NAME.sql.goog.. לדוגמה:1a23b4cd5e67.1a2b345c6d27.us-central1.sql.goog..אם אתם רוצים להשתמש בשם DNS מותאם אישית כדי להתחבר למופע Cloud SQL במקום להשתמש בשם ה-DNS המוגדר מראש שמופיע בקטע הזה, אתם צריכים להגדיר את הגדרת שם חלופי של בעלים (subject) (SAN) המותאם אישית בזמן יצירת המופע. שם ה-DNS המותאם אישית שמוסיפים להגדרת ה-SAN המותאמת אישית, מתווסף לשדה ה-SAN של אישור השרת של המופע. כך תוכלו להשתמש בשם DNS בהתאמה אישית עם אימות שם המארח בצורה מאובטחת.
מידע נוסף על הגדרת SAN מותאם אישית זמין במאמר יצירת מופעים.
כדי ליצור תחום DNS פרטי, משתמשים בפקודה
gcloud dns managed-zones create. האזור הזה משויך לרשת ה-VPC שמשמשת לחיבור למופע Cloud SQL דרך נקודת הקצה של Private Service Connect.gcloud dns managed-zones create ZONE_NAME \ --project=PROJECT_ID \ --description="DESCRIPTION" \ --dns-name=DNS_NAME \ --networks=NETWORK_NAME \ --visibility=private
מחליפים את הפרטים הבאים:
- ZONE_NAME: השם של תחום ה-DNS
- PROJECT_ID: המזהה או מספר הפרויקט של Google Cloud הפרויקט שמכיל את האזור
- DESCRIPTION: תיאור של האזור (לדוגמה, תחום DNS למופע Cloud SQL)
- DNS_NAME: השם של סיומת ה-DNS של האזור, למשל
REGION_NAME.sql.goog.(כאשר REGION_NAME הוא שם האזור של האזור) - NETWORK_NAME: השם של רשת ה-VPC
אחרי יצירת נקודת הקצה של Private Service Connect, כדי ליצור רשומת DNS באזור, משתמשים בפקודה
gcloud dns record-sets create:gcloud dns record-sets create DNS_RECORD \ --project=PROJECT_ID \ --type=RRSET_TYPE \ --rrdatas=RR_DATA \ --zone=ZONE_NAME
מחליפים את הפרטים הבאים:
- DNS_RECORD: השם של רשומת ה-DNS. הרשומה הזו מוגדרת לשם ה-DNS שאחזרתם ממופע Cloud SQL קודם לכן בתהליך הזה (לדוגמה,
1a23b4cd5e67.1a2b345c6d27.us-central1.sql.goog.). - RRSET_TYPE: סוג רשומת המשאב של קבוצת רשומות ה-DNS. אם כתובת ה-IP הפנימית ששמרתם לנקודת הקצה של Private Service Connect היא IPv4, צריך לציין
Aכערך של הפרמטר הזה. אחרת, אם כתובת ה-IP של נקודת הקצה היא IPv6, מצייניםAAAA. - RR_DATA: כתובת ה-IP שהוקצתה לנקודת הקצה של Private Service Connect (לדוגמה,
198.51.100.5). אפשר גם להזין כמה ערכים, כמוrrdata1 rrdata2 rrdata3(לדוגמה,10.1.2.3 10.2.3.4 10.3.4.5).
- DNS_RECORD: השם של רשומת ה-DNS. הרשומה הזו מוגדרת לשם ה-DNS שאחזרתם ממופע Cloud SQL קודם לכן בתהליך הזה (לדוגמה,
REST
- קבלת שם ה-DNS של מכונה ב-Cloud SQL.
- PROJECT_ID: המזהה או מספר הפרויקט של Google Cloud הפרויקט שמכיל את המופע
- INSTANCE_NAME: השם של המכונה
- יוצרים תחום DNS פרטי. האזור הזה משויך לרשת ה-VPC שמשמשת לחיבור למופע Cloud SQL דרך נקודת הקצה של Private Service Connect.
- PROJECT_ID: המזהה או מספר הפרויקט של Google Cloud הפרויקט שמכיל את תחום ה-DNS
- ZONE_NAME: שם האזור
- DESCRIPTION: תיאור של האזור (לדוגמה, תחום DNS למופע Cloud SQL)
- DNS_NAME: השם של סיומת ה-DNS של האזור, למשל
REGION_NAME.sql.goog.(כאשר REGION_NAME הוא שם האזור של האזור) - NETWORK_NAME: השם של רשת ה-VPC
- אחרי יצירת נקודת הקצה של Private Service Connect, יוצרים רשומת DNS באזור.
- PROJECT_ID: המזהה או מספר הפרויקט של Google Cloud הפרויקט שמכיל את תחום ה-DNS.
- ZONE_NAME: שם האזור.
- DNS_RECORD: השם של רשומת ה-DNS. הרשומה הזו מוגדרת לשם ה-DNS שאחזרתם ממופע Cloud SQL קודם לכן בתהליך הזה (לדוגמה,
1a23b4cd5e67.1a2b345c6d27.us-central1.sql.goog.). - RRSET_TYPE: סוג רשומת המשאב של קבוצת רשומות ה-DNS. אם כתובת ה-IP הפנימית ששמרתם לנקודת הקצה של Private Service Connect היא IPv4, צריך לציין
Aכערך של הפרמטר הזה. אחרת, אם כתובת ה-IP של נקודת הקצה היא IPv6, מצייניםAAAA. - TTL: אורך החיים (TTL) של קבוצת הרשומות בשניות (לדוגמה,
300). - RR_DATA: כתובת ה-IP שהוקצתה לנקודת הקצה של Private Service Connect (לדוגמה,
198.51.100.5). אפשר גם להזין כמה ערכים, כמוrrdata1 rrdata2 rrdata3(לדוגמה,10.1.2.3 10.2.3.4 10.3.4.5).
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_NAME
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
...
"dnsName": "INSTANCE_ID.PROJECT_DNS_LABEL.REGION_NAME.sql.goog."
}
בשדה dnsName מוצג שם ה-DNS של מכונת Cloud SQL. שמות DNS תמיד מסתיימים בנקודה (.).
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
ה-method של ה-HTTP וכתובת ה-URL:
POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones
תוכן בקשת JSON:
{
"name": "ZONE_NAME",
"description": "DESCRIPTION",
"dnsName": "DNS_NAME",
"visibility": "private",
"privateVisibilityConfig": {
"kind": "dns#managedZonePrivateVisibilityConfig",
"networks": [
{
"kind": "dns#managedZonePrivateVisibilityConfigNetwork",
"networkUrl": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME"
}
]
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"name": "ZONE_NAME",
"dnsName": "DNS_NAME",
"description": "DESCRIPTION",
"id": "ID",
"nameServers": [
"ns-gcp-private.googledomains.com."
],
"creationTime": "2024-05-10T17:05:34.607Z",
"visibility": "private",
"privateVisibilityConfig": {
"networks": [
{
"networkUrl": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME",
"kind": "dns#managedZonePrivateVisibilityConfigNetwork"
}
],
"gkeClusters": [],
"kind": "dns#managedZonePrivateVisibilityConfig"
},
"cloudLoggingConfig": {
"kind": "dns#managedZoneCloudLoggingConfig"
},
"kind": "dns#managedZone"
}
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
ה-method של ה-HTTP וכתובת ה-URL:
POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/ZONE_NAME
תוכן בקשת JSON:
{
"deletions": []
"additions": [
{
"name": "DNS_RECORD",
"type": "RRSET_TYPE",
"ttl": TTL,
"rrdatas": [
"RR_DATA"
]
}
]
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"additions": [
{
"name": "DNS_RECORD",
"type": "RRSET_TYPE",
"ttl": TTL,
"rrdatas": [
"RR_DATA"
],
"signatureRrdatas": [],
"kind": "dns#resourceRecordSet"
}
],
"deletions": [],
"startTime": "2024-05-10T17:29:44.375Z",
"id": "CHANGE_ID",
"status": "pending",
"kind": "dns#change"
}
התחברות ישירה באמצעות רשומת DNS
לפני שמתחברים למכונת Cloud SQL באמצעות רשומת DNS, צריך לבצע את הפעולות הבאות:
- יצירת נקודת קצה מסוג Private Service Connect
- מוודאים שקובץ ה-service attachment של המופע מקבל את נקודת הקצה. כדי לוודא שהסטטוס של נקודת הקצה הוא
ACCEPTED, בודקים את הסטטוס. - הגדרת תחום מנוהל של DNS ורשומת DNS.
אחרי שתעמדו בתנאים האלה, תוכלו להשתמש ברשומת ה-DNS כדי להתחבר למופע מכל רשת VPC שבה יצרתם את נקודת הקצה.
psql "sslmode=disable dbname=DATABASE_NAME user=USERNAME host=DNS_RECORD"
מחליפים את הפרטים הבאים:
- DATABASE_NAME: השם של מסד הנתונים של Cloud SQL ל-PostgreSQL שנמצא במופע
- USERNAME: השם של המשתמש שמתחבר למכונה
- DNS_RECORD: רשומת ה-DNS של נקודת הקצה
התחברות ישירה באמצעות כתובת 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 הפנימית.
psql "sslmode=disable dbname=DATABASE_NAME user=USERNAME hostaddr=IP_ADDRESS"
מחליפים את הפרטים הבאים:
- DATABASE_NAME: השם של מסד הנתונים של Cloud SQL ל-PostgreSQL שנמצא במופע
- USERNAME: השם של המשתמש שמתחבר למכונה
- IP_ADDRESS: כתובת ה-IP של נקודת הקצה
חיבור באמצעות שרת proxy ל-Cloud SQL Auth
שרת ה-proxy ל-Cloud SQL Auth הוא מחבר שמספק גישה מאובטחת למכונה עם Private Service Connect מופעל, בלי צורך ברשתות מורשות או בהגדרת SSL.
כדי לאפשר חיבורי לקוח של שרת proxy ל-Cloud SQL Auth, צריך להגדיר רשומת DNS שתתאים לשם ה-DNS המומלץ שסופק עבור המכונה. רשומת ה-DNS היא מיפוי בין משאב DNS לבין שם דומיין.
אם אתם מתחברים דרך Private Service Connect, נדרשת גרסה v2.5.0 ואילך של Cloud SQL Auth Proxy.
הורדה והתקנה של שרת proxy ל-Cloud SQL Auth
כדי להתחבר למכונות שמופעל בהן Private Service Connect, צריך להוריד ולהתקין את הקובץ הבינארי של שרת proxy ל-Cloud SQL Auth. קובץ הבינארי שאתם מורידים תלוי במערכת ההפעלה, ובגרעין (kernel) של המערכת – 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
מחברי השפה של Cloud SQL הם ספריות שמספקות גישה מאובטחת למופע של Cloud SQL עם Private Service Connect מופעל, בלי צורך ברשתות מורשות או בהגדרת SSL.
כדי לאפשר חיבורים באמצעות מחברי שפות של Cloud SQL, צריך להגדיר רשומת DNS שתואמת לשם ה-DNS המומלץ שמופיע עבור המופע. רשומת ה-DNS היא מיפוי בין משאב DNS לבין שם דומיין.
מחברי השפה של Cloud SQL תומכים בחיבורים של Private Service Connect דרך PSC סוג ה-IP בספריות המתאימות.
- 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.
בסביבות הנתמכות האלה של בלי שרת (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.
מקבלים את מזהה פרויקט הדייר ב-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 של רכיב Network Attachment בפרויקט. -
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 של רכיב Network Attachment בפרויקט. -
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 של רכיב Network Attachment בפרויקט. כדי להשבית את ההגדרה, מגדירים את הערך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 של רכיב Network Attachment בפרויקט. כדי להשבית את ההגדרה, מגדירים את הערך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
מחליפים את הפרטים הבאים:
- 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 ל-PostgreSQL, מספר היציאה הוא
5432.
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 ל-PostgreSQL, מספר היציאה הוא
5432. - 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.
אפשר להשתמש ב-Private Service Connect כדי ליצור עד 64,512 חיבורים בו-זמניים למופע 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 או ב-Datastream כדי להתחבר למופעי Cloud SQL עם Private Service Connect מופעל.כשבודקים את הקישוריות למכונת Cloud SQL עם Private Service Connect מופעל, אי אפשר להגדיר את הפריטים הבאים:
- כתובת ה-IP הפנימית או שם ה-DNS של המופע כיעד ישירות
- המופע כמקור
- כתובת ה-IP של נקודת הקצה של Private Service Connect כמקור
אין תמיכה בהוספה לרשימת ההיתרים על סמך כתובת IP באמצעות רשתות מורשות.
אין תמיכה בהוספה לרשימת ההיתרים על בסיס כתובת IP שנאכפת על ידי בקרת גישה מבוססת-הקשר.
אין תמיכה בשליטה, ברישום ובמדדים שמבוססים על כתובת ה-IP של הלקוח עבור תובנות לגבי שאילתות ומערכות. עם זאת, יש תמיכה ב-VPN וב-Interconnect.
אם פרויקט הרשת מכיל מכונות שמשתמשות בארכיטקטורת הרשת הישנה של Cloud SQL, אי אפשר ליצור מכונה של Private Service Connect. ב-Cloud SQL יש כלים שיעזרו לכם לשדרג את המכונות מארכיטקטורת הרשת הישנה לארכיטקטורת הרשת החדשה. למידע נוסף או כדי לבדוק את ארכיטקטורת הרשת של מכונות Cloud SQL בפרויקט ולבצע שדרוגים נדרשים, אפשר לעיין במאמר שדרוג מכונה לארכיטקטורת הרשת החדשה.
פתרון בעיות
בקטע הזה מפורט מידע על בעיות שקשורות למופעי Cloud SQL עם Private Service Connect מופעל, וגם שלבים לפתרון הבעיות.
| שגיאה | פתרון בעיות |
|---|---|
| הקובץ המצורף עם השירות של המופע לא מקבל את נקודת הקצה של 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 פנימית סטטית לנקודת הקצה של 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. |
הרשת הצרכנית לא מוגדרת בצורה נכונה, או שהיא לא מוגדרת בכלל, ולכן אין נקודת קצה שאפשר להתחבר אליה. כדי להתחבר לנקודת הקצה, צריך לבדוק את הסטטוס שלה ולתקן את השגיאה לפני שמנסים להתחבר שוב.
|
No permission to create a service connection policy. |
אין לכם את ההרשאות הדרושות כדי ליצור מדיניות לחיבור שירותים. כדי ליצור מדיניות של חיבור שירות, צריך את התפקיד |
| לא ניתן לקובץ המצורף עם הרשת לקבל חיבורים מהממשק של 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 מופעל.