הפעלת סוכן 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 .

  • כדי להשתמש בתכונה הזו, צריך ליצור סביבה עם GKE מגרסה 1.22.7 ואילך.

  • סוכן ה-IP Masquerade לא זמין בסביבות שנוצרו בגרסאות קודמות של GKE, גם אם בוצע שדרוג של GKE לגרסה 1.22.7 ולגרסאות מאוחרות יותר.

  • אם מפעילים את סוכן IP Masquerade, ברירת המחדל של EgressNatPolicy ב-GKE מוחלפת בהגדרה של Managed Airflow. אם סוכן ה-IP Masquerade לא מופעל, תעבורת הנתונים היוצאת לא תוסתר ותשתמש ב-EgressNatPolicy של GKE כברירת מחדל.

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

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

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

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

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

המסוף

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

gcloud

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

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-2.17.6-airflow-2.11.1 \
    --enable-ip-masq-agent

מחליפים את:

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

דוגמה:

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-2.17.6-airflow-2.11.1 \
    --enable-ip-masq-agent

API

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

{
  "name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
  "config": {
    "softwareConfig": {
      "imageVersion": "composer-2.17.6-airflow-2.11.1"
    },
    "nodeConfig": {
      "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-2.17.6-airflow-2.11.1"
      },
      "nodeConfig": {
        "enableIpMasqAgent": true
      }
    }
  }

Terraform

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

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

  config {
    software_config {
      image_version = "composer-2.17.6-airflow-2.11.1"
    }
    node_config {
      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-2.17.6-airflow-2.11.1"
    }
    node_config {
      enable_ip_masq_agent = true
    }
  }
}

הגדרת סוכן להסתרת כתובת IP

מידע נוסף על שימוש בסוכן IP Masquerade והגדרתו ב-Managed Airflow (דור 2) זמין במאמר שימוש במדיניות NAT של תעבורת יציאה להגדרת מיסוך כתובות IP באשכולות Autopilot.

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