גישה לשירותים שפורסמו דרך נקודות קצה
במאמר הזה מוסבר איך לגשת לשירותים ברשת VPC אחרת באמצעות נקודות קצה של Private Service Connect. אתם יכולים להתחבר לשירותים שלכם או לשירותים שסופקו על ידי ספקי שירותים אחרים, כולל Google.
מידע נוסף על שירותים זמין במאמר בנושא פרסום שירותים מנוהלים.
לפני שמתחילים
- מומלץ לקרוא את המאמר מידע על התחברות לשירותים באמצעות נקודות קצה, כולל מגבלות.
- צריך להפעיל את Compute Engine API בפרויקט.
- צריך להפעיל את Service Directory API בפרויקט.
- צריך להפעיל את Cloud DNS API בפרויקט.
- מזהים או יוצרים רשת משנה רגילה לשימוש בהקצאת כתובת IP לנקודת הקצה.
- רשת המשנה צריכה להיות באותו אזור כמו השירות שאליו רוצים להתחבר.
- אפשר להשתמש בכתובת IPv4 מתת-רשת IPv4 בלבד או מתת-רשת עם פרוטוקול כפול.
- אפשר להשתמש בכתובת IPv6 מרשת משנה עם IPv6 בלבד או מרשת משנה עם תמיכה כפולה, אם לרשת המשנה יש טווח כתובות IPv6 פנימיות.
- גרסת ה-IP של כתובת ה-IP משפיעה על השירותים שפורסמו שאליהם נקודת הקצה יכולה להתחבר. מידע נוסף זמין במאמר בנושא תרגום של גרסת IP.
- כללי חומת האש של תעבורת נתונים יוצאת צריכים לאפשר תעבורת נתונים לכתובת ה-IP הפנימית של נקודת הקצה. כלל חומת האש implied allow egress מאפשר יציאה לכל כתובת IP של יעד. אם יצרתם כללי חומת אש לדחיית תעבורת נתונים יוצאת (egress) ברשת ה-VPC, או אם יצרתם מדיניות חומת אש היררכית שמשנה את התנהגות ברירת המחדל של תעבורת נתונים יוצאת (egress), יכול להיות שתהיה לכך השפעה על הגישה לנקודת הקצה. יוצרים כלל או מדיניות ספציפיים של חומת אש ליציאה כדי לאפשר תעבורת נתונים ליעד של כתובת ה-IP הפנימית של נקודת הקצה של השירות.
- צריך שיהיה לכם ה-URI של קובץ השירות בשביל השירות. לדוגמה,
projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לגישה לשירותים שפורסמו דרך נקודות קצה, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:
-
כדי ליצור, לראות ולמחוק נקודות קצה בפרויקט:
Compute Network Admin (
roles/compute.networkAdmin) בפרויקט -
יצירה, הצגה ומחיקה של נקודות קצה בפרויקט שירות של VPC משותף:
-
אדמין של רשת מחשוב (
roles/compute.networkAdmin) בפרויקט השירות -
משתמש ברשת Compute (
roles/compute.networkUser) בפרויקט המארח
-
אדמין של רשת מחשוב (
-
הגדרת רשומות DNS אוטומטית או ידנית לנקודת קצה בפרויקט:
-
אדמין DNS (
roles/dns.admin) בפרויקט -
עריכת Service Directory (
roles/servicedirectory.editor) בפרויקט
-
אדמין DNS (
-
הגדרה אוטומטית או ידנית של רשומות DNS לנקודת קצה בפרויקט שירות של VPC משותף:
-
אדמין DNS (
roles/dns.admin) בפרויקט השירות -
הכלי לעריכת Service Directory (
roles/servicedirectory.editor) בפרויקט השירות
-
אדמין DNS (
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש האלה מכילים את ההרשאות שנדרשות כדי לגשת לשירותים שפורסמו דרך נקודות קצה. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי לגשת לשירותים שפורסמו דרך נקודות קצה, נדרשות ההרשאות הבאות:
-
כדי ליצור, להציג ולמחוק נקודות קצה בפרויקט:
-
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בפרויקט
-
-
כדי ליצור, להציג ולמחוק נקודות קצה בפרויקט שירות שמצורף לרשת VPC משותפת:
-
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בפרויקט השירות -
compute.networks.useבפרויקט המארח -
compute.subnetworks.useבפרויקט המארח
-
-
כדי להגדיר באופן אוטומטי או ידני רשומות DNS לנקודת קצה בפרויקט:
-
dns.managedZones.createבפרויקט -
dns.managedZones.deleteבפרויקט -
dns.networks.bindPrivateDNSZoneבפרויקט -
servicedirectory.namespaces.associatePrivateZoneבפרויקט
-
-
כדי להגדיר באופן אוטומטי או ידני רשומות DNS לנקודת קצה ברשת VPC משותפת:
-
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בפרויקט
-
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
יצירת נקודת קצה
נקודת קצה מתחברת לשירותים ברשת VPC אחרת באמצעות כלל העברה של Private Service Connect. כל כלל העברה נספר במסגרת המכסה לכל פרויקט של כללי העברה ב-Private Service Connect, שמאפשרים גישה לשירותים ברשת VPC אחרת.
כשיוצרים נקודת קצה, היא נרשמת באופן אוטומטי ב-Service Directory באמצעות מרחב שמות שבוחרים או מרחב השמות שמוגדר כברירת מחדל, goog-psc-default.
אם רוצים להפוך את נקודת הקצה לזמינה ביותר מאזור אחד, מפעילים את האפשרות גישה גלובלית.
אפשר לעדכן רק את שדה הגישה הגלובלית של נקודות קצה לשירותים שפורסמו. אם רוצים לעדכן שדות אחרים, צריך למחוק את נקודת הקצה וליצור נקודת קצה חדשה.
המסוף
נכנסים לדף Private Service Connect במסוף Google Cloud .
לוחצים על הכרטיסייה Connected endpoints (נקודות קצה מחוברות).
לוחצים על Connect endpoint.
בקטע יעד, בוחרים באפשרות שירות שפורסם.
בשדה Target service (שירות יעד), מזינים את מזהה המשאבים האחיד (URI) של קובץ השירות שאליו רוצים להתחבר.
ה-URI של קובץ השירות המצורף הוא בפורמט הבא:
projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAMEבשדה Endpoint name, מזינים שם לשימוש בנקודת הקצה.
בוחרים רשת לנקודת הקצה.
בוחרים רשת משנה לנקודת הקצה.
בוחרים כתובת IP לנקודת הקצה. אם אתם צריכים כתובת IP חדשה, אתם יכולים ליצור אחת:
- לוחצים על התפריט הנפתח כתובת IP ובוחרים באפשרות יצירת כתובת IP.
- מזינים שם ותיאור (אופציונלי) לכתובת ה-IP.
- בוחרים גרסת IP.
אם אתם יוצרים כתובת IPv4, בוחרים באפשרות הקצאה אוטומטית או באפשרות אני רוצה לבחור.
אם בחרתם באפשרות אני רוצה לבחור, מזינים את כתובת ה-IP המותאמת אישית שבה רוצים להשתמש.
לוחצים על Reserve.
כדי שהנקודה תהיה זמינה מכל אזור, בוחרים באפשרות הפעלת גישה גלובלית.
בוחרים מרחב שמות מהרשימה הנפתחת או יוצרים מרחב שמות חדש.
האזור מאוכלס על סמך רשת המשנה שנבחרה.
לוחצים על הוספת נקודת קצה.
gcloud
שמירת כתובת IP פנימית להקצאה לנקודת הקצה.
gcloud compute addresses create ADDRESS_NAME \ --region=REGION \ --subnet=SUBNET \ --ip-version=IP_VERSIONמחליפים את מה שכתוב בשדות הבאים:
ADDRESS_NAME: השם שיוקצה לכתובת ה-IP השמורה.
REGION: האזור של כתובת ה-IP של נקודת הקצה. זה חייב להיות אותו אזור שמכיל את קובץ השירות של יצרן השירות.
SUBNET: השם של רשת המשנה של כתובת ה-IP של נקודת הקצה.
IP_VERSION: גרסת ה-IP של כתובת ה-IP, שיכולה להיותIPV4אוIPV6. ברירת המחדל היאIPV4. כדי לציין אתIPV6, כתובת ה-IP צריכה להיות מחוברת לרשת משנה עם טווח כתובות IPv6 פנימי.
מוצאים את כתובת ה-IP השמורה.
gcloud compute addresses list --filter="name=ADDRESS_NAME"
יוצרים כלל העברה כדי לחבר את נקודת הקצה לחיבור השירות של בעלי השירות המנוהל. כברירת מחדל, נקודות קצה זמינות רק מהאזור שלהן. כדי להפוך נקודת קצה לזמינה מכל אזור, משתמשים בדגל
--allow-psc-global-access.יוצרים נקודת קצה שאפשר לגשת אליה רק מהאזור שלה.
gcloud compute forwarding-rules create ENDPOINT_NAME \ --region=REGION \ --network=NETWORK_NAME \ --address=ADDRESS_NAME \ --target-service-attachment=SERVICE_ATTACHMENT \ [ --service-directory-registration=projects/PROJECT_ID/locations/REGION/namespaces/NAMESPACE ]יוצרים נקודת קצה שאפשר לגשת אליה מכל אזור.
gcloud compute forwarding-rules create ENDPOINT_NAME \ --region=REGION \ --network=NETWORK_NAME \ --address=ADDRESS_NAME \ --target-service-attachment=SERVICE_ATTACHMENT \ --allow-psc-global-access \ [ --service-directory-registration=projects/PROJECT_ID/locations/REGION/namespaces/NAMESPACE ]
מחליפים את מה שכתוב בשדות הבאים:
ENDPOINT_NAME: השם שרוצים להקצות לנקודת הקצה.
REGION: האזור של נקודת הקצה. האזור הזה חייב להיות זהה לאזור שמכיל את קובץ השירות של יצרן השירות.
NETWORK_NAME: השם של רשת ה-VPC של נקודת הקצה.
ADDRESS_NAME: השם של הכתובת השמורה.
SERVICE_ATTACHMENT: ה-URI של קובץ השירות המצורף של ספק השירות. לדוגמה:projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAMEPROJECT_ID: מזהה הפרויקט.
NAMESPACE: מרחב השמות של Service Directory שבו רוצים להשתמש. אם מציינים מרחב שמות שלא קיים, המרחב נוצר.אם לא מציינים את הדגל
--service-directory-registration, נעשה שימוש במרחב השמות שמוגדר כברירת מחדלgoog-psc-default.
API
שמירת כתובת IP פנימית להקצאה לנקודת הקצה.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses { "name": "ADDRESS_NAME", "addressType": "INTERNAL", "subnetwork": "SUBNET_URI", "ipVersion": "IP_VERSION" }מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט.
REGION: האזור של נקודת הקצה. האזור הזה חייב להיות זהה לאזור שמכיל את קובץ השירות של יצרן השירות.
ADDRESS_NAME: השם שיוקצה לכתובת ה-IP השמורה.
SUBNET_URI: רשת המשנה של כתובת ה-IP. כדי למצוא את כתובות ה-URL של הרשתות, אפשר להשתמש בשיטה subnetworks.list או ב-gcloud compute networks subnets list --uri.
IP_VERSION: גרסת ה-IP של כתובת ה-IP, שיכולה להיותIPV4אוIPV6. ברירת המחדל היאIPV4. כדי לציין אתIPV6, כתובת ה-IP צריכה להיות מחוברת לרשת משנה עם טווח כתובות IPv6 פנימי.
יוצרים כלל העברה כדי לחבר את נקודת הקצה לחיבור השירות של בעלי השירות המנוהל. כברירת מחדל, נקודות קצה זמינות רק מהאזור שלהן. כדי להפוך נקודת קצה לזמינה מכל אזור, מגדירים את הערך
allowPscGlobalAccessל-true.יוצרים נקודת קצה שאפשר לגשת אליה רק מהאזור שלה.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules { "name": "ENDPOINT_NAME", "IPAddress": "ADDRESS_URI", "target": "SERVICE_ATTACHMENT", "network": "NETWORK_URI", "serviceDirectoryRegistrations": [ { "namespace": "NAMESPACE" } ] }יוצרים נקודת קצה שאפשר לגשת אליה מכל אזור.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules { "name": "ENDPOINT_NAME", "IPAddress": "ADDRESS_URI", "target": "SERVICE_ATTACHMENT", "network": "NETWORK_URI", "allowPscGlobalAccess": true, "serviceDirectoryRegistrations": [ { "namespace": "NAMESPACE" } ] }
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט.
REGION: האזור של נקודת הקצה.
ENDPOINT_NAME: השם שרוצים להקצות לנקודת הקצה.
ADDRESS_URI: ה-URI של הכתובת השמורה ברשת המשויכת. אפשר להשתמש בשיטה addresses.list או ב-gcloud compute addresses list --uriכדי למצוא את כתובת ה-URL של הכתובת השמורה.
SERVICE_ATTACHMENT: ה-URI של קובץ השירות המצורף של בעלי השירות. לדוגמה:projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
NETWORK_URI: רשת ה-VPC של נקודת הקצה. כדי למצוא את ה-URI של הרשת, משתמשים בשיטה network.list או ב-gcloud compute networks list --uri.
NAMESPACE: מרחב השמות של נקודת הקצה. אם תציינו מרחב שמות שלא קיים, הוא ייווצר. אם משמיטים את השדהnamespace, מוקצה מרחב השמות שמוגדר כברירת מחדלgoog-psc-default.
יצירת נקודת קצה עם כתובת IP מרשת VPC משותפת
אדמינים של פרויקט שירות יכולים ליצור נקודות קצה בפרויקטים של שירות VPC משותף שמשתמשים בכתובות IP מרשתות VPC משותפות מקושרות. אי אפשר ליצור נקודות קצה מהסוג הזה במסוף Google Cloud . אתם צריכים להשתמש ב-Google Cloud CLI או לשלוח בקשת API. מידע נוסף זמין במאמר בנושא VPC משותף.
בדוגמה הזו מוצג איך ליצור נקודת קצה עם כתובת IP מרשת VPC משותפת שאפשר לגשת אליה מאזור יחיד. כדי להפעיל גישה גלובלית או לבחור מרחב שמות עבור Service Directory, אפשר לעיין במאמר בנושא יצירת נקודת קצה.
gcloud
כדי לשמור כתובת IP פנימית להקצאה לנקודת הקצה, מבצעים אחת מהפעולות הבאות:
- בפרויקט השירות, מזמינים כתובת IPv4 או IPv6 פנימית סטטית מתת-רשת משותפת של רשת ה-VPC המשותפת.
- בפרויקט המארח, מבקשים מאדמין של VPC משותף לשריין כתובת IPv4 או IPv6 סטטית פנימית מרשת משנה משותפת של רשת ה-VPC המשותפת.
כתובת ה-IP צריכה להיות באותו אזור כמו קובץ השירות של יצרן השירות.
כדי ליצור את נקודת הקצה בפרויקט השירות, מבצעים אחת מהפעולות הבאות.
אם יש לכם הרשאה להשתמש בכל רשתות המשנה בפרויקט המארח, משתמשים בפקודה הבאה:
gcloud compute forwarding-rules create ENDPOINT_NAME \ --region=REGION \ --network=projects/HOST_PROJECT/global/networks/HOST_NETWORK \ --address=projects/ADDRESS_PROJECT/regions/REGION/addresses/ADDRESS_NAME \ --target-service-attachment=SERVICE_ATTACHMENTמחליפים את מה שכתוב בשדות הבאים:
-
ENDPOINT_NAME: השם שרוצים להקצות לנקודת הקצה. -
REGION: האזור של נקודת הקצה. זה צריך להיות אותו אזור שמכיל את קובץ השירות של ספק השירות. -
HOST_PROJECT: מזהה הפרויקט של רשת ה-VPC המשותפת. -
HOST_NETWORK: השם של רשת ה-VPC המשותפת שמכילה את כתובת ה-IP של נקודת הקצה. -
ADDRESS_PROJECT: מזהה הפרויקט שבו שריינתם את כתובת ה-IP. זה יכול להיות פרויקט השירות או הפרויקט המארח. -
ADDRESS_NAME: השם של כתובת ה-IP השמורה. -
SERVICE_ATTACHMENT: ה-URI של קובץ השירות המצורף של ספק השירות. לדוגמה:projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME
-
אם יש לכם הרשאה להשתמש רק בחלק מרשתות המשנה בפרויקט המארח, אתם צריכים לציין רשת משנה משותפת באמצעות הפקודה הבאה:
gcloud compute forwarding-rules create ENDPOINT_NAME \ --region=REGION \ --subnet=projects/HOST_PROJECT/regions/REGION/subnetworks/HOST_SUBNET \ --address=projects/ADDRESS_PROJECT/regions/REGION/addresses/ADDRESS_NAME \ --target-service-attachment=SERVICE_ATTACHMENTמחליפים את
HOST_SUBNETבשם של רשת המשנה שמכילה את כתובת ה-IP של נקודת הקצה.
API
כדי לשמור כתובת IP פנימית להקצאה לנקודת הקצה, מבצעים אחת מהפעולות הבאות:
- בפרויקט השירות, מזמינים כתובת IPv4 או IPv6 פנימית סטטית מתת-רשת משותפת של רשת ה-VPC המשותפת.
- בפרויקט המארח, מבקשים מאדמין של הפרויקט המארח לשריין כתובת IPv4 או IPv6 פנימית סטטית מרשת משנה משותפת של רשת ה-VPC המשותפת.
כתובת ה-IP צריכה להיות באותו אזור כמו קובץ השירות של יצרן השירות.
כדי ליצור את נקודת הקצה בפרויקט השירות, מבצעים אחת מהפעולות הבאות.
אם יש לכם הרשאה להשתמש בכל רשתות המשנה בפרויקט המארח, אתם יכולים לשלוח את הבקשה הבאה:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/forwardingRules { "name": "ENDPOINT_NAME", "IPAddress": "projects/ADDRESS_PROJECT/regions/REGION/addresses/ADDRESS_NAME", "target": "SERVICE_ATTACHMENT", "network": "projects/HOST_PROJECT/global/networks/HOST_NETWORK" }מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT: מזהה פרויקט השירות. -
REGION: האזור של נקודת הקצה. האזור הזה חייב להיות זהה לאזור שבו נמצא קובץ השירות של ספק השירות. -
ENDPOINT_NAME: השם שרוצים להקצות לנקודת הקצה. -
ADDRESS_PROJECT: מזהה הפרויקט שבו שריינתם את כתובת ה-IP. זה יכול להיות פרויקט השירות או הפרויקט המארח. -
ADDRESS_NAME: השם של כתובת ה-IP השמורה. -
SERVICE_ATTACHMENT: ה-URI של קובץ השירות המצורף של ספק השירות. לדוגמה:projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME -
HOST_PROJECT: מזהה הפרויקט של רשת ה-VPC המשותפת. -
HOST_NETWORK: השם של רשת ה-VPC המשותפת שמכילה את כתובת ה-IP של נקודת הקצה.
-
אם יש לכם הרשאה להשתמש רק בחלק מרשתות המשנה בפרויקט המארח, אתם יכולים לציין רשת משנה משותפת באמצעות הבקשה הבאה:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/forwardingRules { "name": "ENDPOINT_NAME", "IPAddress": "projects/ADDRESS_PROJECT/regions/REGION/addresses/ADDRESS_NAME", "target": "SERVICE_ATTACHMENT", "subnetwork": "projects/HOST_PROJECT/regions/REGION/subnetworks/HOST_SUBNET" }מחליפים את
HOST_SUBNETבשם של רשת המשנה שמכילה את כתובת ה-IP של נקודת הקצה.
הצגת רשימה של נקודות קצה
אפשר לראות רשימה של כל נקודות הקצה שהוגדרו.
המסוף
נכנסים לדף Private Service Connect במסוף Google Cloud .
לוחצים על הכרטיסייה Connected endpoints (נקודות קצה מחוברות).
נקודות הקצה מוצגות.
gcloud
gcloud compute forwarding-rules list \
--filter 'target~serviceAttachments'
הפלט אמור להיראות כך:
NAME REGION IP_ADDRESS IP_PROTOCOL TARGET RULE IP TCP REGION/serviceAttachments/SERVICE_NAME
API
הקריאה הזו ל-API מחזירה את כל כללי ההעברה, ולא רק את נקודות הקצה שמשמשות לגישה לשירותים.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: הפרויקט שמכיל את נקודת הקצה. -
REGION: האזור של נקודת הקצה.
הצגת הפרטים של נקודת הקצה
אפשר לראות את כל פרטי ההגדרה של נקודת קצה, כולל סטטוס החיבור ומזהה ה-URI של נקודת הקצה.
כדי למצוא URI מבוסס-מזהה של נקודת קצה של Private Service Connect, משתמשים ב-Google Cloud CLI או שולחים בקשת API.
ה-URI שמבוסס על מזהה מוצג בשדה selfLinkWithId. יכול להיות שספק השירות יצטרך את ה-URI הזה אם רשימת הצרכנים המורשים של קובץ השירות המצורף מוגדרת לקבל צרכנים על סמך נקודות קצה נפרדות של Private Service Connect.
המסוף
נכנסים לדף Private Service Connect במסוף Google Cloud .
לוחצים על הכרטיסייה Connected endpoints (נקודות קצה מחוברות).
לוחצים על נקודת הקצה שרוצים לראות.
gcloud
gcloud compute forwarding-rules describe \
ENDPOINT_NAME --region=REGION
מחליפים את מה שכתוב בשדות הבאים:
-
ENDPOINT_NAME: השם של נקודת הקצה. -
REGION: האזור של נקודת הקצה.
API
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules/ENDPOINT_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: הפרויקט שמכיל את נקודת הקצה. -
REGION: האזור של נקודת הקצה. -
ENDPOINT_NAME: השם של נקודת הקצה.
הוספת תווית לנקודת קצה
אפשר לנהל תוויות לנקודות קצה. הוראות מפורטות זמינות במאמר בנושא הוספת תוויות למשאבים.
מחיקת נקודת קצה
אפשר למחוק נקודת קצה.
עם זאת, ההגדרות הבאות של Service Directory לא נמחקות כשמוחקים את נקודת הקצה:
- מרחב שמות של Service Directory
- תחום DNS של Service Directory
שירותים אחרים יכולים להשתמש במרחב השמות של Service Directory ובתחום ה-DNS של Service Directory. לפני שמוחקים את מרחב השמות של Service Directory או מוחקים את אזור ה-DNS של Service Directory, צריך לוודא שמרחב השמות ריק.
המסוף
נכנסים לדף Private Service Connect במסוף Google Cloud .
לוחצים על הכרטיסייה Connected endpoints (נקודות קצה מחוברות).
בוחרים את נקודת הקצה שרוצים למחוק ולוחצים על מחיקה.
gcloud
gcloud compute forwarding-rules delete ENDPOINT_NAME \
--region=REGION
מחליפים את מה שכתוב בשדות הבאים:
-
ENDPOINT_NAME: השם של נקודת הקצה. -
REGION: האזור של נקודת הקצה.
API
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/forwardingRules/ENDPOINT_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: הפרויקט שמכיל את נקודת הקצה. -
REGION: האזור של נקודת הקצה. -
ENDPOINT_NAME: השם של נקודת הקצה.
גישה לנקודות קצה (endpoints) מרשתות היברידיות
לקוחות ברשתות שמחוברות ל- Google Cloud עם קבצים מצורפים של VLAN ל-Cloud Interconnect או למנהרות Cloud VPN יכולים להגיע לנקודות קצה של Private Service Connect.צירוף ה-VLAN או מנהרת Cloud VPN חייבים להסתיים באותה רשת VPC (או באותה רשת VPC משותפת) כמו נקודת הקצה. לקוחות ברשתות VPC מקושרות לא יכולים להגיע לנקודות קצה.
תעבורת לקוחות מחיבורי VLAN או ממנהרות Cloud VPN יכולה להגיע לנקודות קצה באזור אחר אם מוגדרת גישה גלובלית.
יש תמיכה ב-Dataplane v1 וב-Dataplane v2 עבור חיבורי VLAN. מידע נוסף על גרסאות של Dataplane זמין במאמר בנושא Dataplane v2.
אם רוצים לגשת לנקודת הקצה באמצעות שם ה-DNS שלה, צריך להגדיר את המערכות ברשת השנייה כך שיוכלו לבצע שאילתות באזורי ה-DNS הפרטיים.
אם הטמעתם את אזורי ה-DNS הפרטיים באמצעות Cloud DNS, צריך לבצע את השלבים הבאים:
יוצרים מדיניות שרת נכנסת ברשת ה-VPC שאליה מחוברת הרשת השנייה.
מזהים את נקודות הכניסה של מעביר התנועה הנכנסת באזור שבו נמצא צירוף ה-VLAN או מנהרת Cloud VPN, ברשת ה-VPC שאליה מחוברת הרשת השנייה.
מגדירים את המערכות ואת שרתי השמות של ה-DNS ברשת השנייה כך שיעבירו את שמות ה-DNS של נקודת הקצה לנקודת כניסה של מעביר נתונים נכנס באותו אזור כמו צירוף ה-VLAN או מנהרת Cloud VPN שמחברים לרשת ה-VPC.
צפייה באזורי DNS של Service Directory
אם מתקיימים התנאים המוקדמים להגדרה אוטומטית של DNS, נוצר תחום DNS עם שם בפורמט NAMESPACE--REGION.
המסוף
נכנסים לדף Cloud DNS zones במסוף Google Cloud .
מחפשים אזור פרטי בשם
NAMESPACE--REGION.
gcloud
כדי להציג את כל אזורי ה-DNS הפרטיים, מריצים את הפקודה הבאה:
gcloud dns managed-zones list \ --filter="visibility=private"מריצים את הפקודה הבאה כדי לקבל פרטים על אזור עם השם
NAMESPACE--REGION.gcloud dns managed-zones describe NAMESPACE--REGION
אם האזור לא מופיע, צריך לעיין בפרטים של נקודת הקצה ולבדוק אם ההגדרה של נקודת הקצה כוללת ערך למרחב השמות.
אם לנקודת הקצה יש הגדרת מרחב שמות, אפשר לעיין במאמר הגדרת תחום DNS של Service Directory.
אם לנקודת הקצה אין הגדרת מרחב שמות, אפשר לעיין במאמר בנושא רישום נקודת קצה ב-Service Directory.
דרכים אחרות להגדרת DNS
אם לא מתקיימים התנאים המוקדמים להגדרה אוטומטית של DNS, אפשר ליצור רשומות DNS בדרכים אחרות:
אם הוגדר מרחב שמות לנקודת הקצה, אפשר לעיין במאמר בנושא הגדרת תחום DNS של Service Directory.
אם לא מוגדר מרחב שמות לנקודת הקצה, אפשר לעיין במאמר בנושא רישום נקודת קצה ב-Service Directory.
אם אתם מעדיפים להגדיר את ה-DNS באופן ידני, תוכלו לעיין במאמר בנושא הגדרה ידנית של DNS.
הגדרת תחום DNS של Service Directory
אם נקודת קצה רשומה ב-Service Directory, אבל לשירות שפורסם שאליו היא מתחברת לא מוגדר שם דומיין, לא מתבצעים שינויים ב-DNS.
אם רוצים לשכפל את הגדרת ה-DNS האוטומטית, אפשר להגדיר באופן ידני תחום DNS של Service Directory שמגובה על ידי מרחב השמות של Service Directory. אחרי שיוצרים את האזור, רשומות ה-DNS של נקודת הקצה נוצרות באופן אוטומטי.
יוצרים אזור DNS של Service Directory עם ההגדרה הבאה:
שם האזור: מציינים
NAMESPACE--REGION, כאשרNAMESPACEהוא מרחב השמות שהנקודה הסופית רשומה בו, ו-REGIONהוא האזור שבו הנקודה הסופית נוצרה.שם DNS: דומיין ה-DNS שבו הבעלים של השירות המנוהל משתמש עבור השירותים שפורסמו. כדי לקבל את המידע הזה, צריך לפנות אל מפיק התוכן של הערוץ.
שם ה-DNS יכול להיות בפורמט
REGION.p.DOMAIN. לדוגמה, אם הדומיין הציבורי של יצרן השירות הואexample.com, והשירות שפורסם נמצא ב-us-west1, מומלץ ליצרן השירות להפוך את השירות לזמין באמצעות שמות דומייןus-west1.p.example.com. כוללים נקודה בסוף – לדוגמה,us-west1.p.example.com.מרחב השמות של Service Directory: מרחב השמות שהגדרתם לנקודת הקצה הזו.
צופים בפרטי נקודת הקצה כדי למצוא את מרחב השמות והאזור של Service Directory.
בהגדרה הזו, אם הגדרתם תחום DNS של Service Directory עם שם ה-DNS us-west1.p.example.com, ואתם יוצרים נקודת קצה עם השם analytics, נוצרת באופן אוטומטי רשומת DNS עבור analytics.us-west1.p.example.com.
רישום נקודת קצה ב-Service Directory
נקודות קצה חדשות נרשמות אוטומטית ב-Service Directory. עם זאת, אם נקודת קצה נוצרה לפני שהופעלה הרשמה אוטומטית ב-Service Directory, יכול להיות שההגדרה הזו חסרה.
אפשר למחוק את נקודת הקצה וליצור נקודת קצה חדשה, שנרשמת באופן אוטומטי ב-Service Directory.
אפשר גם לפעול לפי השלבים הבאים כדי לרשום נקודת קצה קיימת במרחב שמות של Service Directory.
יוצרים מרחב שמות של Service Directory לנקודת הקצה,
NAMESPACE.יוצרים שירות Service Directory לנקודת הקצה,
SERVICE_NAME.בשדה 'שירות', משתמשים באותו שם של כלל ההעברה שמשמש לנקודת הקצה,
ENDPOINT_NAME.יוצרים נקודת קצה של Service Directory עם השם
defaultומשתמשים בכתובת ה-IP וביציאה (443) של נקודת הקצה.
אחרי שרושמים את נקודת הקצה ב-Service Directory, פועלים לפי ההוראות להגדרת תחום DNS ב-Service Directory.
הגדרה ידנית של DNS
אם מנעתם הגדרה אוטומטית של DNS, או אם היא לא מופעלת בהגדרה שלכם, אתם יכולים להשתמש ב-Cloud DNS כדי ליצור רשומות DNS באופן ידני.
מידע נוסף זמין בדפים הבאים:
בקרת גישה: תפקיד מנהל ה-DNS (
roles/dns.admin) מספק את ההרשאות שנדרשות ליצירת אזורי DNS ורשומות DNS.-
כשמגדירים אזור פרטי, מציינים שם DNS. משתמשים בדומיין ה-DNS שבו הבעלים של השירות המנוהל משתמשים בשביל השירותים שפורסמו. כדי לקבל את המידע הזה, צריך לפנות אל בעלים של שירות מנוהל.
יכול להיות שהפורמט יהיה:
REGION.p.DOMAIN. לדוגמה, אם הדומיין הציבורי של ספק השירות הואexample.com, והשירות שפורסם נמצא ב-us-west1, מומלץ לספק השירות להשתמש בשמות דומיין מסוגus-west1.p.example.comכדי להפוך את השירות לזמין.
בעיות מוכרות
קצוות עורפיים לא תקינים מקבלים תנועה עם נקודות קצה לגישה גלובלית
אפשר לחבר נקודת קצה של גישה גלובלית לשירות שפורסם ולא הוגדרה לו גישה גלובלית. עם זאת, בדיקות תקינות לא פועלות בצורה תקינה בהגדרה הזו. כתוצאה מכך, יכול להיות שתנועה תישלח לשרתי קצה עורפיים לא תקינים ותיפסל.
מומלץ להפעיל גישה גלובלית לנקודת קצה רק אם אתם יודעים שמאזן העומסים של קובץ השירות המצורף מוגדר לגישה גלובלית.
אם נקודת הקצה שלכם מושפעת מהבעיה הזו, אתם יכולים לנסות אחד מהפתרונות הבאים:
- אם אתם לא רוצים להשתמש בגישה גלובלית, אתם יכולים להשבית את הגישה הגלובלית לנקודת הקצה.
- אם רוצים להשתמש בגישה גלובלית, צריך לבקש מבעלים של שירות מנוהל להפעיל גישה גלובלית לכלל ההעברה של מאזן העומסים.
השבתה של גישה גלובלית לנקודת קצה לא משבשת את תעבורת הרשת עבור עומסי עבודה באותו אזור כמו נקודת הקצה. עם זאת, אחרי השבתת הגישה הגלובלית, לקוחות מאזורים אחרים לא יכולים לגשת לנקודת הקצה.
פתרון בעיות
יצירת תחום DNS פרטי נכשלת
כשיוצרים נקודת קצה, נוצר תחום DNS של Service Directory. יצירת אזור יכולה להיכשל מהסיבות הבאות:
לא הפעלתם את Cloud DNS API בפרויקט.
אין לכם את ההרשאות הנדרשות כדי ליצור אזור DNS של Service Directory.
קיים תחום DNS עם אותו שם אזור ברשת ה-VPC הזו.
כבר קיים תחום DNS לאותו שם דומיין ברשת ה-VPC הזו.
כדי ליצור באופן ידני את תחום ה-DNS של Service Directory:
מוודאים ש-Cloud DNS API מופעל בפרויקט.
מוודאים שיש לכם את ההרשאות הנדרשות ליצירת תחום DNS של Service Directory:
dns.managedZones.createdns.networks.bindPrivateDNSZoneservicedirectory.namespaces.associatePrivateZone
אם יש אזור מתנגש, אבל הוא כבר לא נחוץ, מוחקים את אזור ה-DNS.
יוצרים תחום DNS של ספריית השירותים שמגובה על ידי מרחב השמות של ספריית השירותים שמשויך לנקודת הקצה.
יצירת נקודת קצה נכשלת כשהגישה הגלובלית מוגדרת
לא כל השירותים שפורסמו ב-Private Service Connect תומכים בנקודות קצה עם גישה גלובלית. אם יוצרים נקודת קצה עם גישה גלובלית והשירות שפורסם לא תומך בה, מוצגת הודעת השגיאה הבאה:
Private Service Connect global access is not supported for the given forwarding
rule, since its producer service does not support consumer global access.
יוצרים את נקודת הקצה בלי האפשרות של גישה גלובלית.
יצירת נקודת הקצה מצליחה, אבל לא נוצר חיבור
אם הצלחתם ליצור נקודת קצה לשירותים שפורסמו אבל לא נוצר חיבור, כדאי לבדוק את סטטוס החיבור של נקודת הקצה. יכול להיות שסטטוס החיבור יציין פעולות שאפשר לבצע כדי לפתור את הבעיה.
שגיאות חיבור שמועברות
מידע על פתרון בעיות שקשורות להפצה של חיבורים זמין במאמר פתרון בעיות שקשורות להפצה של חיבורים ב-Private Service Connect.
נקודת הקצה (endpoint) סובלת מבעיות בביצועים או מפסקי זמן של חיבור
אם יש בעיות בביצועים של נקודת הקצה או פסק זמן לחיבור לסירוגין, יכול להיות שהסיבה לכך היא מנות שנפלו. כדי לבדוק אם חבילות נשרו, אפשר לעיין במדדים שמתוארים בקטעים הבאים.
מנות שהושמטו לשירות שפורסם
private_service_connect/consumer/dropped_sent_packets_countהמדד עוקב אחרי מנות מצרכן Private Service Connect, כמו נקודת קצה, לשירות שפורסם, שנפסלו כי נקודת הקצה חרגה מהמספר המקסימלי של החיבורים לשירות.
אם נקודת קצה מדווחת על ערכים של המדד הזה, כדאי לנסות את הפתרונות הבאים:
- יוצרים נקודות קצה נוספות שמתחברות לשירות שפורסם.
- צריך לצמצם את מספר החיבורים דרך נקודת הקצה הזו.
- לבקש מבעלים של שירות מנוהל להגדיל את הקיבולת של השירות שפורסם – למשל, על ידי הוספה של עוד מכונות וירטואליות (VM) או נקודות קצה ברשת.
מנות שהושמטו משירותים שפורסמו
private_service_connect/consumer/dropped_received_packets_count
מדד
עוקב אחרי חבילות שנשלחות משירות שפורסם לצרכן Private Service Connect, כמו נקודת קצה, שמושלכות כי Private Service Connect לא יכול למצוא חיבור תואם לחבילות תגובה.
ב-Private Service Connect מותרים רק חיבורים שיוצאים מרשת ה-VPC של הצרכן. כשצרכן יוזם חיבור, המערכת עוקבת אחרי החיבור כדי להתאים מנות תגובה מהשירות שפורסם לחיבור קיים. אם Private Service Connect לא מוצא התאמה לחבילת תגובה, החבילה מושמטת.
יכול להיות ש-Private Service Connect לא ימצא התאמה לחבילת תגובה אם שירות שפורסם שולח חבילות תגובה אחרי שחלף הזמן הקצוב לתפוגה של החיבור. אם אתם רואים ערכים למדד הזה, פנו לבעלים של שירות מנוהל. יכול להיות שהם יוכלו להגדיר את השירות שלהם כדי למנוע את הבעיה הזו.