הפעלת סוכן IP Masquerade בסביבות Managed Airflow

Managed Airflow (דור 3) | Managed Airflow (דור 2) | Managed Airflow (דור 1 מדור קודם)

בדף הזה מוסבר איך להפעיל את סוכן ה-IP Masquerade בסביבה שלכם.

מידע על סוכן הסתרת ה-IP ב-Managed Airflow

‫Managed Airflow תומך בסוכן IP Masquerade בסביבות שלכם.

הסוואת כתובת IP היא סוג של תרגום כתובות רשת (NAT) שמשמשת לתרגום של הרבה כתובות IP לכתובת IP אחת. כך כמה לקוחות יכולים לגשת ליעד מכתובת IP אחת.

‫Managed Airflow מריץ את עומסי העבודה שלכם ב-GKE. כדי שהפונקציה תפעל בצורה תקינה, היא צריכה טווחי כתובות IP לצמתים (מכונות וירטואליות), וגם ל-Pods ולשירותים של GKE. כשמשימות ו-DAG של Airflow מתקשרים עם שירותים אחרים, הם משתמשים בכתובות IP של Pod. טווח כתובות ה-IP של ה-Pod צריך להיות ניתן לניתוב אל ומכל היעדים שהמשימות מתקשרות איתם.

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

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

לדוגמה:

  1. אתם משתמשים בטווח 10.0.0.0/8 למכונות וירטואליות, ורק הטווח הזה מותר לפי כללי חומת האש שלכם.

  2. כדי לשמור טווחי רשת, צריך להשתמש בטווח אחר (לדוגמה, 192.168.0.0/16) עבור ה-Pods באשכול של הסביבה.

  3. כדי להתחבר לשירות כלשהו מ-Pod (תהליך עובד של Airflow), צריך להשתמש בהסוואת כתובת IP. אחרת, השירות מקבל תנועה מ-192.168.0.0/16 ומוחק אותה בגלל כלל חומת אש. כשהסוכן של IP Masquerade מופעל ומוגדר, השירות מקבל בקשות מ-10.0.0.0/8, והן מתקבלות.

לפני שמתחילים

  • אי אפשר להפעיל את הסוכן IP Masquerade במסוף Google Cloud .

הפעלת סוכן IP Masquerade בסביבה קיימת

אי אפשר להפעיל את סוכן הסוואה של כתובת IP בסביבה קיימת.

הפעלת סוכן להסתרת כתובת IP כשיוצרים סביבה

אפשר להפעיל את סוכן ה-IP Masquerade כשיוצרים סביבה.

מידע נוסף על יצירת סביבות Managed Airflow זמין במאמר יצירת סביבה.

המסוף

אי אפשר להפעיל את הסוכן IP Masquerade במסוף Google Cloud .

gcloud

כשיוצרים סביבה, הארגומנט --enable-ip-masq-agent מאפשר את השימוש בסוכן IP Masqerade. צריך גם להפעיל כינוי לכתובת IP באמצעות הארגומנט --enable-ip-alias.

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-1.20.12-airflow-1.10.15 \
    --enable-ip-alias \
    --enable-ip-masq-agent

מחליפים את:

  • ENVIRONMENT_NAME בשם הסביבה.
  • LOCATION עם האזור שבו הסביבה ממוקמת.

דוגמה:

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-1.20.12-airflow-1.10.15 \
    --enable-ip-alias \
    --enable-ip-masq-agent

API

יוצרים בקשת API של environments.create. מציינים את ההגדרה במשאב Environment.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
  "config": {
    "softwareConfig": {
      "imageVersion": "composer-1.20.12-airflow-1.10.15"
    },
    "nodeConfig": {
      "ipAllocationPolicy": {
        "useIpAliases": true,
      },
      "enableIpMasqAgent": true
    }
  }
}

מחליפים את:

  • PROJECT_ID במזהה הפרויקט (Project ID).
  • LOCATION עם האזור שבו הסביבה ממוקמת.
  • ENVIRONMENT_NAME בשם הסביבה.

דוגמה:

  // POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments

  {
    "name": "projects/example-project/locations/us-central1/environments/example-environment",
    "config": {
      "softwareConfig": {
        "imageVersion": "composer-1.20.12-airflow-1.10.15"
      },
      "nodeConfig": {
        "ipAllocationPolicy": {
          "useIpAliases": true,
        },
        "enableIpMasqAgent": true
      }
    }
  }

Terraform

כשיוצרים סביבה, השדה enable_ip_masq_agent בבלוק node_config מאפשר את סוכן ה-IP Masqerade. צריך גם להפעיל כינוי לכתובת IP באמצעות השדה use_ip_aliases בבלוק ip_allocation_policy.

resource "google_composer_environment" "example_environment" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {
    software_config {
      image_version = "composer-1.20.12-airflow-1.10.15"
    }
    node_config {
      ip_allocation_policy = [{
        use_ip_aliases = true
        // Other networking configuration
      }]
      enable_ip_masq_agent = true
    }
  }

מחליפים את:

  • ENVIRONMENT_NAME בשם הסביבה.
  • LOCATION עם האזור שבו הסביבה ממוקמת.

דוגמה:

resource "google_composer_environment" "example_environment" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {
    software_config {
      image_version = "composer-1.20.12-airflow-1.10.15"
    }
    node_config {
      ip_allocation_policy = [{
        use_ip_aliases = true
        // Other networking configuration
      }]
      enable_ip_masq_agent = true
    }
  }
}

הגדרת סוכן IP Masquerade

מידע נוסף על שימוש בסוכן IP Masquerade והגדרתו ב-Managed Airflow (Legacy Gen 1) זמין במאמר בנושא הגדרת סוכן IP Masquerade באשכולות רגילים.

המאמרים הבאים