גישה לממשקי Google API גלובליים דרך נקודות קצה
במסמך הזה מוסבר איך להשתמש בנקודות קצה של Private Service Connect כדי להתחבר לממשקי Google APIs גלובליים. במקום לשלוח בקשות API לכתובות ה-IP שזמינות לציבור של נקודות קצה של שירותים, כמו storage.googleapis.com, אפשר לשלוח את הבקשות לכתובת ה-IP הפנימית של נקודת קצה.
אפשר גם להשתמש ב-Private Service Connect כדי לגשת לשירותים ברשת VPC אחרת וגם כדי לפרסם שירותים.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לניהול נקודות קצה עם גישה ל-Google APIs גלובליים, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:
-
כדי ליצור, להציג ולמחוק נקודות קצה: אדמין של רשת מחשוב (
roles/compute.networkAdmin) בפרויקט -
מגדירים באופן אוטומטי או ידני רשומות DNS לנקודת קצה:
- אדמין DNS (
roles/dns.admin) בפרויקט - עריכת Service Directory (
roles/servicedirectory.editor) בפרויקט
- אדמין DNS (
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלה מכילים את ההרשאות שנדרשות לניהול נקודות קצה עם גישה ל-Google APIs גלובליים. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי לנהל נקודות קצה עם גישה ל-Google APIs גלובליים, נדרשות ההרשאות הבאות:
-
כדי ליצור, להציג ולמחוק נקודות קצה:
-
compute.networks.useבפרויקט -
compute.subnetworks.useבפרויקט -
compute.addresses.createInternalבפרויקט -
compute.addresses.deleteInternalבפרויקט -
compute.addresses.getבפרויקט -
compute.addresses.listבפרויקט -
compute.addresses.useבפרויקט -
compute.forwardingRules.createבפרויקט -
compute.forwardingRules.deleteבפרויקט -
compute.forwardingRules.getבפרויקט -
compute.forwardingRules.listבפרויקט -
compute.forwardingRules.pscCreateבפרויקט -
compute.forwardingRules.pscDeleteבפרויקט -
compute.regionOperations.getבפרויקט -
servicedirectory.namespaces.createבפרויקט -
servicedirectory.namespaces.deleteבפרויקט -
servicedirectory.services.createבפרויקט -
servicedirectory.services.deleteבפרויקט
-
-
כדי להגדיר באופן אוטומטי או ידני רשומות DNS לנקודת קצה:
-
dns.managedZones.createבפרויקט -
dns.managedZones.deleteבפרויקט -
dns.networks.bindPrivateDNSZoneבפרויקט -
servicedirectory.namespaces.associatePrivateZoneבפרויקט
-
-
כדי לגשת לדף Private Service Connect במסוף Google Cloud :
-
compute.forwardingRules.listבפרויקט -
compute.globalForwardingRules.listבפרויקט -
compute.networkEndpointGroups.listבפרויקט -
compute.regionNetworkEndpointGroups.listבפרויקט -
compute.urlMaps.listבפרויקט -
compute.backendService.listבפרויקט -
compute.regionBackendService.listבפרויקט -
compute.backendBucket.listבפרויקט -
compute.targetHttpProxy.listבפרויקט -
compute.targetHttpsProxy.listבפרויקט -
compute.regionTargetTcpProxy.listבפרויקט -
compute.targetTcpProxy.listבפרויקט -
compute.targetSslProxy.listבפרויקט -
compute.sslCertificate.listבפרויקט -
compute.sslPolicy.listבפרויקט -
compute.regionHealthCheck.listבפרויקט -
compute.healthCheck.listבפרויקט -
compute.httpHealthCheck.listבפרויקט -
compute.httpsHealthCheck.listבפרויקט
-
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
לפני שמתחילים
מידע נוסף, כולל הגדרת DNS ומגבלות, זמין במאמר מידע על התחברות לממשקי Google API באמצעות נקודות קצה.
צריך להפעיל את ממשקי ה-API הבאים בפרויקט:
אם רואים את הלחצן Manage בדף הספרייה של ה-API במסוף Google Cloud , סימן שה-API מופעל. אם מופיע לחצן הפעלה, סימן שה-API לא מופעל, ואתם צריכים ללחוץ על הלחצן הפעלה כדי להפעיל אותו.
צריך לבחור כתובת IP לשימוש בנקודת הקצה. מידע על כתובות ה-IP שבהן אפשר להשתמש זמין במאמר בנושא דרישות לגבי כתובות IP.
כללי חומת האש לתעבורת נתונים יוצאת (egress) צריכים לאפשר תעבורה לנקודת הקצה. הגדרת ברירת המחדל של חומת האש לרשת VPC מאפשרת את התעבורה הזו, כי היא כוללת כלל יציאה מרומז. מוודאים שלא יצרתם כלל יציאה עם עדיפות גבוהה יותר שחוסם את התנועה.
מכונות וירטואליות (VM) שלא הוקצתה להן כתובת IP חיצונית צריכות להשתמש ברשת משנה עם גישה פרטית ל-Google כדי לגשת לשירותים ול-Google APIs באמצעות נקודת קצה (endpoint).
למכונה וירטואלית עם כתובת IP חיצונית יכולה להיות גישה לשירותים ול-Google APIs באמצעות נקודות קצה, גם אם הגישה הפרטית ל-Google מושבתת ברשת המשנה שלה. הקישוריות לנקודת הקצה נשארת בתוך הרשת של Google.
אם רשת ה-VPC לא מכילה נקודות קצה, בודקים אם קיים אזור פרטי של Cloud DNS עבור
p.googleapis.com. אם האזור קיים, צריך למחוק אותו לפני שיוצרים את נקודת הקצה. אם לא תמחקו אותו, יצירת תחום ה-DNS של Service Directory שמשמש ל-Private Service Connect תיכשל. מידע נוסף זמין במאמר בנושא פתרון בעיות.אי אפשר לגשת לנקודות הקצה (endpoints) מרשתות VPC מקושרות.
הפעלת גישה פרטית ל-Google עבור תת-רשת
מכונות וירטואליות שלא הוקצתה להן כתובת IP חיצונית צריכות להיות מחוברות לרשת משנה עם גישה פרטית ל-Google כדי לגשת לשירותים ול-Google APIs באמצעות נקודת קצה.
אם למכונה הווירטואלית יש יותר מממשק אחד, צריך לחבר את הממשק שהוגדר עם נתיב ברירת מחדל (בדרך כלל nic0).
כתובת ה-IP של המקור של חבילות הנתונים שנשלחות מהמכונה הווירטואלית צריכה להיות זהה לכתובת ה-IPv4 הפנימית הראשית של הממשק של המכונה הווירטואלית, או לכתובת IPv4 פנימית מטווח כתובות IP של כינוי.
כדי להפעיל גישה פרטית ל-Google ברשת משנה, פועלים לפי השלבים הבאים.
המסוף
נכנסים לדף VPC networks במסוף Google Cloud .
לוחצים על השם של הרשת שמכילה את רשת המשנה שרוצים להפעיל עבורה גישה פרטית ל-Google.
לוחצים על השם של רשת המשנה. הדף Subnet details מוצג.
לוחצים על Edit.
בקטע Private Google Access (גישה פרטית ל-Google), בוחרים באפשרות On (מופעל).
לוחצים על Save.
gcloud
קובעים את השם והאזור של רשת המשנה. כדי להציג את רשימת רשתות המשנה של רשת מסוימת, משתמשים בפקודה הבאה:
gcloud compute networks subnets list --filter=NETWORK_NAME
מריצים את הפקודה הבאה כדי להפעיל גישה פרטית ל-Google:
gcloud compute networks subnets update SUBNET_NAME \ --region=REGION \ --enable-private-ip-google-access
מריצים את הפקודה הבאה כדי לוודא שהגישה הפרטית ל-Google מופעלת:
gcloud compute networks subnets describe SUBNET_NAME \ --region=REGION \ --format="get(privateIpGoogleAccess)"
מחליפים את מה שכתוב בשדות הבאים:
-
SUBNET_NAME: השם של רשת המשנה -
REGION: האזור של תת-הרשת -
NETWORK_NAME: השם של רשת ה-VPC שמכילה את תת-הרשת
Terraform
אפשר להשתמש במשאב Terraform כדי להפעיל גישה פרטית ל-Google ברשת משנה.
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
יצירת נקודת קצה
אחרי שבוחרים כתובת IP שעומדת בדרישות, אפשר ליצור נקודת קצה.
נקודת קצה מתחברת ל-Google APIs ולשירותים של Google באמצעות כלל העברה גלובלי. כל כלל העברה נספר במכסה של כל רשת VPC ב-Private Service Connect.
אי אפשר לעדכן נקודת קצה לממשקי API ולשירותים של Google אחרי שהיא נוצרת. אם אתם צריכים לעדכן נקודת קצה עבור Google APIs ושירותים, מחקו את נקודת הקצה וצרו נקודת קצה חדשה.
המסוף
נכנסים לדף Private Service Connect במסוף Google Cloud .
לוחצים על הכרטיסייה נקודות קצה מחוברות.
לוחצים על Connect endpoint (חיבור נקודת קצה).
בקטע Target (יעד), בוחרים את חבילת ה-API לטרגוט שרוצים להשתמש בה:
- כל ממשקי Google API
- VPC-SC
בשדה Endpoint name, מזינים שם לנקודת הקצה.
בוחרים רשת לנקודת הקצה.
בוחרים כתובת IP לנקודת הקצה.
כתובת ה-IP חייבת לעמוד בדרישות האלה.
אם אתם צריכים כתובת IP חדשה, אתם יכולים ליצור אחת:
- לוחצים על יצירת כתובת IP.
- מזינים שם ותיאור לכתובת ה-IP.
- מזינים את כתובת ה-IP שרוצים להשתמש בה ולוחצים על שמירה.
אם אזור Service Directory עדיין לא מוגדר ברשת ה-VPC הזו, בוחרים את האזור שרוצים להשתמש בו.
כל נקודות הקצה שמשמשות לגישה לשירותים ולממשקי Google API ברשת VPC נתונה משתמשות באותו אזור של Service Directory.
אם מרחב שמות של Service Directory עדיין לא מוגדר לרשת ה-VPC הזו, צריך להגדיר את מרחב השמות שרוצים להשתמש בו:
כדי להשתמש במרחב שמות שהוקצה באופן אוטומטי, לוחצים על התפריט מרחב שמות ובוחרים את מרחב השמות שהוקצה באופן אוטומטי.
כדי לבחור מרחב שמות קיים שמשמש ברשת אחרת, לוחצים על התפריט הנפתח מרחב שמות ובוחרים מרחב שמות מהרשימה. ברשימה מוצגים כל מרחבי השמות בפרויקט. אתם צריכים לבחור מרחב שמות שמשמש רק לנקודות קצה שמשמשות לגישה ל-Google APIs.
כדי ליצור מרחב שמות חדש, לוחצים על התפריט הנפתח מרחב שמות ואז על יצירת מרחב שמות. מזינים את מרחב השמות ולוחצים על יצירה.
כל נקודות הקצה שבהן אתם משתמשים כדי לגשת לשירותים ולממשקי Google API ברשת VPC נתונה משתמשות באותו מרחב שמות של Service Directory.
לוחצים על הוספת נקודת קצה.
gcloud
שמירת כתובת IP פנימית גלובלית להקצאה לנקודת הקצה.
gcloud compute addresses create ADDRESS_NAME \ --global \ --purpose=PRIVATE_SERVICE_CONNECT \ --addresses=ENDPOINT_IP \ --network=NETWORK_NAMEמחליפים את מה שכתוב בשדות הבאים:
ADDRESS_NAME: השם שיוקצה לכתובת ה-IP השמורה.
ENDPOINT_IP: כתובת ה-IP להזמנה עבור נקודת הקצה.כתובת ה-IP חייבת לעמוד בדרישות האלה.
NETWORK_NAME: השם של רשת ה-VPC של נקודת הקצה.
יוצרים כלל העברה כדי לקשר את נקודת הקצה לממשקי API ולשירותים של Google. הדגל
--service-directory-registrationהוא אופציונלי. אם לא מציינים מרחב שמות, נעשה שימוש חוזר במרחב שמות קיים, או שאם אין מרחבי שמות קיימים, מוקצה מרחב שמות שנוצר על ידי המערכת.gcloud compute forwarding-rules create ENDPOINT_NAME \ --global \ --network=NETWORK_NAME \ --address=ADDRESS_NAME \ --target-google-apis-bundle=API_BUNDLE \ --service-directory-registration=REGION_NAMESPACE_URIמחליפים את מה שכתוב בשדות הבאים:
ENDPOINT_NAME: השם שרוצים להקצות לנקודת הקצה. השם צריך להיות מחרוזת של 1-20 תווים, שמכילה רק אותיות קטנות ומספרים. השם חייב להתחיל באות.
NETWORK_NAME: השם של רשת ה-VPC של נקודת הקצה.
ADDRESS_NAME: השם של הכתובת השמורה ברשת המשויכת.
API_BUNDLE: חבילת ממשקי ה-API שרוצים להפוך לזמינים באמצעות נקודת הקצה. לרשימת ממשקי ה-API הנתמכיםכדי לתת גישה לכל ממשקי ה-API הנתמכים, משתמשים ב-
all-apis.משתמשים ב-
vpc-scכדי להגביל את הגישה לממשקי Google API שתומכים ב-VPC Service Controls.
REGION_NAMESPACE_URI: ה-URI של האזור או מרחב השמות של Service Directory שרוצים להשתמש בהם. ה-URI הזה צריך להפנות לאותו פרויקט שבו אתם יוצרים את נקודת הקצה.אפשר להגדיר אזור רק באמצעות התג
projects/PROJECT_NAME/locations/REGION.אפשר להגדיר אזור ומרחב שמות באמצעות
projects/PROJECT_NAME/locations/REGION/namespaces/NAMESPACE.אם משמיטים את
--service-directory-registrationלחלוטין או מגדירים אזור בלי מרחב שמות, קורה אחד מהדברים הבאים:אם אזור או מרחב שמות כבר מוגדרים לרשת ה-VPC הזו, נעשה שימוש בערכי ברירת המחדל האלה.
אם לא מוגדר אזור, האזור מוגדר לערך
us-central1. אם לא מוגדר מרחב שמות, מוקצה מרחב שמות שנוצר על ידי המערכת.
API
שמירת כתובת IP פנימית גלובלית להקצאה לנקודת הקצה.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses
{ "name": ADDRESS_NAME, "address": ENDPOINT_IP, "addressType": "INTERNAL", "purpose": PRIVATE_SERVICE_CONNECT, "network": NETWORK_URL }מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט.
ADDRESS_NAME: השם שרוצים להקצות לכתובת ה-IP השמורה.
ENDPOINT_IP: כתובת ה-IP להזמנה עבור נקודת הקצה.כתובת ה-IP חייבת לעמוד בדרישות האלה.
NETWORK_URL: רשת ה-VPC של נקודת הקצה.
יוצרים כלל העברה כדי לקשר את נקודת הקצה לממשקי API ולשירותים של Google. אובייקט
serviceDirectoryRegistrationsהוא אופציונלי. אם לא מציינים מרחב שמות, המערכת משתמשת מחדש במרחב שמות קיים, או מקצה מרחב שמות שנוצר על ידי המערכת אם אין מרחבי שמות קיימים.POST https://compute.googleapis.com/compute/v1/projects/PROJECT/global/forwardingRules
{ "name": "ENDPOINT_NAME", "IPAddress": "projects/PROJECT/global/addresses/ADDRESS_NAME", "network": "projects/PROJECT/global/networks/NETWORK", "target": "API_BUNDLE", "serviceDirectoryRegistrations": [ { "service_directory_region": REGION, "namespace": "NAMESPACE" } ], }מחליפים את מה שכתוב בשדות הבאים:
PROJECT: מזהה הפרויקט.
ENDPOINT_NAME: השם שרוצים להקצות לנקודת הקצה. השם צריך להיות מחרוזת של 1-20 תווים, שמכילה רק אותיות קטנות ומספרים. השם חייב להתחיל באות.
NETWORK: רשת ה-VPC של נקודת הקצה.
ADDRESS_NAME: השם של הכתובת השמורה ברשת המשויכת.
API_BUNDLE: חבילת ממשקי ה-API שרוצים להפוך לזמינים באמצעות נקודת הקצה. לרשימת ממשקי ה-API הנתמכיםכדי לתת גישה לכל ממשקי ה-API הנתמכים, משתמשים ב-
all-apis.משתמשים ב-
vpc-scכדי להגביל את הגישה לממשקי Google API שתומכים ב-VPC Service Controls.
REGION: האזור של Service Directory שבו רוצים להשתמש. לדוגמה,us-central1. אם לא מציינים אתREGION, ואזור כבר מוגדר לרשת ה-VPC הזו, האזור הזה ישמש כברירת מחדל. אם לא מוגדר אזור, האזור מוגדר כ-us-central1.
NAMESPACE: השם של מרחב השמות של Service Directory שבו רוצים להשתמש. אם לא מציינים אתNAMESPACE, וכבר מוגדר מרחב שמות לרשת ה-VPC הזו, נעשה שימוש במרחב השמות הזה. אם לא מוגדר מרחב שמות, מוקצה מרחב שמות שנוצר על ידי המערכת.
Terraform
אפשר להשתמש במשאבי Terraform הבאים כדי ליצור נקודת קצה:
איך מוודאים שנקודת הקצה פועלת
יוצרים מכונה וירטואלית ברשת ה-VPC שבה מוגדר Private Service Connect. מריצים את הפקודה הבאה במכונה הווירטואלית כדי לוודא שנקודת הקצה של Private Service Connect פועלת. נקודות הקצה (endpoints) לא מגיבות לבקשות פינג (ICMP).
curl -v ENDPOINT_IP/generate_204
מחליפים את ENDPOINT_IP בכתובת ה-IP של נקודת הקצה.
אם נקודת הקצה פועלת, יופיע קוד תגובה HTTP 204.
איך רואים את רשימת נקודות הקצה
אפשר לראות רשימה של כל נקודות הקצה שהוגדרו.
המסוף
נכנסים לדף Private Service Connect במסוף Google Cloud .
לוחצים על הכרטיסייה נקודות קצה מחוברות.
נקודות הקצה מוצגות.
gcloud
gcloud compute forwarding-rules list \ --filter target="(all-apis OR vpc-sc)" --global
הפלט אמור להיראות כך:
NAME REGION IP_ADDRESS IP_PROTOCOL TARGET RULE IP TCP all-apis
קבלת מידע על נקודת קצה
אפשר לראות את כל פרטי ההגדרה של נקודת קצה.
המסוף
נכנסים לדף Private Service Connect במסוף Google Cloud .
לוחצים על הכרטיסייה נקודות קצה מחוברות.
נקודות הקצה מוצגות.
לוחצים על נקודת הקצה שרוצים לראות את הפרטים שלה.
gcloud
gcloud compute forwarding-rules describe \
ENDPOINT_NAME --global
הוספת תווית לנקודת קצה
אפשר לנהל תוויות לנקודות קצה. מידע נוסף זמין במאמר בנושא הוספת תוויות למשאבים.
מחיקת נקודת קצה
אפשר למחוק נקודת קצה.
המסוף
נכנסים לדף Private Service Connect במסוף Google Cloud .
לוחצים על הכרטיסייה נקודות קצה מחוברות.
בוחרים את נקודת הקצה שרוצים למחוק ולוחצים על מחיקה.
gcloud
gcloud compute forwarding-rules delete \
ENDPOINT_NAME --global
מחליפים את ENDPOINT_NAME בשם של נקודת הקצה שרוצים למחוק.
שימוש בנקודת קצה
כדי להשתמש בנקודת קצה, שולחים בקשות לשם מארח ב-DNS שמפוענח לכתובת ה-IP של נקודת הקצה.
אפשר להשתמש בשמות ה-DNS שנוצרו באופן אוטומטי
p.googleapis.comאם אתם יכולים להגדיר את הלקוחות שלכם כך שישתמשו בנקודת קצה בהתאמה אישית, ורשומות ה-DNSp.googleapis.comנוצרות עבור ממשקי ה-API והשירותים שבהם אתם רוצים להשתמש. מידע נוסף זמין במאמר בנושא שימוש בשמות DNS שלp.googleapis.com.לדוגמה, אם שם נקודת הקצה הוא
xyz, רשומות DNS נוצרות עבורstorage-xyz.p.googleapis.com,compute-xyz.p.googleapis.comועוד ממשקי API נפוצים בחבילת ה-API.אתם יכולים ליצור רשומות DNS באמצעות שמות ה-DNS שמוגדרים כברירת מחדל אם אתם משתמשים בלקוח שלא הוגדר לשימוש בנקודת קצה בהתאמה אישית, או אם לא קיימת רשומת DNS מסוג
p.googleapis.comלשירות שבו אתם רוצים להשתמש. מידע נוסף זמין במאמר יצירת רשומות DNS באמצעות שמות DNS שמוגדרים כברירת מחדל.לדוגמה, יוצרים רשומות DNS עבור
*.googleapis.comאו*.pkg.dev.
שימוש בp.googleapis.com שמות DNS
כשיוצרים נקודת קצה, Service Directory יוצר רשומות DNS עבור ממשקי API ושירותים נפוצים שזמינים באמצעות נקודת הקצה. רשומות DNS נוצרות רק עבור ממשקי API ושירותים שיש להם שמות DNS שמוגדרים כברירת מחדל ומסתיימים ב-googleapis.com, ורק עבור קבוצת משנה של ממשקי ה-API והשירותים האלה.
רשומות ה-DNS נוצרות באזור פרטי p.googleapis.com. הרשומות מצביעות על כתובת ה-IP של נקודת הקצה, והן בפורמט הבא:
SERVICE-ENDPOINT.p.googleapis.com.
לדוגמה, אם שם נקודת הקצה הוא xyz, נוצרות רשומות DNS עבור storage-xyz.p.googleapis.com, compute-xyz.p.googleapis.com וממשקי API נתמכים אחרים.
לקוחות שאפשר להגדיר בהם שימוש בנקודת קצה בהתאמה אישית יכולים להשתמש בשמות ה-DNS p.googleapis.com כדי לשלוח בקשות לנקודת קצה.
מידע על הגדרת נקודות קצה מותאמות אישית מופיע בתיעוד של הלקוח או של ספריית הלקוח. לדוגמה:
Python: אפשר להגדיר את
api_endpointב-Client options.Go: אפשר להגדיר את
WithEndpointב-ClientOptions..NET: אפשר להגדיר את
Endpointבמחלקת ה-builder של הלקוח.Java: אפשר להגדיר את
setEndpointבכיתת ההגדרות של הלקוח.gcloud: אפשר להגדיר את
api_endpoint_overridesב- ה-CLI של gcloud.
יצירת רשומות DNS באמצעות שמות DNS שמוגדרים כברירת מחדל
צריך ליצור רשומות DNS כדי להפנות את שמות ה-DNS שמוגדרים כברירת מחדל עבור ממשקי API ושירותים לנקודת הקצה שלכם במקרים הבאים:
אי אפשר להגדיר את הלקוח או האפליקציה לשימוש ב
p.googleapis.comשם DNS.אתם צריכים לגשת לשירות נתמך, אבל לא נוצר אוטומטית שם DNS
p.googleapis.comלשירות הזה.
כדי ליצור רשומות DNS שמפנות לנקודת הקצה (endpoint) של Private Service Connect, פועלים לפי ההוראות הבאות:
יוצרים תחום DNS לדומיין שבו רוצים להשתמש (לדוגמה,
googleapis.comאוpkg.dev). כדאי ליצור אזור פרטי ב-Cloud DNS למטרה הזו.בתחום ה-DNS הזה:
יוצרים רשומת
Aבשביל שם הדומיין (האזור) עצמו. לדוגמה,googleapis.comאוpkg.dev. מפנים את רשומת ה-Aהזו לכתובת ה-IP של נקודת הקצה. אם אתם משתמשים ב-Cloud DNS, כדאי לעיין במאמר בנושא הוספת רשומה.יוצרים רשומת
CNAMEלכל שמות המארחים האפשריים של הדומיין הנוסף באמצעות כוכבית ונקודה ואחריהן שם הדומיין (האזור). לדוגמה,*.googleapis.comאו*.pkg.dev. מפנים את רשומתCNAMEלרשומתAבאותו אזור. לדוגמה, נקודה*.googleapis.comעדgoogleapis.comאו נקודה*.pkg.devעדpkg.dev.
גישה לנקודת הקצה (endpoint) מרשתות היברידיות
לקוחות ברשתות שמחוברות ל- Google Cloud עם קבצים מצורפים של VLAN ל-Cloud Interconnect או למנהרות Cloud VPN יכולים להגיע לנקודות קצה של Private Service Connect.
נקודת הקצה של Private Service Connect צריכה להיות ברשת ה-VPC שמחוברת לרשת השנייה.
ברשת השנייה צריכים להיות מסלולים מתאימים לנקודת הקצה. מגדירים פרסום של מסלול בהתאמה אישית ב-Cloud Router כדי לפרסם מסלולים לנקודת הקצה בסשן BGP שמנהל מסלולים למנהרת VPN של Cloud או לצירוף ל-VLAN.
- אם הרשת השנייה משתמשת בניתוב שווה-עלות מרובה נתיבים (ECMP) כדי להפיץ תעבורת נתונים לנקודות קצה של Private Service Connect, צריך לוודא שכל החבילות של חיבור TCP יחיד מנותבות דרך אותה מנהרת VPN או אותו צירוף ל-VLAN. אם מנות של חיבור TCP קיים מנותבות בכמה נתיבים, יכול להיות שתיתקלו באיפוסים (RST) של TCP לסירוגין. כדי למנוע איפוסים, צריך להגדיר את נתבי ה-peer המקומיים כך שישמרו על יעדי הצעד הבא עקביים.
צריך להגדיר את המערכות ברשת השנייה כך שיבצעו שאילתות לאזורי ה-DNS הפרטיים. אם הטמעתם את אזורי ה-DNS הפרטיים באמצעות Cloud DNS, צריך לבצע את השלבים הבאים:
יוצרים מדיניות שרת נכנסת ברשת ה-VPC שאליה הרשת השנייה מתחברת.
מזהים את נקודות הכניסה של מעביר התנועה הנכנסת באזורים שבהם ממוקמים מנהרות Cloud VPN וקבצים מצורפים של VLAN, ברשת ה-VPC שאליה מחוברת הרשת השנייה.
מגדירים את המערכות ואת שרתי השמות של ה-DNS ברשת השנייה להעברה של שמות ה-DNS של נקודות הקצה של Private Service Connect לנקודת כניסה של מעביר נתונים נכנס באותו אזור כמו מנהרת Cloud VPN או צירוף ל-VLAN שמחובר לרשת ה-VPC.
בעיות מוכרות
מחיקה של נקודת קצה כשהפצת החיבור מופעלת גורמת לאובדן מנות
אם יש חיבור בין רשתות VPC ל-Google APIs גלובליים, מחיקה של נקודת קצה ל-Google APIs גלובליים עלולה לשבש את התנועה בין רשתות NCC לנקודות קצה אחרות של Google APIs גלובליים באותה רשת.
כדי למחוק נקודת קצה ל-Google APIs גלובליים כשהפצת החיבור מופעלת:
- השבתת העברת חיבורים לממשקי Google APIs גלובליים ב-NCC hub.
- מחיקת נקודת הקצה.
- הפעלה מחדש של העברת חיבורים לממשקי Google APIs גלובליים במרכז של NCC.
אם מחקתם נקודת קצה ונתקלתם בשיבוש בתעבורה, תוכלו לפתור את הבעיה על ידי השבתה והפעלה מחדש של העברת החיבור למרכז NCC עבור Google APIs גלובליים.
פתרון בעיות
בקטעים הבאים מופיע מידע על פתרון בעיות בנקודות קצה (endpoints) של Private Service Connect שמשמשות לגישה לממשקי API של Google.
יצירת אזור DNS פרטי נכשלת
כשיוצרים נקודת קצה, נוצר תחום DNS של Service Directory. יצירת אזור יכולה להיכשל מהסיבות הבאות:
Cloud DNS API לא מופעל בפרויקט.
אין לכם את ההרשאות הנדרשות ליצירת תחום DNS של Service Directory.
קיים תחום DNS עם אותו שם אזור ברשת VPC זו.
תחום DNS עבור
p.googleapis.comכבר קיים ברשת ה-VPC הזו.
יכול להיות שיש אזורים שחופפים כי מחיקה קודמת נכשלה.
כדי ליצור את תחום ה-DNS של Service Directory:
מוודאים ש-Cloud DNS API מופעל בפרויקט.
מוודאים שיש לכם את ההרשאות הנדרשות ליצירת תחום DNS של Service Directory:
dns.managedZones.createservicedirectory.namespaces.associatePrivateZone
יצירת אזור DNS של Service Directory שמגובה על ידי מרחב השמות של Service Directory שמשויך לנקודת הקצה.
כשיוצרים את האזור, צריך להשתמש בערכים הבאים:
שם האזור: צריך להשתמש באותו שם אזור שהמערכת השתמשה בו במהלך ניסיון היצירה שנכשל. בהודעת השגיאה מוצג שם האזור שבו נעשה שימוש.
שם DNS:
p.googleapis.com.(כולל הנקודה בסוף).מרחב שמות של Service Directory: מוצאים את מרחב השמות של Service Directory עבור נקודת הקצה (endpoint) של Private Service Connect שיצרתם, ומשתמשים במרחב השמות הזה כשיוצרים את תחום ה-DNS של Service Directory.
מרחב השמות של Service Directory הוא בפורמט הבא:
goog-psc-NETWORK_NAME-NETWORK_ID.
מחיקה של אזור DNS פרטי נכשלת
כשמוחקים את נקודת הקצה האחרונה ברשת VPC, גם ההגדרה המשויכת של Service Directory, כולל תחום ה-DNS, נמחקת.
יכול להיות שהמחיקה תיכשל מהסיבות הבאות:
אין לכם את ההרשאות הנדרשות למחיקת תחום ה-DNS.
האזור מכיל רשומות DNS שהוגדרו על ידי המשתמש ולא נוצרו על ידי Service Directory.
כדי לפתור את הבעיה:
מוודאים שיש לכם הרשאה מסוג
dns.managedZones.delete. מידע נוסף זמין במאמר בנושא בקרת גישה במסמכי התיעוד של Cloud DNS.