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

הדף הזה מתייחס ל-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

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

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

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

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

שורת הפקודה

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

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

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

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

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

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. מידע נוסף זמין במאמר בנושא אזורי Peering.

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

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

סקירה כללית

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

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

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

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

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

איור 2: הגדרת אזור שרת DNS פרטי של קישור בין רשתות שכנות (peering) עם Apigee.
  1. כדרישה מוקדמת, צריך להקצות את Apigee בלי קישור לרשתות שכנות ב-VPC. כדי לבדוק אם הקישור לרשתות שכנות ב-VPC מופעל או לא, מריצים את קריאת ה-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 peering לא מופעל.

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

מגבלות

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

פתרון בעיות

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

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

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

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

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

הגדרת Private Service Connect עם Apigee

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