תבניות של רשתות שיוצאות דרומה

הדף הזה מתייחס ל-Apigee, אבל לא ל-Apigee Hybrid.

לעיון במסמכי התיעוד של Apigee Edge

במאמר הזה מוסבר איך להשתמש ב-Private Service Connect כדי ליצור חיבור פרטי בין Apigee לבין שירותי יעד בקצה העורפי. שימו לב שתעבורה של proxy ל-API שזורמת בין Apigee לבין שירות יעד בקצה העורפי נקראת תעבורה 'דרומית'.

השלבים להגדרת רשתות דרומיות שמתוארים במסמך הזה רלוונטיים למופעי Apigee שמקושרים ל-VPC ושלא מקושרים ל-VPC.

חיבור פרטי של Apigee ליעדי בק-אנד

כדי לחבר את Apigee באופן פרטי ליעד בקצה העורפי, צריך ליצור שני ישויות: service attachment ברשת ה-VPC שבה היעד פרוס, ו-endpoint attachment ב-Apigee VPC. שני הישויות האלה מאפשרות ל-Apigee להתחבר לשירות היעד.

איור 1 מציג את ארכיטקטורת הרשת של Apigee שתומכת בגישה גלובלית לחיבורים דרומיים (southbound) במספר אזורים באמצעות Private Service Connect:

איור 1: ארכיטקטורת רשת דרומית ב-Apigee.

מגבלות

בארגון Apigee, מותר להשתמש בחיבור נקודת קצה אחד לחיבור שירות נתון. לדוגמה, נניח שיש לכם 10 קבצים מצורפים של שירותים שחושפים שירותי יעד. אתם יכולים ליצור 10 קבצים מצורפים של נקודות קצה בארגון Apigee, אחד לכל קובץ מצורף של שירות.

דוגמה: חשיפת שירות יעד ל-Apigee באמצעות Private Service Connect

בדוגמה הזו מוסבר איך להשתמש ב-Private Service Connect כדי לאפשר ל-Apigee לתקשר עם שירות יעד שפועל ברשת VPC שלא מקושרת ישירות ל-Apigee. השלבים בדוגמה הזו משתמשים ב-gcloud ובקריאות ל-Apigee API כדי להגדיר ולתת תצורה לחיבור שירות ברשת ה-VPC שבה היעד פרוס, ולחיבור נקודת קצה ב-Apigee VPC.

דוגמה לתרחיש

בדוגמה הזו נתייחס למקרה שבו יש לכם שרת אינטרנט של Apache שפרוס בקבוצת מופעי מכונה מנוהלים (MIG) שפועלת ב-VPC. כדי לתקשר עם Apigee בהקשר הזה, אנחנו חושפים את השירותים דרך שער Ingress.

הגדרת מאזן עומסים

מגדירים מאזן עומסים ב-VPC שבו נמצאים המיקרו-שירותים שרוצים לחשוף:

  1. יוצרים את משתני הסביבה הבאים:
    export PROJECT_ID=YOUR_PROJECT_ID
    export IMAGE_PROJECT=debian-cloud
    export IMAGE_FAMILY=debian-12
    export BACKEND=foo
    export REGION=us-west1
    export ZONE=us-west1-a
    export NETWORK=default
    export SUBNET_NAME=default
  2. יוצרים תבנית של הגדרות מכונה:
    gcloud compute instance-templates create "$BACKEND" \
        --tags=psc-demo,http-server,https-server \
        --image-family "$IMAGE_FAMILY" --image-project "$IMAGE_PROJECT" \
        --network "$NETWORK" --subnet "$SUBNET_NAME" --region "$REGION" \
        --project "$PROJECT_ID" \
        --metadata startup-script="#! /bin/bash
        sudo apt-get update
        sudo apt-get install apache2 -y
        sudo service apache2 restart
        echo '<!doctype html><html><body><h1>foo[/]: '\`/bin/hostname\`'</h1></body></html>' | sudo tee /var/www/html/index.html
        sudo mkdir /var/www/html/foo
        echo '<!doctype html><html><body><h1>foo[/foo]: '\`/bin/hostname\`'</h1></body></html>' | sudo tee /var/www/html/foo/index.html"
  3. יוצרים קבוצת מופעי מכונה מנוהלים:
    gcloud compute instance-groups managed create $BACKEND \
        --project $PROJECT_ID --base-instance-name $BACKEND \
        --size 1 --template $BACKEND --region $REGION
  4. יוצרים בדיקת תקינות:
    gcloud compute instance-groups managed set-named-ports $BACKEND \
        --project $PROJECT_ID --region $REGION --named-ports http:80
    gcloud compute health-checks create tcp hc-tcp-$BACKEND \
      --region=$REGION \
      --description="health check for psc backend" \
      --port-name=http --project=$PROJECT_ID
  5. יוצרים מאזן עומסים:
    1. יוצרים שירות קצה עורפי:
      gcloud compute backend-services create be-ilb \
          --load-balancing-scheme=internal \
          --protocol=tcp \
          --region=$REGION \
          --network=$NETWORK \
          --health-checks=hc-tcp-$BACKEND \
          --health-checks-region=$REGION \
          --project=$PROJECT_ID
    2. מוסיפים את קבוצת מופעי המכונה המנוהלים לשירות לקצה העורפי:
      gcloud compute backend-services add-backend be-ilb \
          --region=$REGION \
          --instance-group=$BACKEND \
          --instance-group-zone=$ZONE \
          --project=$PROJECT_ID
      
    3. יוצרים כלל העברה:
      gcloud compute forwarding-rules create fr-ilb \
          --region=$REGION \
          --load-balancing-scheme=internal \
          --network=$NETWORK \
          --subnet=$SUBNET_NAME \
          --ip-protocol=TCP \
          --ports=80 \
          --backend-service=be-ilb \
          --backend-service-region=$REGION \
          --project=$PROJECT_ID

יצירת קובץ מצורף של שירות

יוצרים קובץ מצורף של שירות Private Service Connect ברשת ה-VPC שבה פרוסים שירותי היעד.

  1. כדי לבצע את המשימה הזו, אתם צריכים את ההרשאה compute.subnetworks.create או את תפקיד ה-IAM‏ Compute Network Admin ‏ (roles/compute.networkAdmin).
  2. יוצרים תת-רשת של Private Service Connect עם הפרמטר purpose שמוגדר לערך PRIVATE_SERVICE_CONNECT:
    gcloud compute networks subnets create Private Service Connect_SUBNET_NAME \
      --network NETWORK --region=REGION --purpose=PRIVATE_SERVICE_CONNECT --range=RANGE
    gcloud compute --project=$PROJECT_ID firewall-rules create allow-psc-nat-80 \
      --direction=INGRESS --priority=1000 --network NETWORK --action=ALLOW --rules=tcp:80 \
      --source-ranges=RANGE --target-tags=psc-demo

    תיאור מפורט של פרמטרי הפקודה מופיע במאמרי העזרה של Google Cloud CLI. אפשר לבצע את השלב הזה גם במסוף או באמצעות API.

    לדוגמה:

    gcloud compute networks subnets create psc-subnet --network default \
    --region=us-west1 --purpose=PRIVATE_SERVICE_CONNECT --range=10.100.0.0/28
  3. יוצרים חיבור שירות ברשת ה-VPC:
    1. מקבלים את כלל ההעברה של מאזן העומסים הפנימי. תשתמשו בכלל הזה בשלב מאוחר יותר:
      gcloud compute forwarding-rules list --project=PROJECT_ID

      כאשר PROJECT_ID הוא מזהה פרויקט בענן של Google. לדוגמה:

      פלט לדוגמה:

      NAME                                                  REGION    IP_ADDRESS    IP_PROTOCOL  TARGET
      k8s2-tcp-e61tta3j-apps-istio-ingressgateway-0kl92frk  us-west1  10.138.0.53   TCP
      
    2. יוצרים את קובץ השירות המצורף:
      gcloud compute service-attachments create PSC_NAME \
          --region=REGION --producer-forwarding-rule=PRODUCER_FORWARDING_RULE \
          --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=PSC_SUBNET_NAME --project=PROJECT_ID

      הפרמטר PSC_NAME צריך להיות מחרוזת באורך של 1 עד 63 תווים, שכוללת רק אותיות קטנות, מספרים ומקפים. הוא לא יכול להתחיל במספרים או במקפים. בנוסף, לא יכולים להיות מקפים בסוף השם. תיאור מפורט של הפרמטרים של הפקודה הזו מופיע במדריך העזר ל-Google Cloud CLI.

      לדוגמה:

      gcloud compute service-attachments create gkebackend \
          --region=us-west1 --producer-forwarding-rule=k8s2-tcp-e62tta1j-apps-istio-ingressgateway-0kl92frk \
          --connection-preference=ACCEPT_AUTOMATIC --nat-subnets=psc-subnet --project=my-project

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

יצירת צירוף של נקודת קצה

יוצרים קובץ מצורף של נקודת קצה בארגון Apigee. אפשר לבצע את השלב הזה משורת הפקודה או מממשק המשתמש של Apigee Endpoint attachment.

דרישה מוקדמת: לפני שיוצרים קובץ מצורף של נקודת קצה, צריך לפרסם את השירותים שרוצים לחשוף באמצעות Private Service Connect ‏ (PSC). לשם כך, יוצרים מאזן עומסים וקובץ מצורף של שירות, כמו שמוסבר קודם בדוגמה הזו. מידע נוסף על חשיפת שירותים באמצעות Private Service Connect זמין במאמר פרסום שירותים מנוהלים באמצעות Private Service Connect. שימו לב שצריך להגדיר את קובץ ה-Service Attachment כך שיאשר חיבורים חדשים.

שורת הפקודה

יוצרים קובץ מצורף של נקודת קצה ב-Apigee VPC משורת הפקודה:

  1. מאחזרים את משאב קובץ השירות המצורף:
    gcloud compute service-attachments list

    הפקודה מחזירה את פרטי קובץ השירות. תשתמשו במידע הזה בשלב הבא. לדוגמה:

    NAME       REGION   TARGET_SERVICE                                       CONNECTION_PREFERENCE
    gkebackend us-west1 k8s2-tcp-tgysilgj-apps-istio-ingressgateway-fzdhwstg ACCEPT_AUTOMATIC
  2. מקבלים את טוקן האימות עבור Apigee API:
    TOKEN="$(gcloud auth print-access-token)"
  3. משתמשים ב-Apigee API כדי ליצור את קובץ ה-endpoint. משתמשים בערכים שמוחזרים מהפקודה gcloud compute service-attachments list בגוף הבקשה:
    curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type:application/json" \
    "https://apigee.googleapis.com/v1/organizations/ORGANIZATION/endpointAttachments?endpointAttachmentId=EA_NAME" \
    -d '{
        "location": "REGION",
        "serviceAttachment": "projects/PROJECT_ID/regions/REGION/serviceAttachments/SA_NAME"
    }'

    כאשר:

    • REGION הוא האזור של קובץ השירות המצורף. לדוגמה: us-west1
    • ORGANIZATION הוא שם הארגון שלכם ב-Apigee.
    • PROJECT_ID הוא פרויקט בענן של Google שבו נוצר קובץ השירות.
    • EA_NAME הוא השם של קובץ ה-endpoint. השם חייב להיות ייחודי. לא יכולות להיות נקודות קצה אחרות עם אותו שם, ואי אפשר לשנות את השם מאוחר יותר. השם חייב להתחיל באות קטנה באנגלית, ואחריה יכולות להיות עד 31 אותיות קטנות, מספרים או מקפים, אבל הוא לא יכול להסתיים במקף. האורך המינימלי הוא 2.
    • SA_NAME הוא השם של קובץ השירות המצורף.

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

    {
      "name": "organizations/my-organization/operations/6e249895-e78e-48f0-a28f-7140e15e1676",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.apigee.v1.OperationMetadata",
        "operationType": "INSERT",
        "targetResourceName": "organizations/my-organization/endpointAttachments/gkebackend",
        "state": "FINISHED"
      },
      "done": true,
      "response": {
        "@type": "type.googleapis.com/google.cloud.apigee.v1.EndpointAttachment",
        "name": "organizations/my-organization/endpointAttachments/gkebackend",
        "location": "us-west1",
        "host": "7.0.3.4",
        "serviceAttachment": "projects/my-project/regions/us-west1/serviceAttachments/gkebackend"
      }
    }
  4. כדי לבדוק אם נקודת הקצה החדשה פעילה:
    curl -X GET -H "Authorization: Bearer $TOKEN" \
    "https://apigee.googleapis.com/v1/organizations/ORGANIZATION/endpointAttachments/EA_NAME"

    חפשו את "state": "ACTIVE" בתגובה.

    כדי להתחבר לשירותים שמאחורי קובץ השירות, אפשר להשתמש בכתובת ה-IP שהוחזרה בתגובה (בשדה host), או ברשומת DNS שיצרתם באזור ה-DNS הפרטי. מידע נוסף מופיע בסעיפים הבאים.

  5. שימוש בכתובת ה-IP

    אפשר להשתמש בכתובת ה-IP‏ 7.0.3.4 שמוחזרת בתשובה כדי להתחבר לשירותים שמאחורי קובץ השירות, כמו שמוצג בשלב הבא. שימו לב ש-7.0.3.4 היא כתובת IP ציבורית לשימוש פרטי (PUPI) שהוקצתה על ידי Apigee לשער הכניסה. הוא לא מפורסם באינטרנט, ואף שירות של Google לא משתמש בכתובות IP בטווח הזה באופן פנימי.

    משתמשים בכתובת ה-IP של המארח של קובץ השירות המצורף כproxy ל-API. לדוגמה:
    <TargetEndpoint name="default">
        <HTTPTargetConnection>
            <URL>http://7.0.3.4/orders</URL>
        </HTTPTargetConnection>
    </TargetEndpoint>

    שימוש ברשומת DNS

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

    1. כדרישת סף, צריך להגדיר DNS peering בפרויקט בענן שלכם ב-Google Cloud, כמו שמוסבר במאמר בנושא חיבור לאזורי שרת DNS פרטי של peering.
    2. יוצרים רשומת DNS (רשומת A) לכתובת ה-IP של נקודת הקצה (endpoint) של Private Service Connect בתחום ה-DNS הפרטי.
    3. מגדירים את ה-proxy ל-API של Apigee כך שישתמש ברשומת ה-DNS של נקודת הקצה של Private Service Connect כיעד של ה-proxy ל-API. לדוגמה:
      <TargetEndpoint name="default">
        <HTTPTargetConnection>
          <URL>http://my-private-dns-zone.example.com/orders</URL>
        </HTTPTargetConnection>
      </TargetEndpoint>

ממשק המשתמש של Apigee

יוצרים חיבור לנקודת קצה בארגון Apigee בממשק המשתמש של Apigee:

  1. במסוף Google Cloud , עוברים לדף Apigee > Management > Endpoint attachments.

    מעבר אל Endpoint attachments

  2. לוחצים על + Endpoint Attachment. מופיעה תיבת הדו-שיח Endpoint attachment (צירוף נקודת קצה).
  3. מזינים שם לחיבור לנקודת הקצה. השם חייב להיות ייחודי. לא יכולות להיות נקודות קצה אחרות עם אותו שם, ואי אפשר לשנות את השם מאוחר יותר. השם חייב להתחיל באות קטנה באנגלית, ואחריה יכולות להיות עד 31 אותיות קטנות, מספרים או מקפים, אבל הוא לא יכול להסתיים במקף. האורך המינימלי הוא 2.
  4. לוחצים על הבא.
  5. מהרשימה הנפתחת Service Attachment, בוחרים את קובץ ה-Service Attachment שאליו רוצים להתחבר.

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

    המיקום של מזהה פרויקט Apigee שנדרש להגדרת קובץ השירות המצורף.

  6. מוודאים שנקודת הקצה של השירות יכולה לקבל חיבורים. הוראות מפורטות מופיעות במאמר בדיקה וניהול של קישוריות קבצים מצורפים.
  7. לוחצים על הבא.
  8. לוחצים על יצירה. בדרך כלל, הפעולה נמשכת דקה או שתיים.
  9. כדי לבדוק את סטטוס היצירה הנוכחי, לוחצים על רענון בדף הרשימה.
  10. משתמשים בכתובת ה-IP של המארח של קובץ השירות המצורף כproxy ל-API. כתובת ה-IP של המארח מופיעה בממשק המשתמש של Endpoint Attachments כשתהליך היצירה מסתיים, כמו שרואים בצילום המסך הבא:

    כתובת ה-IP של המארח של קובץ השירות מצורפת לממשק המשתמש של נקודת הקצה.

    לדוגמה:
    <TargetEndpoint name="default">
        <HTTPTargetConnection>
            <URL>http://7.0.5.2/orders</URL>
        </HTTPTargetConnection>
    </TargetEndpoint>

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

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

  1. פועלים לפי השלבים במאמר הצגת רשימת השירותים שפורסמו כדי לראות את רשימת קבצים מצורפים של שירותים בפרויקט.
  2. בוחרים את קובץ ה-service attachment שרוצים להתחבר אליו, כמו שמוסבר במאמר בנושא הצגת פרטים של שירות שפורסם.
  3. בוחרים את העדפת החיבור לקובץ המצורף של השירות שפורסם. ‫Private Service Connect מציע שתי אפשרויות שמתוארות בהמשך. אם רוצים לשנות את העדפת החיבור הנוכחית, פועלים לפי השלבים במאמר שינוי העדפת החיבור לשירות שפורסם.
    • אישור אוטומטי של כל החיבורים: קובץ השירות המצורף מאשר קבצים מצורפים של נקודות קצה מכל פרויקט. אם בוחרים באפשרות הזו, הקובץ המצורף של השירות יוכל לקבל חיבור מקובץ מצורף של נקודת קצה בפרויקט Apigee. אין צורך בהגדרה נוספת.
    • אישור חיבורים מפרויקטים נבחרים: מציינים את הפרויקטים שמהם הקובץ המצורף של השירות יקבל חיבורים. אם בוחרים באפשרות הזו, צריך להוסיף את מזהה הפרויקט של Apigee לקובץ המצורף של השירות. אפשר למצוא את מזהה הפרויקט של Apigee בשלב Verify project connection בממשק המשתמש של Endpoint attachment, כמו שמוצג בצילום המסך הזה:

      המיקום של מזהה פרויקט Apigee שנדרש להגדרת קובץ השירות המצורף.

      אפשר גם לאחזר את מזהה הפרויקט ב-Apigee באמצעות Apigee Organizations API, שמחזיר את המזהה בשדה בשם apigeeProjectId.

  4. אם ביצעתם שינויים בהעדפות החיבור, שומרים את השינויים.
  5. במסוף Google Cloud , עוברים לדף Apigee > Management > Endpoint attachments.

    מעבר אל Endpoint attachments

    אפשר גם להציג רשימה של קבצים מצורפים של נקודות קצה באמצעות Apigee Endpoints API.
  6. ברשימת הקבצים המצורפים, מוודאים שסטטוס החיבור של Private Service Connect הוא עכשיו ACCEPTED. אם בשדה מוצג סטטוס אחר מלבד ACCEPTED, אפשר לעיין במאמר פתרון בעיות בסטטוס החיבור של Private Service Connect.

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

‫Apigee endpointAttachments API מספק שיטות ליצירה, למחיקה, לקבלת ולרשימה של קבצים מצורפים של נקודות קצה.

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

אפשר לראות רשימה של קבצים מצורפים של נקודות קצה בממשק המשתמש של Apigee Endpoint attachment או על ידי קריאה ל-Apigee Endpoints API.

כדי לראות את רשימת נקודות הקצה של ה-Endpoint Attachment בממשק המשתמש של Apigee:

  1. במסוף Google Cloud , עוברים לדף Management > Endpoint attachments.

    מעבר אל Endpoint attachments

  2. צפייה ברשימה של קבצים מצורפים לנקודות קצה.

יצירת צירוף של נקודת קצה

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

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

כדי למחוק נקודת קצה באמצעות ממשק המשתמש של Apigee:

  1. במסוף Google Cloud , עוברים לדף Management > Endpoint attachments.

    מעבר אל Endpoint attachments

  2. בוחרים את Endpoint Attachment שרוצים למחוק.
  3. לוחצים על Delete Endpoint Attachment.

אפשר גם להשתמש ב-Apigee Endpoints API כדי להציג, ליצור ולמחוק קבצים מצורפים של נקודות קצה.

חיבור באמצעות אזורי DNS פרטיים של עמיתים

אזור peering הוא אזור פרטי של Cloud DNS שמאפשר לשלוח בקשות DNS בין אזורי Cloud DNS ברשתות VPC שונות.

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

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

בקטע הזה נבחנים שני תרחישים עיקריים לדוגמה, שבהם Apigee מוגדר עם או בלי הפעלת VPC peering:

סקירה כללית

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

הגדרת שרת DNS פרטי עם קישור בין רשתות שכנות (peering) של VPC מופעל

אם יש לכם תחום פרטי ב-Cloud DNS שמתארח בפרויקט בענן שמקושר ל-Apigee, אתם יכולים להגדיר קישור DNS כדי לאפשר ל-Apigee לפתור שמות בתחום הפרטי שלכם. כברירת מחדל, אזורים פרטיים הם פרטיים לרשת ה-VPC שבה הם מתארחים. הוראות להגדרת קישור בין רשתות שכנות (peering) בין תחום DNS פרטי לבין Apigee (הבעלים של השירות המנוהל) מפורטות במאמר שיתוף אזורי DNS פרטיים עם בעלי שירותים מנוהלים.

הגדרת קישור בין רשתות DNS פרטיות כשקישור בין רשתות VPC לא מופעל

בקטע הזה מוסבר איך להגדיר את Apigee כך שיפענח שמות DNS פרטיים בפרויקט שבו לא מופעלת קישוריות VPC. איור 2 מציג את ההגדרה, שבה תחום DNS peering ב-Apigee פותר שמות של דומיינים פרטיים בתחום DNS פרטי שמתארח בפרויקט Google Cloud שלכם.

איור 2: הגדרת אזור שרת DNS פרטי של קישור בין רשתות שכנות (peering) עם Apigee.
  1. כדרישה מוקדמת, צריך להקצות את Apigee בלי קישור בין רשתות VPC שכנות (peering). כדי לבדוק אם ה-VPC peering מופעל או לא, מריצים את קריאה ל-API הזו של Apigee. כדי להפעיל את הקריאה הזו, צריך לקבל את ההרשאה apigee.admin:
    curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
          "https://apigee.googleapis.com/v1/organizations/ORGANIZATION"

    כאשר:

    • ORGANIZATION הוא השם של הארגון שלכם ב-Apigee.

    אם התשובה מכילה את "disableVpcPeering": "true", קישור בין רשתות שכנות (peering) ב-VPC לא מופעל.

  2. מקבלים את מספר הפרויקט של Apigee:
    gcloud projects describe APIGEE_PROJECT_ID --format="value(projectNumber)"

    כאשר:

    • APIGEE_PROJECT_ID הוא מזהה הפרויקט שלכם ב-Apigee. בדרך כלל זה השם של הארגון שלכם ב-Apigee.
  3. מעניקים לחשבון השירות של Apigee לכל פרויקט (P4SA) את ההרשאה dns.networks.targetWithPeeringZone בפרויקט שמכיל את רשת ה-VPC של היצרן. כדי לקבל את ההרשאה הזו, אפשר להוסיף את התפקיד dns.peer ל-P4SA של Apigee, באופן הבא:
    gcloud projects add-iam-policy-binding PRODUCER_PROJECT_ID \
        --member=serviceAccount:SERVICE_ACCOUNT \
        --role=roles/dns.peer

    כאשר:

    • PRODUCER_PROJECT_ID הוא מזהה הפרויקט שמכיל את רשת ה-VPC של הספק.
    • SERVICE_ACCOUNT הוא Apigee P4SA. לדוגמה: service-APIGEE_CONSUMER_PROJECT_NUMBER@gcp-sa-apigee.iam.gserviceaccount.com.

      APIGEE_CONSUMER_PROJECT_NUMBER הוא מספר הפרויקט ב-Apigee שאחזרתם בשלב הקודם.

  4. יוצרים תחום DNS לצורך קישור בין רשתות שכנות (peering) עם שרת DNS פרטי בפרויקט:
    curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type:application/json" \
          "https://apigee.googleapis.com/v1/organizations/ORGANIZATION/dnsZones?dnsZoneId=DNS_ZONE_ID" \
          -d '{
            "domain": "DOMAIN",
            "description": "DESCRIPTION",
            "peeringConfig": {
               "targetProjectId": "PRODUCER_PROJECT_ID",
               "targetNetworkId": "PRODUCER_VPC_NETWORK"
            }
        }'

    כאשר:

    • ORGANIZATION הוא השם של הארגון שלכם ב-Apigee.
    • DNS_ZONE_ID הוא השם של תחום ה-DNS שרוצים ליצור.
    • DOMAIN הוא שם ה-DNS של האזור המנוהל הזה, למשל example.com.
    • DESCRIPTION: תיאור קצר של תחום ה-DNS. מספר תווים מקסימלי: 1,024
    • PRODUCER_PROJECT_ID הוא הפרויקט שמכיל את רשת ה-VPC של ספק השירות.
    • PRODUCER_VPC_NETWORK היא רשת ה-VPC בפרויקט של הלקוח.
  5. מוודאים שהפירינג נוצר בהצלחה:
    curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
          "https://apigee.googleapis.com/v1/organizations/ORGANIZATION/dnsZones/DNS_ZONE_ID"

    כאשר:

    • ORGANIZATION הוא השם של הארגון שלכם ב-Apigee.
    • DNS_ZONE_ID הוא השם של תחום ה-DNS שיצרתם.

    אם הפעולה מצליחה, התשובה תכלול את קוד הסטטוס הבא: "state": "ACTIVE"

  6. אחרי השלמת הקישור בין רשתות שכנות (peering), אפשר ליצור רשומת DNS באזור הפרטי ולהפנות אליה בהגדרת צירוף של נקודת קצה. איך יוצרים קובץ מצורף של נקודת קצה

מגבלות

מגבלות ונקודות חשובות לגבי קישור בין רשתות שכנות (peering) של DNS

פתרון בעיות

בעיות במצב החיבור של Private Service Connect

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

איור 3: פרטי הסטטוס של צירוף נקודת הקצה

המצב שמוצג יכול לעזור לזהות את הסיבה האפשרית, כפי שמתואר בטבלה הבאה:

מצב החיבור סיבה אפשרית פתרון מומלץ
ACCEPTED החיבור מנקודת הקצה אושר על ידי קובץ השירות המצורף. לא רלוונטי
בהמתנה מזהה הפרויקט של Apigee לא יכול להיות ברשימת הפרויקטים שאושרו על ידי הלקוח וגם לא ברשימת הפרויקטים שנדחו. מוסיפים את מזהה פרויקט Apigee לרשימת ההסכמה של הצרכן בקובץ המצורף של השירות. שינוי העדפת החיבור לשירות שפורסם
REJECTED מזהה פרויקט Apigee נמצא ברשימת הדחייה של הצרכן. מסירים את מזהה פרויקט Apigee מרשימת הדחייה של הצרכן ומוסיפים אותו לרשימת האישור של הצרכן בקובץ המצורף של השירות. איך מנהלים בקשות לגישה לשירות שפורסם
FROZEN הקובץ המצורף לשירות של נקודת הקצה הזו הושעה או הושבת. פרטים נוספים מופיעים בתיאור של השירות. מידע נוסף מופיע במאמר בנושא צפייה בפרטים של שירות שפורסם.
סגור קובץ השירות המצורף לנקודת הקצה הזו נמחק. יוצרים מחדש את קובץ השירות ואת קובץ נקודת הקצה.
NEEDS_ATTENTION שירות ההצמדה קיבל את הצמדת נקודת הקצה, אבל יש בעיה בשירות ההצמדה. תאר את השירות פרטים נוספים מופיעים בקובץ המצורף. מידע נוסף מופיע במאמר בנושא צפייה בפרטים של שירות שפורסם.
לא זמין מצב הקישוריות לא זמין, וזה יכול לקרות במהלך הקצאת הרשאות. מחכים כמה דקות כדי לראות אם הסטטוס משתנה.

הגדרת Private Service Connect עם Apigee

אפשר לעיין במדריך בנושא בעיות בקישוריות של Apigee עם יעדים של Private Service Connect מדרום.