גישה לממשקי Google APIs אזוריים דרך נקודות קצה

במאמר הזה מוסבר איך להשתמש בנקודות קצה (endpoints) של Private Service Connect כדי להתחבר לנקודות קצה אזוריות של ממשקי Google APIs נתמכים.

מידע על הגדרות אחרות של Private Service Connect זמין במאמר Private Service Connect.

התפקידים הנדרשים

אם אתם יוצרים את נקודת הקצה באותו פרויקט שבו נמצאת רשת המשנה שאליה אתם מחברים אותה, כדאי לעיין במאמר תפקידים נדרשים בפרויקט.

אם אתם משתמשים ב-VPC משותף ויוצרים את נקודת הקצה בפרויקט שירות ומקשרים אותה לתת-רשת בפרויקט המארח, אתם צריכים את התפקידים הבאים:

התפקידים הנדרשים בפרויקט

כדי לקבל את ההרשאות שדרושות לניהול נקודות קצה של Private Service Connect שמאפשרות גישה לנקודות קצה אזוריות, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:

להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.

תפקידים נוספים שנדרשים להגדרות של VPC משותף

אם אתם יוצרים נקודת קצה בפרויקט שירות שמשתמש בכתובת IP מרשת משנה של פרויקט מארח, אתם צריכים את ההרשאות הבאות בנוסף לתפקידים בפרויקט (פרויקט השירות).

לכם ולחשבון של Network Connectivity Service צריכות להיות הרשאות בפרויקט המארח.

תפקידים להקצאה לחשבון המשתמש

כדי לקבל את ההרשאות שדרושות לניהול נקודות קצה של Private Service Connect שמאפשרות גישה לנקודות קצה אזוריות של Google APIs, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:

להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

התפקידים המוגדרים מראש מכילים את ההרשאות שנדרשות לניהול נקודות קצה של 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 את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.

לפני שמתחילים

  1. התקינו את ה-CLI של Google Cloud. אחר כך, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:

    $ gcloud init

    אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.

  2. מפעילים את ממשקי ה-API‏ Compute Engine,‏ Network Connectivity Center ו-Cloud DNS.

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאה serviceusage.services.enable. איך מקצים תפקידים

    הפעלת ממשקי ה-API

  3. בנוסף, צריך להפעיל את ה-API עבור שירות היעד שאליו רוצים לגשת דרך נקודת הקצה של Private Service Connect. לדוגמה, אם רוצים לגשת אל spanner.me-central2.rep.googleapis.com, צריך להפעיל את Cloud Spanner API. ‫Private Service Connect לא מפעיל אף API באופן אוטומטי.

  4. מוודאים שכללי חומת האש של תעבורת נתונים יוצאת (egress) מאפשרים תעבורה לנקודת הקצה. תצורת חומת האש שמוגדרת כברירת מחדל לרשת VPC מאפשרת את התעבורה הזו כי היא מכילה כלל משתמע שמאפשר תעבורת נתונים יוצאת. מוודאים שלא יצרתם כלל של תעבורת נתונים יוצאת בעדיפות גבוהה יותר שחוסם את התעבורה.

יצירת נקודת קצה אזורית של Private Service Connect

אתם יכולים ליצור נקודת קצה אזורית של Private Service Connect כדי לשלוח בקשות לנקודת קצה אזורית של Google API יעד.

רשימה של נקודות קצה אזוריות נתמכות מופיעה במאמר נקודות קצה אזוריות של שירותים.

המסוף

  1. נכנסים לדף Private Service Connect במסוף Google Cloud .

    כניסה אל Private Service Connect

  2. לוחצים על Connect endpoint.

  3. בקטע יעד, בוחרים באפשרות Google API.

  4. ברשימה Scope, בוחרים באפשרות Regional.

  5. ברשימה Region, בוחרים את האזור שבו רוצים להשתמש.

  6. ברשימה Target service, בוחרים את השירות שרוצים לגשת אליו.

  7. בקטע Endpoint name, מזינים שם לנקודת הקצה.

  8. בקטע רשת, בוחרים רשת.

  9. בקטע רשת משנה, בוחרים רשת משנה.

  10. בקטע כתובת IP, מבצעים אחת מהפעולות הבאות כדי להגדיר כתובת IP:

    • בוחרים באפשרות Auto-allocate (הקצאה אוטומטית) כדי להקצות ולשמור באופן אוטומטי כתובת IP סטטית חדשה.
    • בוחרים כתובת IP סטטית מהרשימה.
    • לוחצים על Create IP address כדי לשמור כתובת IP סטטית חדשה.
  11. אופציונלי: כדי להפוך את נקודת הקצה לזמינה מכל האזורים ברשת ה-VPC, בוחרים באפשרות הפעלת גישה גלובלית.

  12. לוחצים על הוספת נקודת קצה.

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.
  • 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.
  • 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

  1. כדי לשמור כתובת 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: מזהה הפרויקט של פרויקט השירות
  2. משתמשים בפקודה 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: המזהה של פרויקט המארח.
    • HOST_NETWORK: השם של רשת ה-VPC בפרויקט המארח.

    • HOST_SUBNET: רשת המשנה בפרויקט המארח שאליה מחברים את נקודת הקצה.

    • REP_DNS_NAME: שם המארח של נקודת הקצה האזורית של השירות שאליו מתחברים. לדוגמה, spanner.me-central2.rep.googleapis.com.

    • SERVICE_PROJECT: מזהה הפרויקט של פרויקט השירות

API

  1. שומרים כתובת 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 פנימיות.

  2. יוצרים את נקודת הקצה של 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.
    • HOST_PROJECT: המזהה של פרויקט המארח.
    • HOST_NETWORK: השם של הרשת בפרויקט המארח.
    • HOST_SUBNET: השם של רשת המשנה בפרויקט המארח שאליה רוצים לחבר את נקודת הקצה.
    • REP_DNS_NAME: שם המארח של נקודת הקצה האזורית של השירות שאליו רוצים להתחבר. לדוגמה, spanner.me-central2.rep.googleapis.com.

הצגת רשימה של נקודות קצה

אפשר לראות רשימה של כל נקודות הקצה שהוגדרו.

המסוף

  1. נכנסים לדף Private Service Connect במסוף Google Cloud .

    כניסה אל Private Service Connect

  2. לוחצים על הכרטיסייה 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 של דומיין בסיס.

יצירת אזור פרטי

המסוף

  1. במסוף Google Cloud , נכנסים לדף יצירת תחום DNS.

    מעבר אל יצירת תחום DNS

  2. בקטע Zone type (סוג האזור), בוחרים באפשרות Private (פרטי).

  3. בשדה Zone name, מזינים שם. לדוגמה, אם נקודת הקצה של Private Service Connect מצביעה על spanner.me-central2.rep.googleapis.com, מזינים spanner-me-central2-rep-googleapis-com.

  4. בשדה DNS name (שם DNS), מציינים את שם המארח של נקודת הקצה האזורית של היעד ואחריו נקודה. לדוגמה, spanner.me-central2.rep.googleapis.com..

  5. אופציונלי: מוסיפים תיאור.

  6. בקטע אפשרויות, בוחרים באפשרות ברירת מחדל (פרטי).

  7. בוחרים את רשתות ה-VPC שבהן רוצים שהאזור הפרטי יהיה גלוי. רק רשתות ה-VPC שבוחרים מקבלות הרשאה לשלוח שאילתות לגבי רשומות באזור.

  8. לוחצים על יצירה.

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 לאזור

המסוף

  1. נכנסים לדף Cloud DNS zones במסוף Google Cloud .

    מעבר לאזורים ב-Cloud DNS

  2. לוחצים על השם של האזור המנוהל שרוצים להוסיף אליו את הרשומה.

  3. בדף פרטי האזור, לוחצים על הוספת רשומה רגילה.

  4. בדף יצירת סט רשומות, משאירים את השדה שם DNS ריק. אם משאירים את השדה ריק, נוצרת רשומת משאב בנקודת השיא של הדומיין.

  5. בשדה Resource record type, בוחרים באפשרות A.

  6. בשדה כתובת IPv4, מזינים או בוחרים את כתובת ה-IP של נקודת הקצה של Private Service Connect.

  7. לוחצים על יצירה.

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, צריך לבצע את השלבים הבאים: