גישה לשירותים שפורסמו דרך נקודות קצה

במאמר הזה מוסבר איך לגשת לשירותים ברשת 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 משותף:
  • הגדרת רשומות DNS אוטומטית או ידנית לנקודת קצה בפרויקט:
  • הגדרה אוטומטית או ידנית של רשומות DNS לנקודת קצה בפרויקט שירות של VPC משותף:

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

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

ההרשאות הנדרשות

כדי לגשת לשירותים שפורסמו דרך נקודות קצה, נדרשות ההרשאות הבאות:

  • כדי ליצור, להציג ולמחוק נקודות קצה בפרויקט:
    • 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.

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

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

המסוף

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

    מעבר אל Private Service Connect

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

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

  4. בקטע יעד, בוחרים באפשרות שירות שפורסם.

  5. בשדה Target service (שירות יעד), מזינים את מזהה המשאבים האחיד (URI) של קובץ השירות שאליו רוצים להתחבר.

    ה-URI של קובץ השירות המצורף הוא בפורמט הבא: projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME

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

  7. בוחרים רשת לנקודת הקצה.

  8. בוחרים רשת משנה לנקודת הקצה.

  9. בוחרים כתובת IP לנקודת הקצה. אם אתם צריכים כתובת IP חדשה, אתם יכולים ליצור אחת:

    1. לוחצים על התפריט הנפתח כתובת IP ובוחרים באפשרות יצירת כתובת IP.
    2. מזינים שם ותיאור (אופציונלי) לכתובת ה-IP.
    3. בוחרים גרסת IP.
    4. אם אתם יוצרים כתובת IPv4, בוחרים באפשרות הקצאה אוטומטית או באפשרות אני רוצה לבחור.

      אם בחרתם באפשרות אני רוצה לבחור, מזינים את כתובת ה-IP המותאמת אישית שבה רוצים להשתמש.

    5. לוחצים על Reserve.

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

  11. בוחרים מרחב שמות מהרשימה הנפתחת או יוצרים מרחב שמות חדש.

    האזור מאוכלס על סמך רשת המשנה שנבחרה.

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

gcloud

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

  2. מוצאים את כתובת ה-IP השמורה.

    gcloud compute addresses list --filter="name=ADDRESS_NAME"
    
  3. יוצרים כלל העברה כדי לחבר את נקודת הקצה לחיבור השירות של בעלי השירות המנוהל. כברירת מחדל, נקודות קצה זמינות רק מהאזור שלהן. כדי להפוך נקודת קצה לזמינה מכל אזור, משתמשים בדגל --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_NAME

    • PROJECT_ID: מזהה הפרויקט.

    • NAMESPACE: מרחב השמות של Service Directory שבו רוצים להשתמש. אם מציינים מרחב שמות שלא קיים, המרחב נוצר.

      אם לא מציינים את הדגל --service-directory-registration, נעשה שימוש במרחב השמות שמוגדר כברירת מחדל goog-psc-default.

API

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

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

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

    כתובת ה-IP צריכה להיות באותו אזור כמו קובץ השירות של יצרן השירות.

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

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

      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

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

    כתובת ה-IP צריכה להיות באותו אזור כמו קובץ השירות של יצרן השירות.

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

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

      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 של נקודת הקצה.

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

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

המסוף

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

    מעבר אל Private Service Connect

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

המסוף

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

    מעבר אל Private Service Connect

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

  3. לוחצים על נקודת הקצה שרוצים לראות.

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, צריך לוודא שמרחב השמות ריק.

המסוף

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

    מעבר אל Private Service Connect

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

  3. בוחרים את נקודת הקצה שרוצים למחוק ולוחצים על מחיקה.

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

צפייה באזורי DNS של Service Directory

אם מתקיימים התנאים המוקדמים להגדרה אוטומטית של DNS, נוצר תחום DNS עם שם בפורמט NAMESPACE--REGION.

המסוף

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

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

  2. מחפשים אזור פרטי בשם NAMESPACE--REGION.

gcloud

  • כדי להציג את כל אזורי ה-DNS הפרטיים, מריצים את הפקודה הבאה:

    gcloud dns managed-zones list \
        --filter="visibility=private"
    
  • מריצים את הפקודה הבאה כדי לקבל פרטים על אזור עם השם NAMESPACE--REGION.

    gcloud dns managed-zones describe NAMESPACE--REGION
    

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

דרכים אחרות להגדרת DNS

אם לא מתקיימים התנאים המוקדמים להגדרה אוטומטית של 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.

  1. יוצרים מרחב שמות של Service Directory לנקודת הקצה, NAMESPACE.

  2. יוצרים שירות Service Directory לנקודת הקצה, SERVICE_NAME.

    בשדה 'שירות', משתמשים באותו שם של כלל ההעברה שמשמש לנקודת הקצה, ENDPOINT_NAME.

  3. יוצרים נקודת קצה של 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:

  1. מוודאים ש-Cloud DNS API מופעל בפרויקט.

  2. מוודאים שיש לכם את ההרשאות הנדרשות ליצירת תחום DNS של Service Directory:

    • dns.managedZones.create
    • dns.networks.bindPrivateDNSZone
    • servicedirectory.namespaces.associatePrivateZone
  3. אם יש אזור מתנגש, אבל הוא כבר לא נחוץ, מוחקים את אזור ה-DNS.

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