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

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

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

מגדירים מאזן עומסים ב-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 Cloud. לדוגמה:

      פלט לדוגמה:

      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.

דרישה מוקדמת: לפני שיוצרים קובץ מצורף של נקודת קצה, צריך לפרסם את השירותים שרוצים לחשוף באמצעות Private Service Connect. לשם כך, יוצרים מאזן עומסים וקובץ מצורף של שירות, כמו שמוסבר קודם בדוגמה הזו. מידע נוסף על חשיפת שירותים באמצעות 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 כדי ליצור את נקודת הקצה של הקישור. משתמשים בערכים שמוחזרים מהפקודה 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 Cloud שבו נוצר קובץ השירות.
    • ‫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 של המארח של קובץ השירות המצורף כיעד של פרוקסי API. לדוגמה:
    <TargetEndpoint name="default">
        <HTTPTargetConnection>
            <URL>http://7.0.3.4/orders</URL>
        </HTTPTargetConnection>
    </TargetEndpoint>

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

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

    1. כדרישת סף, צריך להגדיר DNS Peering בפרויקט שלכם ב-Google Cloud, כמו שמוסבר במאמר בנושא חיבור לאזורי DNS פרטיים של Peering.
    2. יוצרים רשומת DNS (רשומת A) לכתובת ה-IP של הקובץ המצורף של נקודת הקצה (endpoint) של Private Service Connect באזור ה-DNS הפרטי.
    3. מגדירים את שרת ה-proxy של Apigee API כך שישתמש ברשומת ה-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 של המארח של קובץ השירות המצורף כיעד של פרוקסי 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 בממשק המשתמש של נקודת הקצה של הקישור, כמו שמוצג בצילום המסך הזה:

      המיקום של מזהה פרויקט 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.

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

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

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

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

כדי לראות את נקודת הקצה של הקישור בממשק המשתמש של 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 peering, צריך ליצור אזור פרטי של Cloud DNS peering ולהגדיר אותו לביצוע בדיקות DNS ברשת VPC שבה הרשומות של מרחב השמות של האזור הזה זמינות. רשת ה-VPC שבה אזור ה-DNS המקושר מבצע חיפושים נקראת רשת DNS producer. מידע נוסף זמין במאמר בנושא אזורי Peering.

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

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

סקירה כללית

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

הגדרת שיוך של שרת DNS פרטי עם שיוך של VPC מופעל

אם יש לכם אזור פרטי של Cloud DNS שמתארח בפרויקט בענן שמקושר ל-Apigee, אתם יכולים להגדיר קישור DNS כדי לאפשר ל-Apigee לפתור שמות באזור הפרטי שלכם. כברירת מחדל, אזורים פרטיים הם פרטיים לרשת ה-VPC שבה הם מתארחים. הוראות להגדרת קישור בין אזורי 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", המשמעות היא שקישור רשתות 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 באזור הפרטי ולהפנות אליה בהגדרת נקודת הקצה של הקישור. איך יוצרים קובץ מצורף של נקודת קצה

מגבלות

מידע נוסף על מגבלות ונקודות חשובות בנושא DNS Peering

פתרון בעיות

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

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

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

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

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

הגדרת Private Service Connect עם Apigee

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