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

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

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

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

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

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

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

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

  • ליצור, להציג ולמחוק נקודות קצה: אדמין של רשת Compute (roles/compute.networkAdmin) בפרויקט
  • הגדרת רשומות DNS לנקודת קצה: אדמין DNS (roles/dns.admin) בפרויקט

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

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

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

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

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

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

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

  • יצירה, צפייה ומחיקה של נקודות קצה שמשתמשות בכתובת IP של פרויקט מארח:

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

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

  • כדי ליצור, להציג ולמחוק נקודות קצה שמשתמשות בכתובת 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, צריך את ההרשאה serviceusage.services.enable. אם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד 'בעלים' (roles/owner). אחרת, תוכלו לקבל את ההרשאה הזו דרך התפקיד 'אדמין בממשק 'שימוש בשירות'' (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

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

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

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

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

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

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

המסוף

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

    מעבר אל Private Service Connect

  2. לוחצים על Connect endpoint (קישור נקודת קצה).

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

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

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

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

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

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

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

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

    • בוחרים באפשרות הקצאה אוטומטית כדי להקצות ולשמור באופן אוטומטי כתובת 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 או /96 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 (אזורי) או storage.us.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 או /96 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 (אזורי) או storage.us.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 או /96 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 (אזורי) או storage.us.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 או /96 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 (אזורי) או storage.us.rep.googleapis.com (במספר אזורים).

איך רואים את רשימת נקודות הקצה

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

המסוף

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

    מעבר אל Private Service Connect

  2. לוחצים על הכרטיסייה נקודות קצה מחוברות.

    כל נקודות הקצה מוצגות, כולל נקודות קצה עם יעדי נקודות קצה אזוריים.

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 ובאזור שבהם מוגדרת נקודת הקצה. מריצים את הפקודה הבאה במכונה הווירטואלית כדי לוודא שנקודת הקצה של Private Service Connect פועלת. נקודות הקצה (endpoints) לא מגיבות לבקשות פינג (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 או storage.us.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.

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

  • אם נקודת הקצה של Private Service Connect מכוונת אל spanner.me-central2.rep.googleapis.com, צריך ליצור אזור פרטי עבור spanner.me-central2.rep.googleapis.com שמכיל רשומה ראשית עבור spanner.me-central2.rep.googleapis.com.
  • אם נקודת הקצה של Private Service Connect מטרגטת את storage.us.rep.googleapis.com, צריך ליצור אזור פרטי ל-storage.us.rep.googleapis.com שמכיל רשומת apex ל-storage.us.rep.googleapis.com.

יצירת רשומות בנקודת השיא של הדומיין מאפשרת לכם לגשת לשם המארח הציבורי של נקודות קצה אחרות – לדוגמה, logging.me-central2.rep.googleapis.com.

בקטעים הבאים מוסבר איך להשתמש ב-Cloud DNS כדי ליצור אזור פרטי ורשומת DNS של תחום בסיס.

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

המסוף

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

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

  2. בשדה Zone type, בוחרים באפשרות Private.

  3. בשדה שם האזור, מזינים שם. לדוגמה, אם נקודת הקצה (endpoint) של Private Service Connect מפנה אל spanner.me-central2.rep.googleapis.com, מזינים spanner-me-central2-rep-googleapis-com.

  4. בשם 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. בדף Create record set (יצירת קבוצת רשומות), משאירים את השדה DNS name (שם DNS) ריק. אם משאירים את השדה ריק, נוצרת רשומת משאבים ב-apex של הדומיין.

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

  6. בשדה IPv4 address, מזינים או בוחרים את כתובת ה-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

כדי להוסיף קבוצת רשומות של משאב, משתמשים ב-resourceRecordSets.create method:

ה-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) בשניות שבו המפענח שומר במטמון את קבוצת רשומות המשאבים הזו, לדוגמה 300.
  • ‫ADDRESS: כתובת ה-IP של נקודת הקצה של Private Service Connect.

הגדרת לקוחות לשימוש בשם של נקודת הקצה הפרטית

צריך להגדיר את הלקוחות כך שישתמשו בשמות ה-DNS הפרטיים במקום בשמות ה-DNS הציבוריים. במסמכי התיעוד של הלקוח או של ספריית הלקוח מוסבר איך להגדיר אותם לשימוש בנקודות קצה בהתאמה אישית. בדפים הבאים מפורטים שלבי ההגדרה של כמה לקוחות נפוצים:

  • ‫Python: אפשר להגדיר את api_endpoint ב-Client options.

  • Go: אפשר להגדיר את WithEndpoint ב-ClientOptions.

  • ‫‎.NET: אפשר להגדיר את Endpoint במחלקת ה-builder של הלקוח.

  • ‫Java: אפשר להגדיר את setEndpoint בכיתת ההגדרות של הלקוח.

  • ‫gcloud: אפשר להגדיר את api_endpoint_overrides ב- ה-CLI של gcloud.

איך מקבלים מידע מפורט על נקודת קצה (endpoint)

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

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

מחיקה של נקודת קצה (endpoint)

אפשר למחוק נקודת קצה.

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 גרסה 2.

צריך להגדיר את המערכות ברשת השנייה כך שהן יוכלו לשלוח שאילתות לאזורי שרת ה-DNS הפרטיים.

אם הטמעתם את תחומי ה-DNS הפרטיים באמצעות Cloud DNS, בצעו את השלבים הבאים: