הקצאת כתובות IP ל-NAT

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

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

בקטע הזה מוסבר איך לנהל את כתובות ה-IP של NAT עבור מופעי Apigee.

‫Apigee מספק כתובות IP זמניות וכתובות IP ייעודיות. במקרים רבים, כתובות IP זמניות מספיקות. אם לא נדרש אישור של כתובות IP בבק-אנד, לא תצטרכו לנהל כתובות IP של NAT, ומערכת Apigee תקצה באופן אוטומטי כתובות IP זמניות לתעבורת נתונים יוצאת (egress).

אם אתם צריכים להשתמש ברשימת היתרים של כתובות IP, אתם יכולים לשמור ולהפעיל כתובות IP כדי שמערכת Apigee תשתמש בכתובות IP סטטיות לתעבורת נתונים יוצאת.

הגדרה של הקצאת כתובות IP ל-NAT ב-Apigee

כדי להגדיר הקצאת כתובות IP של NAT למופע Apigee:

  1. יוצרים את משתני הסביבה הבאים ומאכלסים אותם:

    משתנים

    PROJECT_ID=YOUR_PROJECT_ID
    ORG_ID=YOUR_ORG_ID
    INSTANCE_NAME=YOUR_INSTANCE_NAME
    NAT_ID=1st_NAT_IP_ID

    דוגמה

    PROJECT_ID=apigee-saas-prod
    ORG_ID=apigee-saas-prod
    INSTANCE_NAME=prod-us-west1-instance1
    NAT_ID=nat-1

    כאשר:

    • YOUR_PROJECT_ID הוא מזהה הפרויקט בענן שיצרתם במסגרת הדרישות המוקדמות. אם אתם לא בטוחים מה מזהה הפרויקט שלכם, תוכלו להשתמש במסוף Cloud או בפקודה gcloud projects list כדי למצוא אותו.
    • YOUR_ORG_ID הוא מזהה הארגון שלכם ב-Apigee.
    • YOUR_INSTANCE_NAME הוא השם של מופע Apigee.
    • 1st_NAT_IP_ID הוא השם שאתם מקצים לכתובת ה-IP של ה-NAT. לדוגמה, nat-1. הערך של הפרמטר הזה לא יכול לכלול יותר מ-20 תווים.
  2. מזמינים כתובת IP של NAT באמצעות הפקודות הבאות:
    1. בשורת הפקודה, מקבלים את פרטי הכניסה לאימות gcloud, כמו בדוגמה הבאה:

      TOKEN=$(gcloud auth print-access-token)

      כדי לוודא שהטוקן אוכלס, משתמשים ב-echo, כמו בדוגמה הבאה:

      echo $TOKEN

      האסימון יוצג כמחרוזת מקודדת.

      למידע נוסף, ראו סקירה כללית של כלי שורת הפקודה של Google Cloud.

    2. הפקודה לשמירת כתובת ה-IP של ה-NAT מחזירה את הפעולה הממושכת. לכן הפקודה שמוצגת כאן מקצה את הפלט למשתנה operation_name:
      operation_name=$(curl -H "Authorization: Bearer $TOKEN" \
        "https://apigee.googleapis.com/v1/organizations/${ORG_ID}/instances/${INSTANCE_NAME}/natAddresses" \
        -X POST -H "content-type:application/json" -d "{\"name\":\"${NAT_ID}\"}" | jq -r '.name')
      
    3. דוגמים את הפעולה הממושכת עד שהסטטוס שלה הוא done: true. לשם כך, מריצים את הבקשה הבאה:
      curl -s -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/$operation_name"
  3. אחרי שהפעולה מסתיימת, מפעילים את כתובת ה-IP של ה-NAT באמצעות הפקודות הבאות:
    1. מפעילים את כתובת ה-IP ומקצים את שם הפעולה הממושכת ל-operation_name:
      operation_name=$(curl -H "Authorization: Bearer $TOKEN" \
        "https://apigee.googleapis.com/v1/organizations/${ORG_ID}/instances/${INSTANCE_NAME}/natAddresses/${NAT_ID}:activate" \
        -X POST -H "content-type:application/json" -d "{}" | jq -r '.name')
    2. דוגמים את הפעולה הממושכת עד שהסטטוס שלה הוא done: true:
      curl -s -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/$operation_name"
  4. חוזרים על התהליך הזה עם שם חדש של כתובת IP של NAT לכל כתובת IP של NAT שצריך להגדיר.

אחזור כתובות IP של NAT

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

curl -H "Authorization: Bearer $TOKEN" \
  "https://apigee.googleapis.com/v1/organizations/${ORG_ID}/instances/${INSTANCE_NAME}/natAddresses"

דוגמה לתגובה:

{
  "natAddresses": [
    {
      "name": "nat-1",
      "ipAddress": "35.203.160.18",
      "state": "ACTIVE"
    },
    {
      "name": "nat-2",
      "ipAddress": "35.230.14.174",
      "state": "RESERVED"
    },
    {
      "name": "nat-3",
      "state": "CREATING"
    }
  ]
}

מצבים של כתובת IP של NAT

  • CREATING : יצירת כתובת ה-IP של NAT נמצאת בהמתנה. לא מוכן לשימוש.
  • RESERVED: כתובת ה-IP של ה-NAT נוצרה אבל לא נעשה בה שימוש. כך תוכלו להוסיף את כתובת ה-IP הזו לרשימת ההיתרים לפני שתפעילו אותה.
  • ACTIVE: כתובת ה-IP של ה-NAT משמשת לשליחת תנועת יציאה.
  • DELETING: כתובת ה-IP של ה-NAT נמחקת.

מחיקת כתובות IP של NAT

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

  1. מחיקת כתובת ה-IP והקצאת הפלט ל-operation_name.
    operation_name=$(curl -H "Authorization: Bearer $TOKEN" \
      "https://apigee.googleapis.com/v1/organizations/${ORG_ID}/instances/${INSTANCE_NAME}/natAddresses/${NAT_ID}" \
      -X DELETE | jq -r '.name')
  2. דוגמים את הפעולה הממושכת עד שמוצג הסטטוס done: true.
    curl -s -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/$operation_name"