גישה לממשקי Google APIs אזוריים דרך נקודות קצה
במאמר הזה מוסבר איך להשתמש בנקודות קצה (endpoints) של Private Service Connect כדי להתחבר לנקודות קצה אזוריות של ממשקי Google APIs נתמכים.
מידע על הגדרות אחרות של Private Service Connect זמין במאמר Private Service Connect.
התפקידים הנדרשים
אם אתם יוצרים את נקודת הקצה באותו פרויקט שבו נמצאת רשת המשנה שאליה אתם מחברים אותה, כדאי לעיין במאמר תפקידים נדרשים בפרויקט.
אם אתם משתמשים ב-VPC משותף ויוצרים את נקודת הקצה בפרויקט שירות ומקשרים אותה לתת-רשת בפרויקט המארח, אתם צריכים את התפקידים הבאים:
- התפקידים הנדרשים לפרויקט שמוענקים בפרויקט השירות
- תפקידים נוספים שנדרשים להגדרות של VPC משותף שמוענקים בפרויקט המארח
התפקידים הנדרשים בפרויקט
כדי לקבל את ההרשאות שדרושות לניהול נקודות קצה של Private Service Connect שמאפשרות גישה לנקודות קצה אזוריות, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:
-
כדי ליצור, להציג ולמחוק נקודות קצה: אדמין של רשת מחשוב (
roles/compute.networkAdmin) בפרויקט -
הגדרת רשומות DNS לנקודת קצה:
אדמין DNS (
roles/dns.admin) בפרויקט
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
תפקידים נוספים שנדרשים להגדרות של VPC משותף
אם אתם יוצרים נקודת קצה בפרויקט שירות שמשתמש בכתובת IP מרשת משנה של פרויקט מארח, אתם צריכים את ההרשאות הבאות בנוסף לתפקידים בפרויקט (פרויקט השירות).
לכם ולחשבון של Network Connectivity Service צריכות להיות הרשאות בפרויקט המארח.
תפקידים להקצאה לחשבון המשתמש
כדי לקבל את ההרשאות שדרושות לניהול נקודות קצה של Private Service Connect שמאפשרות גישה לנקודות קצה אזוריות של Google APIs, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:
-
יצירה, הצגה ומחיקה של נקודות קצה שמשתמשות בכתובת IP של פרויקט מארח:
- אדמין של רשת מחשוב (
roles/compute.networkAdmin) בפרויקט השירות - משתמש ברשת Compute (
roles/compute.networkUser) בפרויקט המארח
- אדמין של רשת מחשוב (
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש מכילים את ההרשאות שנדרשות לניהול נקודות קצה של Private Service Connect שמאפשרות גישה לנקודות קצה אזוריות של Google APIs. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי לנהל נקודות קצה של Private Service Connect שדרכן ניגשים לנקודות קצה אזוריות של Google APIs, נדרשות ההרשאות הבאות:
-
כדי ליצור, להציג ולמחוק נקודות קצה שמשתמשות בכתובת IP של פרויקט מארח:
-
compute.networks.useבפרויקט המארח -
compute.subnetworks.useבפרויקט המארח
-
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
תפקידים להקצאה לחשבון השירות של Network Connectivity
כדי לוודא של-service-PROJECT_NUMBER@gcp-sa-networkconnectivity.iam.gserviceaccount.com יש את ההרשאות הנדרשות לניהול נקודות קצה של Private Service Connect שמאפשרות גישה לנקודות קצה אזוריות של Google APIs, צריך לבקש מהאדמין להקצות ל-service-PROJECT_NUMBER@gcp-sa-networkconnectivity.iam.gserviceaccount.com את תפקידי ה-IAM הבאים:service-PROJECT_NUMBER@gcp-sa-networkconnectivity.iam.gserviceaccount.com
-
כדי ליצור, להציג ולמחוק נקודות קצה שמשתמשות בכתובת IP של פרויקט מארח: Compute Network User (
roles/compute.networkUser) בפרויקט המארח
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקידים המוגדרים מראש מכילים את ההרשאות שנדרשות לניהול נקודות קצה של Private Service Connect שמאפשרות גישה לנקודות קצה אזוריות של Google APIs. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי לנהל נקודות קצה של Private Service Connect שדרכן ניגשים לנקודות קצה אזוריות של Google APIs, נדרשות ההרשאות הבאות:
-
כדי ליצור, להציג ולמחוק נקודות קצה שמשתמשות בכתובת IP של פרויקט מארח:
-
compute.networks.getבפרויקט המארח -
compute.networks.useבפרויקט המארח -
compute.subnetworks.getבפרויקט המארח -
compute.subnetworks.useבפרויקט המארח
-
יכול להיות שהאדמין יוכל גם להעניק לservice-PROJECT_NUMBER@gcp-sa-networkconnectivity.iam.gserviceaccount.com את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
לפני שמתחילים
התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
$ gcloud init
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
מפעילים את ממשקי ה-API Compute Engine, Network Connectivity Center ו-Cloud DNS.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידיםבנוסף, צריך להפעיל את ה-API עבור שירות היעד שאליו רוצים לגשת דרך נקודת הקצה של Private Service Connect. לדוגמה, אם רוצים לגשת אל
spanner.me-central2.rep.googleapis.com, צריך להפעיל את Cloud Spanner API. Private Service Connect לא מפעיל אף API באופן אוטומטי.מוודאים שכללי חומת האש של תעבורת נתונים יוצאת (egress) מאפשרים תעבורה לנקודת הקצה. תצורת חומת האש שמוגדרת כברירת מחדל לרשת VPC מאפשרת את התעבורה הזו כי היא מכילה כלל משתמע שמאפשר תעבורת נתונים יוצאת. מוודאים שלא יצרתם כלל של תעבורת נתונים יוצאת בעדיפות גבוהה יותר שחוסם את התעבורה.
יצירת נקודת קצה אזורית של Private Service Connect
אתם יכולים ליצור נקודת קצה אזורית של Private Service Connect כדי לשלוח בקשות לנקודת קצה אזורית של Google API יעד.
רשימה של נקודות קצה אזוריות נתמכות מופיעה במאמר נקודות קצה אזוריות של שירותים.
המסוף
נכנסים לדף Private Service Connect במסוף Google Cloud .
לוחצים על Connect endpoint.
בקטע יעד, בוחרים באפשרות Google API.
ברשימה Scope, בוחרים באפשרות Regional.
ברשימה Region, בוחרים את האזור שבו רוצים להשתמש.
ברשימה Target service, בוחרים את השירות שרוצים לגשת אליו.
בקטע Endpoint name, מזינים שם לנקודת הקצה.
בקטע רשת, בוחרים רשת.
בקטע רשת משנה, בוחרים רשת משנה.
בקטע כתובת IP, מבצעים אחת מהפעולות הבאות כדי להגדיר כתובת IP:
- בוחרים באפשרות Auto-allocate (הקצאה אוטומטית) כדי להקצות ולשמור באופן אוטומטי כתובת IP סטטית חדשה.
- בוחרים כתובת IP סטטית מהרשימה.
- לוחצים על Create IP address כדי לשמור כתובת IP סטטית חדשה.
אופציונלי: כדי להפוך את נקודת הקצה לזמינה מכל האזורים ברשת ה-VPC, בוחרים באפשרות הפעלת גישה גלובלית.
לוחצים על הוספת נקודת קצה.
gcloud
משתמשים בפקודה gcloud network-connectivity regional-endpoints create כדי ליצור את נקודת הקצה.
gcloud network-connectivity regional-endpoints create ENDPOINT_NAME \
--region=REGION \
--address=ADDRESS \
--network=projects/PROJECT_ID/global/networks/NETWORK_NAME \
--subnetwork=projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME \
--target-google-api=REP_DNS_NAME
אם רוצים שהנקודה תהיה זמינה למשאבים באזורים אחרים, מוסיפים את הדגל --enable-global-access.
מחליפים את מה שכתוב בשדות הבאים:
ENDPOINT_NAME: שם לנקודת הקצה.
REGION: האזור שבו רוצים ליצור את נקודת הקצה.
ADDRESS: כתובת IPv4 או IPv6 שרוצים להשתמש בה עבור נקודת הקצה. אם לא מציינים כתובת, מוקצית כתובת IPv4 מתת-הרשת. משתמשים באחד מהפורמטים הבאים:- כתובת IPv4 – לדוגמה,
10.0.0.2. - כתובת URI של משאב כתובת IPv4 או IPv6 – לדוגמה,
projects/PROJECT_ID/regions/REGION/addresses/ADDRESS_NAME.
- כתובת IPv4 – לדוגמה,
PROJECT_ID: הפרויקט שבו יוצרים את נקודת הקצה.
NETWORK_NAME: השם של רשת ה-VPC של נקודת הקצה.
SUBNET_NAME: תת-הרשת שאליה מחברים את נקודת הקצה.
REP_DNS_NAME: שם המארח של נקודת הקצה האזורית של השירות שאליו מתחברים. לדוגמה,spanner.me-central2.rep.googleapis.com.
API
משתמשים ב-method projects.locations.regionalEndpoints.create כדי ליצור את נקודת הקצה.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/regionalEndpoints?regionalEndpointId=ENDPOINT_NAME
{
"accessType": "REGIONAL",
"address": "ADDRESS",
"network": "projects/PROJECT_ID/global/networks/NETWORK_NAME",
"subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME",
"targetGoogleApi": "REP_DNS_NAME"
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט של נקודת הקצה. -
REGION: האזור שבו רוצים ליצור את נקודת הקצה. -
ENDPOINT_NAME: שם לנקודת הקצה. -
ADDRESS: כתובת IPv4 או IPv6 שרוצים להשתמש בה עבור נקודת הקצה. אם משמיטים את הפרמטר, מוקצית כתובת IPv4 מהרשת המשנית. אפשר להשתמש באחד מהפורמטים הבאים:- כתובת IPv4 – לדוגמה,
10.0.0.2. - כתובת URI של משאב כתובת IPv4 או IPv6 – לדוגמה,
projects/PROJECT_ID/regions/REGION/addresses/ADDRESS_NAME.
- כתובת IPv4 – לדוגמה,
-
NETWORK_NAME: השם של רשת ה-VPC של נקודת הקצה. -
SUBNET_NAME: השם של תת-הרשת שאליה רוצים לחבר את נקודת הקצה. -
REP_DNS_NAME: שם המארח של נקודת הקצה של השירות האזורי שאליו רוצים להתחבר. לדוגמה,spanner.me-central2.rep.googleapis.com.
יצירת נקודת קצה אזורית של Private Service Connect בפרויקט שירות של VPC משותף
אם אתם משתמשים ב-VPC משותף, אתם יכולים ליצור נקודת קצה בפרויקט שירות שמשתמשת בכתובת IP מרשת משנה בפרויקט מארח. אי אפשר להשתמש במסוף Google Cloud כדי ליצור את ההגדרה הזו – צריך להשתמש ב-CLI של gcloud או ב-API.
gcloud
כדי לשמור כתובת IP סטטית לשימוש בנקודת הקצה האזורית, משתמשים בפקודה
gcloud compute addresses create. השימוש בכתובת IP סטטית הוא אופציונלי ל-IPv4, וחובה ל-IPv6.יוצרים את משאב הכתובת בפרויקט השירות, ומציינים רשת משנה בפרויקט המארח.
gcloud compute addresses create ADDRESS_NAME \ --region=REGION \ --subnet=projects/HOST_PROJECT/regions/REGION/subnetworks/HOST_SUBNET \ --ip-version=IP_VERSION \ --project=SERVICE_PROJECTמחליפים את מה שכתוב בשדות הבאים:
-
ADDRESS_NAME: השם שרוצים להקצות לכתובת ה-IP השמורה. -
REGION: האזור של כתובת ה-IP של נקודת הקצה. זה חייב להיות אותו אזור שמכיל את קובץ השירות של יצרן השירות. -
HOST_PROJECT: מזהה הפרויקט המארח. -
HOST_SUBNET: השם של תת-הרשת של כתובת ה-IP של נקודת הקצה. -
IP_VERSION: גרסת ה-IP של כתובת ה-IP, שיכולה להיותIPV4אוIPV6. ברירת המחדל היאIPV4. כדי לציין אתIPV6, כתובת ה-IP צריכה להיות מחוברת לתת-רשת עם טווח כתובות IPv6 פנימיות. -
SERVICE_PROJECT: מזהה הפרויקט של פרויקט השירות
-
משתמשים בפקודה
gcloud network-connectivity regional-endpoints createכדי ליצור את נקודת הקצה האזורית בפרויקט השירות.gcloud network-connectivity regional-endpoints create ENDPOINT_NAME \ --region=REGION \ --address=ADDRESS \ --network=projects/HOST_PROJECT/global/networks/HOST_NETWORK \ --subnetwork=projects/HOST_PROJECT/regions/REGION/subnetworks/HOST_SUBNET \ --target-google-api=REP_DNS_NAME \ --project=SERVICE_PROJECTאם רוצים שהנקודה תהיה זמינה למשאבים באזורים אחרים, מוסיפים את הדגל
--enable-global-access.מחליפים את מה שכתוב בשדות הבאים:
ENDPOINT_NAME: שם לנקודת הקצה.
REGION: האזור שבו רוצים ליצור את נקודת הקצה.
ADDRESS: כתובת IPv4 או IPv6 שרוצים להשתמש בה עבור נקודת הקצה. אם לא מציינים כתובת, מוקצית כתובת IPv4 מתת-הרשת. משתמשים באחד מהפורמטים הבאים:- כתובת IPv4 – לדוגמה,
10.0.0.2. - כתובת IPv4 או IPv6 של משאב URI. משאב הכתובת צריך להיווצר בפרויקט השירות, ולא בפרויקט המארח. לדוגמה,
projects/SERVICE_PROJECT/regions/REGION/addresses/ADDRESS_NAME. -
HOST_PROJECT: המזהה של פרויקט המארח.
- כתובת IPv4 – לדוגמה,
HOST_NETWORK: השם של רשת ה-VPC בפרויקט המארח.
HOST_SUBNET: רשת המשנה בפרויקט המארח שאליה מחברים את נקודת הקצה.
REP_DNS_NAME: שם המארח של נקודת הקצה האזורית של השירות שאליו מתחברים. לדוגמה,spanner.me-central2.rep.googleapis.com.
SERVICE_PROJECT: מזהה הפרויקט של פרויקט השירות
API
שומרים כתובת IP סטטית לשימוש בנקודת הקצה האזורית. השימוש בכתובת IP סטטית הוא אופציונלי ל-IPv4, וחובה ל-IPv6.
יוצרים את משאב הכתובת בפרויקט השירות ומציינים רשת משנה בפרויקט המארח.
POST https://compute.googleapis.com/compute/v1/projects/SERVICE_PROJECT/regions/REGION/addresses
{ "name": "ADDRESS_NAME", "addressType": "INTERNAL", "subnetwork": "projects/HOST_PROJECT/regions/REGION/subnetworks/HOST_SUBNET", "ipVersion": "IP_VERSION" }מחליפים את מה שכתוב בשדות הבאים:
SERVICE_PROJECT: המזהה של פרויקט השירות.
REGION: האזור של נקודת הקצה. האזור הזה צריך להיות זהה לאזור של נקודת הקצה האזורית שאליה רוצים להתחבר.
ADDRESS_NAME: השם שיוקצה לכתובת ה-IP הסטטית.
HOST_PROJECT: המזהה של פרויקט המארח.
HOST_SUBNET: רשת המשנה ברשת ה-VPC המשותפת שממנה רוצים לשריין את כתובת ה-IP.
IP_VERSION: גרסת ה-IP של כתובת ה-IP, שיכולה להיותIPV4אוIPV6. ברירת המחדל היאIPV4. כדי לציין אתIPV6, כתובת ה-IP צריכה להיות מחוברת לתת-רשת עם טווח כתובות IPv6 פנימיות.
יוצרים את נקודת הקצה של Private Service Connect באמצעות השיטה
projects.locations.regionalEndpoints.create.ה-method של ה-HTTP וכתובת ה-URL:
POST https://networkconnectivity.googleapis.com/v1/projects/SERVICE_PROJECT/locations/REGION/regionalEndpoints?regionalEndpointId=ENDPOINT_NAME
{ "accessType": "REGIONAL", "address": "ADDRESS", "network": "projects/HOST_PROJECT/global/networks/HOST_NETWORK", "subnetwork": "projects/HOST_PROJECT/regions/REGION/subnetworks/HOST_SUBNET", "targetGoogleApi": "REP_DNS_NAME" }מחליפים את מה שכתוב בשדות הבאים:
-
SERVICE_PROJECT: המזהה של פרויקט השירות. -
REGION: האזור שבו רוצים ליצור את נקודת הקצה. -
ENDPOINT_NAME: שם לנקודת הקצה. -
ADDRESS: כתובת ה-IPv4 או ה-IPv6 שרוצים להשתמש בה לנקודת הקצה. אם לא מציינים כתובת, מוקצית כתובת IPv4 מרשת המשנה. אפשר להשתמש באחד מהפורמטים הבאים:- כתובת IPv4 – לדוגמה,
10.0.0.2. - כתובת URI של משאב כתובת IPv4 או IPv6 – לדוגמה,
projects/SERVICE_PROJECT/regions/REGION/addresses/ADDRESS_NAME.
- כתובת IPv4 – לדוגמה,
-
HOST_PROJECT: המזהה של פרויקט המארח. -
HOST_NETWORK: השם של הרשת בפרויקט המארח. -
HOST_SUBNET: השם של רשת המשנה בפרויקט המארח שאליה רוצים לחבר את נקודת הקצה. -
REP_DNS_NAME: שם המארח של נקודת הקצה האזורית של השירות שאליו רוצים להתחבר. לדוגמה,spanner.me-central2.rep.googleapis.com.
-
הצגת רשימה של נקודות קצה
אפשר לראות רשימה של כל נקודות הקצה שהוגדרו.
המסוף
נכנסים לדף Private Service Connect במסוף Google Cloud .
לוחצים על הכרטיסייה Connected endpoints (נקודות קצה מחוברות).
כל נקודות הקצה מוצגות, כולל נקודות קצה עם יעדים אזוריים.
gcloud
משתמשים בפקודה gcloud network-connectivity regional-endpoints list.
gcloud network-connectivity regional-endpoints list \
--region=REGION
מחליפים את REGION באזור של נקודות הקצה שרוצים להציג.
API
משתמשים בשיטה projects.locations.regionalEndpoints.list.
GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/regionalEndpoints
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט של נקודת הקצה. -
REGION: האזור של נקודות הקצה שרוצים להציג.
איך בודקים אם נקודת הקצה פועלת
יוצרים מכונה וירטואלית (VM) ברשת ה-VPC ובאזור שבהם מוגדרת נקודת הקצה. מריצים את הפקודה הבאה במכונת ה-VM כדי לוודא שנקודת הקצה של Private Service Connect פועלת. נקודות הקצה (endpoint) לא מגיבות לבקשות פינג (ICMP).
כדי לאמת נקודת קצה של IPv4:
curl --connect-to REP_DNS_NAME:443:ADDRESS:443 \ 'https://REP_DNS_NAME/PATH'
כדי לאמת נקודת קצה של IPv6:
curl -6 --connect-to REP_DNS_NAME:443:[ADDRESS]:443 \ 'https://REP_DNS_NAME/PATH'
מחליפים את מה שכתוב בשדות הבאים:
-
REP_DNS_NAME: שם ה-DNS הציבורי של נקודת הקצה האזורית של היעד – לדוגמה,spanner.me-central2.rep.googleapis.com. -
ADDRESS: כתובת ה-IP של נקודת הקצה. -
PATH: הנתיב למשאב שמסופק על ידי השירות הזה. לדוגמה, שירותים רבים מציעים מסמך Discovery עם הנתיב$discovery/rest?version=v1.
בדוגמה הבאה של בקשה נבדק אם נקודת קצה עם כתובת IP 192.168.1.100 יכולה לבקש את מסמך ה-Discovery של Cloud Spanner API מנקודת הקצה האזורית ב-me-central2.
curl --connect-to spanner.me-central2.rep.googleapis.com:443:192.168.1.100:443 \ 'https://spanner.me-central2.rep.googleapis.com/$discovery/rest?version=v1'
יצירת רשומת DNS פרטית לנקודת הקצה
צריך ליצור רשומות DNS פרטיות כדי שהלקוחות יוכלו להפנות בקשות לנקודת הקצה של Private Service Connect.
מומלץ ליצור אזור פרטי שמשתמש באותו שם מארח כמו נקודת הקצה האזורית של היעד:
SERVICE.REGION.rep.DOMAIN
ולצור רשומת apex באזור הזה.
לדוגמה, אם נקודת הקצה של Private Service Connect מכוונת ל-spanner.me-central2.rep.googleapis.com, צריך ליצור אזור פרטי ל-spanner.me-central2.rep.googleapis.com שמכיל רשומת apex ל-spanner.me-central2.rep.googleapis.com. יצירת רשומות ב-apex של הדומיין מאפשרת גישה לשם המארח הציבורי של נקודות קצה אזוריות אחרות – לדוגמה, logging.me-central2.rep.googleapis.com.
בקטעים הבאים מוסבר איך להשתמש ב-Cloud DNS כדי ליצור אזור פרטי ורשומת DNS של דומיין בסיס.
יצירת אזור פרטי
המסוף
במסוף Google Cloud , נכנסים לדף יצירת תחום DNS.
בקטע Zone type (סוג האזור), בוחרים באפשרות Private (פרטי).
בשדה Zone name, מזינים שם. לדוגמה, אם נקודת הקצה של Private Service Connect מצביעה על
spanner.me-central2.rep.googleapis.com, מזיניםspanner-me-central2-rep-googleapis-com.בשדה DNS name (שם DNS), מציינים את שם המארח של נקודת הקצה האזורית של היעד ואחריו נקודה. לדוגמה,
spanner.me-central2.rep.googleapis.com..אופציונלי: מוסיפים תיאור.
בקטע אפשרויות, בוחרים באפשרות ברירת מחדל (פרטי).
בוחרים את רשתות ה-VPC שבהן רוצים שהאזור הפרטי יהיה גלוי. רק רשתות ה-VPC שבוחרים מקבלות הרשאה לשלוח שאילתות לגבי רשומות באזור.
לוחצים על יצירה.
gcloud
מריצים את הפקודה dns managed-zones
create:
gcloud dns managed-zones create ZONE_NAME \
--dns-name=REP_DNS_NAME. \
--networks=VPC_NETWORK_LIST \
--visibility=private \
--description="Private zone for REP_DNS_NAME"
מחליפים את מה שכתוב בשדות הבאים:
-
ZONE_NAME: שם לאזור, לדוגמה,spanner-me-central2-rep-googleapis.com. -
DESCRIPTION: תיאור של האזור -
REP_DNS_NAME: סיומת ה-DNS של האזור. משתמשים בשם המארח של נקודת הקצה האזורית של היעד, לדוגמה:spanner.me-central2.rep.googleapis.com -
VPC_NETWORK_LIST: רשימה מופרדת בפסיקים של רשתות VPC שמורשות לשלוח שאילתות לאזור
API
שולחים בקשת POST באמצעות השיטה managedZones.create:
ה-method של ה-HTTP וכתובת ה-URL:
POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones
תוכן בקשת JSON:
{
"name": "ZONE_NAME",
"dnsName": "REP_DNS_NAME.",
"description": "DESCRIPTION",
"visibility": "private",
"privateVisibilityConfig": {
"kind": "dns#managedZonePrivateVisibilityConfig",
"networks": [
{
"kind": "dns#managedZonePrivateVisibilityConfigNetwork",
"networkUrl": "NETWORK_1_URL"
},
{
"kind": "dns#managedZonePrivateVisibilityConfigNetwork",
"networkUrl": "NETWORK_2_URL"
}
]
}
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט של תחום ה-DNS. -
ZONE_NAME: השם של האזור הפרטי שיצרתם עבור נקודת הקצה האזורית הזו. -
REP_DNS_NAME: שם הדומיין המוגדר במלואו (FQDN) של הרשומה שיוצרים. צריך להשתמש בשם המארח של נקודת הקצה האזורית של היעד, לדוגמה,spanner.me-central2.rep.googleapis.com. -
DESCRIPTION: תיאור של תחום ה-DNS. -
NETWORK_1_URLו-NETWORK_2_URL: כתובות ה-URL המלאות של רשתות ה-VPC שמורשות לשלוח שאילתות לאזור – לדוגמה,https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME.
הוספת רשומת DNS לאזור
המסוף
נכנסים לדף Cloud DNS zones במסוף Google Cloud .
לוחצים על השם של האזור המנוהל שרוצים להוסיף אליו את הרשומה.
בדף פרטי האזור, לוחצים על הוספת רשומה רגילה.
בדף יצירת סט רשומות, משאירים את השדה שם DNS ריק. אם משאירים את השדה ריק, נוצרת רשומת משאב בנקודת השיא של הדומיין.
בשדה Resource record type, בוחרים באפשרות
A.בשדה כתובת IPv4, מזינים או בוחרים את כתובת ה-IP של נקודת הקצה של Private Service Connect.
לוחצים על יצירה.
gcloud
כדי להוסיף קבוצה של רשומות משאבים, משתמשים בפקודה gcloud dns record-sets create:
gcloud dns record-sets create REP_DNS_NAME \
--rrdatas=ADDRESS \
--type=RECORD_TYPE \
--ttl=TTL \
--zone=ZONE_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
REP_DNS_NAME: שם הדומיין המוגדר במלואו (FQDN) של הרשומה שיוצרים. צריך להשתמש בשם המארח של נקודת הקצה האזורית של היעד, לדוגמה,spanner.me-central2.rep.googleapis.com. -
ADDRESS: כתובת ה-IP של נקודת הקצה של Private Service Connect. -
RECORD_TYPE: סוג רשומת ה-DNS, כמוAלרשומות IPv4 אוAAAAלרשומות IPv6. -
TTL: ה-TTL בשניות שבו מפענח ה-DNS שומר במטמון את קבוצת רשומות המשאבים הזו, לדוגמה300. -
ZONE_NAME: השם של האזור הפרטי שיצרתם עבור נקודת הקצה האזורית הזו.
API
כדי להוסיף קבוצה של רשומות משאבים, משתמשים ב-method resourceRecordSets.create:
ה-method של ה-HTTP וכתובת ה-URL:
POST https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/ZONE_NAME/rrsets
תוכן בקשת JSON:
{
"name": "REP_DNS_NAME.",
"type": "RECORD_TYPE",
"ttl": TTL,
"rrdatas": [ "ADDRESS" ]
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט של תחום ה-DNS. -
ZONE_NAME: השם של האזור הפרטי שיצרתם עבור נקודת הקצה האזורית הזו. -
REP_DNS_NAME: שם הדומיין המוגדר במלואו (FQDN) של הרשומה שיוצרים. צריך להשתמש בשם המארח של נקודת הקצה האזורית של היעד, לדוגמה,spanner.me-central2.rep.googleapis.com. -
RECORD_TYPE: סוג רשומת ה-DNS, כמוAלרשומות IPv4 אוAAAAלרשומות IPv6. -
TTL: ה-TTL בשניות שבו מפענח ה-DNS שומר במטמון את קבוצת רשומות המשאבים הזו, לדוגמה300. -
ADDRESS: כתובת ה-IP של נקודת הקצה של Private Service Connect.
הגדרת לקוחות לשימוש בשם של נקודת הקצה הפרטית
צריך להגדיר את הלקוחות כך שישתמשו בשמות ה-DNS הפרטיים במקום בשמות ה-DNS הציבוריים. במסמכי התיעוד של הלקוח או של ספריית הלקוח שלכם מוסבר איך להגדיר אותם לשימוש בנקודות קצה מותאמות אישית. בדפים הבאים מפורטים שלבי ההגדרה של כמה לקוחות נפוצים:
Python: אפשר להגדיר את
api_endpointבאפשרויות הלקוח.Go: אפשר להגדיר את
WithEndpointב-ClientOptions..NET: אפשר להגדיר את
Endpointבמחלקה של בונה הלקוח.Java: אפשר להגדיר את
setEndpointבכיתת ההגדרות של הלקוח.gcloud: אפשר להגדיר את
api_endpoint_overridesב- ה-CLI של gcloud.
קבלת מידע מפורט על נקודת קצה
אפשר לראות את פרטי ההגדרה של נקודת קצה.
gcloud
משתמשים בפקודה gcloud network-connectivity regional-endpoints describe.
gcloud network-connectivity regional-endpoints describe \
ENDPOINT_NAME --region=REGION
מחליפים את מה שכתוב בשדות הבאים:
-
ENDPOINT_NAME: השם של נקודת הקצה. -
REGION: האזור של נקודת הקצה.
API
משתמשים בפקודה projects.locations.regionalEndpoints.get.
GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/regionalEndpoints/ENDPOINT_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט של נקודת הקצה. -
REGION: האזור של נקודות הקצה שרוצים להציג. -
ENDPOINT_NAME: השם של נקודת הקצה.
עדכון ההגדרה של הגישה הגלובלית
אי אפשר לעדכן נקודת קצה מסוג Private Service Connect שיש לה יעד של נקודת קצה אזורית. אם אתם צריכים לשנות את הגדרת הגישה הגלובלית לנקודת הקצה, מחקתם את נקודת הקצה ויצרתם נקודת קצה חדשה עם הגדרת הגישה הגלובלית הנדרשת.
מחיקת נקודת קצה
אפשר למחוק נקודת קצה.
gcloud
משתמשים בפקודה gcloud network-connectivity regional-endpoints delete.
gcloud network-connectivity regional-endpoints delete \
ENDPOINT_NAME --region=REGION
מחליפים את מה שכתוב בשדות הבאים:
-
ENDPOINT_NAME: השם של נקודת הקצה. -
REGION: האזור של נקודת הקצה.
API
משתמשים בפקודה projects.location.regionalEndpoints.delete.
DELETE https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/regionalEndpoints/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 הפרטיים באמצעות Cloud DNS, צריך לבצע את השלבים הבאים:
יוצרים מדיניות שרת נכנסת ברשת ה-VPC שאליה מחוברת הרשת השנייה.
מזהים את נקודות הכניסה של מעביר התנועה הנכנסת באזור שבו נמצא חיבור ה-VLAN או מנהרת Cloud VPN, ברשת ה-VPC שאליה מחוברת הרשת השנייה.
מגדירים את המערכות ואת שרתי השמות של DNS ברשת השנייה להעברת שמות ה-DNS של נקודת הקצה לנקודת כניסה של מעביר נתונים נכנס באותו אזור כמו חיבור ה-VLAN או מנהרת Cloud VPN שמחברים לרשת ה-VPC.