גישה לממשקי Google API גלובליים דרך נקודות קצה (endpoints)
במאמר הזה מוסבר איך להשתמש בנקודות קצה של Private Service Connect כדי להתחבר לממשקי Google APIs גלובליים. במקום לשלוח בקשות API לכתובות ה-IP שזמינות באופן ציבורי של נקודות קצה (endpoints) של שירותים כמו storage.googleapis.com, אתם יכולים לשלוח את הבקשות לכתובת ה-IP הפנימית של נקודת קצה.
אתם יכולים גם להשתמש ב-Private Service Connect כדי לגשת לשירותים ברשת VPC אחרת ולפרסם שירותים.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לניהול נקודות קצה (endpoints) שניגשות לממשקי Google API גלובליים, בקשו מהאדמין לתת לכם את התפקידים הבאים ב-IAM:
-
יצירה, הצגה ומחיקה של נקודות קצה:
אדמין של רשת Compute (
roles/compute.networkAdmin) בפרויקט -
מגדירים רשומות DNS לנקודת קצה באופן אוטומטי או ידני:
- אדמין DNS (
roles/dns.admin) בפרויקט - עריכת Service Directory (
roles/servicedirectory.editor) בפרויקט
- אדמין DNS (
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלו מכילים את ההרשאות שנדרשות כדי לנהל נקודות קצה (endpoints) שניגשות לממשקי Google API גלובליים. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי לנהל נקודות קצה (endpoints) שניגשות לממשקי Google API גלובליים, נדרשות ההרשאות הבאות:
-
כדי ליצור, להציג ולמחוק נקודות קצה:
-
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 הבאים:
אם בדף הספרייה של ה-API במסוף Google Cloud מופיע הלחצן Manage, סימן שה-API מופעל. אם מופיע הכפתור Enable, ה-API לא מופעל וצריך ללחוץ על הכפתור Enable כדי להפעיל אותו.
צריך לבחור כתובת IP לשימוש בנקודת הקצה. במאמר דרישות לגבי כתובות IP מוסבר באילו כתובות IP אפשר להשתמש.
כללי חומת האש של תעבורת הנתונים היוצאת חייבים לאפשר תעבורת נתונים לנקודת הקצה. הגדרת ברירת המחדל של חומת האש ברשת VPC מאפשרת את תעבורת הנתונים הזו, כי היא מכילה כלל מרומז שמאפשר תעבורת נתונים יוצאת. מוודאים שלא יצרתם כלל תעבורת נתונים יוצאת בעדיפות גבוהה יותר שחוסם את התנועה.
כדי לגשת ל-Google APIs ולשירותים של Google באמצעות נקודת קצה, מכונות וירטואליות (VM) שלא הוקצתה להן כתובת IP חיצונית צריכות להשתמש ברשת משנה שמופעלת בה גישה פרטית ל-Google.
מכונה וירטואלית עם כתובת IP חיצונית יכולה לגשת ל-Google APIs ולשירותים של Google באמצעות נקודות קצה, גם אם הגישה הפרטית ל-Google מושבתת ברשת המשנה שלה. הקישוריות לנקודת הקצה נשארת בתוך הרשת של Google.
אם ברשת ה-VPC אין נקודות קצה, צריך לבדוק אם קיים אזור פרטי ב-Cloud DNS בשביל
p.googleapis.com. אם האזור קיים, צריך למחוק אותו לפני שיוצרים את נקודת הקצה. אם לא תמחקו אותו, לא תוכלו ליצור את תחום ה-DNS של Service Directory שמשמש ל-Private Service Connect. מידע נוסף זמין במאמר פתרון בעיות.אי אפשר לגשת לנקודות הקצה מרשתות VPC מקושרות.
הפעלת גישה פרטית ל-Google בתת-רשת
מכונות וירטואליות שלא הוקצתה להן כתובת IP חיצונית צריכות להיות מחוברות לרשת משנה שמופעלת בה גישה פרטית ל-Google, כדי לגשת ל-Google APIs ולשירותים של Google באמצעות נקודת קצה.
אם למכונה הווירטואלית יש יותר מממשק אחד, מחברים את הממשק שמוגדר עם מסלול ברירת מחדל (בדרך כלל nic0).
כתובת ה-IP של המקור של חבילות הנתונים שנשלחות מהמכונה הווירטואלית צריכה להיות זהה לכתובת ה-IPv4 הפנימית הראשית של הממשק של המכונה הווירטואלית, או לכתובת IPv4 פנימית מטווח כתובות IP חלופיות.
כדי להפעיל גישה פרטית ל-Google ברשת משנה, פועלים לפי השלבים הבאים.
המסוף
במסוף Google Cloud , נכנסים לדף רשתות VPC.
לוחצים על שם הרשת שמכילה את רשת המשנה שבה רוצים להפעיל את הגישה הפרטית ל-Google.
לוחצים על השם של רשת המשנה. הדף Subnet details ייפתח.
לוחצים על Edit.
בקטע גישה פרטית ל-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.
יצירת נקודת קצה (endpoint)
אחרי שבוחרים כתובת IP שעומדת בדרישות, אפשר ליצור נקודת קצה.
נקודת קצה מתחברת לממשקי ה-API ולשירותים של Google באמצעות כלל העברה גלובלי. כל כלל העברה נספר במכסה לכל רשת VPC של Private Service Connect.
אי אפשר לעדכן נקודת קצה לממשקי API ולשירותים של Google אחרי שהיא נוצרה. אם אתם צריכים לעדכן נקודת קצה לממשקי API ולשירותים של Google, מחקו את נקודת הקצה וצרו אחת חדשה.
המסוף
נכנסים לדף Private Service Connect במסוף Google Cloud .
לוחצים על הכרטיסייה נקודות קצה מחוברות.
לוחצים על Connect endpoint.
בשדה Target, בוחרים את חבילת ה-API לטירגוט שבה רוצים להשתמש:
- כל ממשקי ה-API של Google
- VPC-SC
בשדה Endpoint name, נותנים שם לנקודת הקצה.
בוחרים רשת לנקודת הקצה.
בוחרים כתובת IP לנקודת הקצה.
כתובת ה-IP צריכה לעמוד בדרישות האלה.
אם אתם צריכים כתובת IP חדשה, אתם יכולים ליצור אחת:
- לוחצים על יצירת כתובת IP.
- מזינים שם ותיאור לכתובת ה-IP.
- מזינים את כתובת ה-IP שבה רוצים להשתמש ולוחצים על שמירה.
אם עדיין לא הוגדר אזור של Service Directory לרשת ה-VPC הזו, בוחרים את האזור שבו רוצים להשתמש.
כל נקודות הקצה שמשמשות לגישה ל-Google APIs ולשירותים של Google ברשת VPC מסוימת משתמשות באותו אזור של Service Directory.
אם עדיין לא הוגדר מרחב שמות של Service Directory לרשת ה-VPC הזו, מגדירים את מרחב השמות שבו רוצים להשתמש:
כדי להשתמש במרחב שמות שהוקצה באופן אוטומטי, לוחצים על התפריט Namespace ובוחרים את מרחב השמות שהוקצה באופן אוטומטי.
כדי לבחור מרחב שמות קיים שמשמש ברשת אחרת, לוחצים על התפריט הנפתח Namespace ובוחרים מרחב שמות מהרשימה. ברשימה מוצגים כל מרחבי השמות בפרויקט. צריך לבחור מרחב שמות שמשמש רק לנקודות קצה שמשמשות לגישה ל-Google APIs.
כדי ליצור מרחב שמות חדש, לוחצים על התפריט הנפתח Namespace ואז על Create namespace. מזינים את מרחב השמות ולוחצים על Create.
כל נקודות הקצה שמשמשות לגישה ל-Google APIs ולשירותים של Google ברשת 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. מריצים את הפקודה הבאה ב-VM כדי לוודא שנקודת הקצה של Private Service Connect פועלת. נקודות הקצה (endpoints) לא מגיבות לבקשות פינג (ICMP).
curl -v ENDPOINT_IP/generate_204
מחליפים את ENDPOINT_IP בכתובת ה-IP של נקודת הקצה.
אם נקודת הקצה פועלת, יופיע קוד תגובה 204 של HTTP.
לראות רשימה של נקודות הקצה
אתם יכולים להציג את כל נקודות הקצה שהוגדרו.
המסוף
נכנסים לדף 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
קבלת מידע על נקודת קצה (endpoint)
אתם יכולים לראות את כל פרטי ההגדרות של נקודת קצה.
המסוף
נכנסים לדף Private Service Connect במסוף Google Cloud .
לוחצים על הכרטיסייה נקודות קצה מחוברות.
נקודות הקצה (endpoint) מוצגות.
לוחצים על נקודת הקצה שרוצים לראות את הפרטים שלה.
gcloud
gcloud compute forwarding-rules describe \
ENDPOINT_NAME --global
הוספת תווית לנקודת קצה (endpoint)
אתם יכולים לנהל תוויות של נקודות קצה. מידע נוסף זמין במאמר הוספת תוויות למשאבים.
מחיקה של נקודת קצה (endpoint)
אתם יכולים למחוק נקודת קצה (endpoint).
המסוף
נכנסים לדף Private Service Connect במסוף Google Cloud .
לוחצים על הכרטיסייה נקודות קצה מחוברות.
בוחרים את נקודת הקצה שרוצים למחוק ולוחצים על Delete.
gcloud
gcloud compute forwarding-rules delete \
ENDPOINT_NAME --global
מחליפים את ENDPOINT_NAME בשם של נקודת הקצה שרוצים למחוק.
שימוש בנקודת קצה (endpoint)
כדי להשתמש בנקודת קצה, שולחים בקשות לשם מארח ב-DNS שמתורגם לכתובת ה-IP של נקודת הקצה.
אתם יכולים להשתמש בשמות ה-DNS של
p.googleapis.comשנוצרו באופן אוטומטי אם אתם יכולים להגדיר את הלקוחות כך שישתמשו בנקודת קצה (endpoint) מותאמת אישית, ואם נוצרו רשומות DNS שלp.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.
שימוש בשמות DNS של p.googleapis.com
כשיוצרים נקודת קצה, 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 ולשירותים לנקודת הקצה שלכם במקרים הבאים:
אי אפשר להגדיר את הלקוח או האפליקציה כך שישתמשו בשם DNS של
p.googleapis.com.אתם צריכים לגשת לשירות נתמך, אבל אין שם DNS שנוצר באופן אוטומטי ב-
p.googleapis.comבשביל השירות הזה.
כדי ליצור רשומות DNS שמפנות לנקודת הקצה של 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.
גישה לנקודת הקצה מרשתות היברידיות
לקוחות ברשתות שמחוברות ל- Google Cloud באמצעות צירופים ל-VLAN בשביל Cloud Interconnect או מנהרות Cloud VPN יכולים להגיע לנקודות קצה של Private Service Connect.
נקודת הקצה של Private Service Connect צריכה להיות ברשת ה-VPC שמחוברת לרשת השנייה.
ברשת השנייה צריכים להיות נתיבים מתאימים לנקודת הקצה. מגדירים פרסום ניתוב בהתאמה אישית של Cloud Router כדי להודיע על מסלולים לנקודת הקצה בסשן ה-BGP שמנהל את המסלולים של מנהרת Cloud VPN או של הצירוף ל-VLAN.
- אם ברשת השנייה נעשה שימוש בניתוב מסוג ECMP (ניתוב מרובה נתיבים בעלות שווה) כדי להפיץ את התנועה לנקודות הקצה של Private Service Connect, אתם צריכים לוודא שכל החבילות של חיבור TCP יחיד מנותבות דרך אותה מנהרת Cloud VPN או אותו צירוף ל-VLAN. אם חבילות של חיבור TCP שנוצר מנותבות בכמה נתיבים, יכול להיות שיהיו איפוסים (RST) של TCP לסירוגין. כדי למנוע איפוסים, צריך להגדיר את הנתבים המקבילים המקומיים כך שישמרו על יעדים עקביים של הצעד הבא.
צריך להגדיר מערכות ברשת האחרת כדי לבצע שאילתות לתחומי ה-DNS הפרטיים. אם הטמעתם את תחומי ה-DNS הפרטיים באמצעות Cloud DNS, בצעו את השלבים הבאים:
יוצרים מדיניות שרת נכנס ברשת ה-VPC שאליה מתחברת הרשת האחרת.
מזהים את נקודות הכניסה של השרת להעברה של בקשות נכנסות באזורים שבהם נמצאים מנהרות ה-VPN והחיבורים ל-VLAN, ברשת ה-VPC שאליה מתחברת הרשת השנייה.
מגדירים את המערכות ואת שרתי השמות של ה-DNS ברשת האחרת, כדי להעביר את שמות ה-DNS של נקודות הקצה של Private Service Connect לנקודת כניסה של העברה נכנסת באותו אזור של מנהרת Cloud VPN או של הצירוף ל-VLAN שמחוברים לרשת ה-VPC.
פתרון בעיות
בקטעים הבאים מוסבר איך לפתור בעיות בנקודות קצה של Private Service Connect שמשמשות לגישה ל-Google APIs.
יצירת תחום DNS פרטי נכשלת
כשיוצרים נקודת קצה, נוצר תחום DNS של Service Directory. יצירת אזור יכולה להיכשל מהסיבות הבאות:
Cloud DNS API לא מופעל בפרויקט.
אין לכם את ההרשאות הנדרשות כדי ליצור תחום DNS של Service Directory.
ברשת ה-VPC הזו כבר קיים תחום DNS עם אותו שם.
כבר קיים תחום DNS של
p.googleapis.comברשת ה-VPC הזו.
יכול להיות שיש אזורים עם התנגשויות כי המחיקה הקודמת נכשלה.
כדי ליצור את תחום ה-DNS של Service Directory:
מוודאים ש-Cloud DNS API מופעל בפרויקט.
מוודאים שיש לכם את ההרשאות הנדרשות כדי ליצור את תחום ה-DNS של Service Directory:
dns.managedZones.createservicedirectory.namespaces.associatePrivateZone
יוצרים אזור DNS של Service Directory שמגובה במרחב השמות של Service Directory שמשויך לנקודת הקצה.
כשיוצרים את האזור, משתמשים בערכים הבאים:
Zone name: משתמשים באותו שם אזור שבו המערכת השתמשה בניסיון היצירה שנכשל. בהודעת השגיאה מוצג שם האזור שבו נעשה שימוש.
DNS name:
p.googleapis.com.(כולל הנקודה בסוף).Service Directory namespace: מאתרים את מרחב השמות של Service Directory לנקודת הקצה של Private Service Connect שיצרתם, ומשתמשים במרחב השמות הזה כשיוצרים את תחום ה-DNS של Service Directory.
הפורמט של מרחב השמות של Service Directory הוא:
goog-psc-NETWORK_NAME-NETWORK_ID.
מחיקה של תחום DNS פרטי נכשלה
כשמוחקים את נקודת הקצה האחרונה ברשת VPC, נמחקת ההגדרה המשויכת של ספריית השירותים, כולל תחום ה-DNS.
המחיקה יכולה להיכשל מהסיבות הבאות:
אין לכם את ההרשאות הנדרשות כדי למחוק את תחום ה-DNS.
האזור מכיל רשומות DNS שהוגדרו על ידי המשתמש ולא נוצרו על ידי Service Directory.
כדי לפתור את הבעיה:
מוודאים שיש לכם את ההרשאה
dns.managedZones.delete. מידע נוסף זמין במאמר בקרת גישה במסמכי התיעוד של Cloud DNS.