הקצאת כתובות 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. חוזרים על התהליך הזה עם שם חדש של כתובת NAT IP לכל כתובת NAT IP שצריך להגדיר.

אחזור כתובות 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"