הגדרת רשתות מורשות ב-Managed Airflow

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

בדף הזה מוסבר איך להגדיר רשתות מורשות בסביבה שלכם.

מידע על רשתות מורשות ב-Managed Airflow

רשתות מורשות מאפשרות לכם לציין טווחי CIDR שיכולים לגשת למישור הבקרה של האשכול בסביבה שלכם באמצעות HTTPS.

לדוגמה, ב-Managed Airflow (דור 2), גישה כזו לאשכול של הסביבה נדרשת בסביבות עם כתובות IP פרטיות כדי להריץ פקודות kubectl באשכול של הסביבה. צריך לאשר לרשתות שממנה מגיעות בקשות כאלה גישה למישור הבקרה של האשכול בסביבה שלכם.

רשתות מורשות בסביבות עם כתובות IP פרטיות וציבוריות

אפשר לציין רשתות מאושרות גם בסביבות של כתובות IP ציבוריות וגם בסביבות של כתובות IP פרטיות.

  • בסביבות עם כתובות IP פרטיות, אפשר להגדיר רשתות מורשות כדי לאפשר לטווח מסוים של כתובות IP לגשת למישור הבקרה של אשכול הסביבה. לדוגמה, כדי לאפשר לטווחים מסוימים של כתובות IP להריץ פקודות kubectl. כברירת מחדל, בסביבות עם כתובות IP פרטיות אפשר להריץ את הפקודות האלה רק ממכונה וירטואלית ברשת המשנה של ה-VPC בסביבה עם כתובות IP פרטיות.

  • בסביבות עם כתובות IP ציבוריות, אפשר להגדיר רשתות מורשות כדי להגביל את טווח כתובות ה-IP שיכולות לגשת למישור הבקרה של אשכול הסביבה. כברירת מחדל, בסביבות עם כתובות IP ציבוריות אין הגבלות על טווחי כתובות IP שניתן להריץ בהן פקודות kubectl.

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

יצירת סביבות עם רשתות מורשות

gcloud

כדי ליצור סביבה עם רשתות מורשות, משתמשים בארגומנט --enable-master-authorized-networks כשיוצרים סביבה. אחר כך צריך לציין רשימה מופרדת בפסיקים של טווחי CIDR בארגומנט --master-authorized-networks.

כדי לציין רשתות מורשות לסביבת כתובת IP פרטית:

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-2.17.6-airflow-2.11.1 \
    --enable-private-environment \
    --enable-master-authorized-networks \
    --master-authorized-networks AUTHORIZED_NETWORKS_IP_RANGES

מחליפים את:

  • ENVIRONMENT_NAME בשם הסביבה.
  • LOCATION באזור שבו הסביבה נמצאת.
  • AUTHORIZED_NETWORKS_IP_RANGES עם רשימה מופרדת בפסיקים של טווחי כתובות IP בסימון CIDR. הטווחים האלה נוספים כרשתות מורשות לאשכול של הסביבה.

דוגמה (סביבת IP פרטית):

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-2.17.6-airflow-2.11.1 \
    --enable-private-environment \
    --enable-privately-used-public-ips \
    --enable-master-authorized-networks \
    --master-authorized-networks 192.0.2.0/23,192.0.4.0/23

API

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

כדי לציין רשתות מורשות לסביבת כתובת IP פרטית:

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

{
  "name": "ENVIRONMENT_NAME",
  "config": {
    "privateEnvironmentConfig": {
      "enablePrivateEnvironment": true,
    },
    "masterAuthorizedNetworksConfig": {
      "enabled": true,
      "cidrBlocks": [
        {
          "displayName": "AUTHORIZED_NETWORK_NAME",
          "cidrBlock": "AUTHORIZED_NETWORK_RANGE"
        }
      ]
    }
  }
}

מחליפים את:

  • ENVIRONMENT_NAME בשם הסביבה.
  • AUTHORIZED_NETWORK_NAME בשם של טווח כתובות ה-IP של הרשת המורשית. השם הזה ישמש לזיהוי הבלוק. השדה הזה הוא אופציונלי.
  • AUTHORIZED_NETWORK_RANGE עם טווח כתובות IP בסימון CIDR. הטווח הזה נוסף כרשתות מורשות לאשכול של הסביבה.
  • אם רוצים להשתמש בכמה טווחי כתובות IP, מוסיפים טווחים נוספים ל-cidrBlocks.

דוגמה (סביבת IP פרטית):

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

{
  "name": "example-environment",
  "config": {
    "privateEnvironmentConfig": {
      "enablePrivateEnvironment": true,
    },
    "masterAuthorizedNetworksConfig": {
      "enabled": true,
      "cidrBlocks": [
        {
          "displayName": "example_range_1",
          "cidrBlock": "192.0.2.0/23"
        },
        {
          "displayName": "example_range_2",
          "cidrBlock": "192.0.4.0/23"
        }
      ]
    }
  }
}

Terraform

כשיוצרים סביבה, הבלוק master_authorized_networks_config block שבכלים לחסימת מודעות חוסם רשתות מורשות בסביבה.config

כדי לציין רשתות מורשות לסביבת כתובת IP פרטית:

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

  config {
    private_environment_config {
      // Private environment parameters
    }

    master_authorized_networks_config {

      enabled = true

      cidr_blocks {
          cidr_block = "AUTHORIZED_NETWORK_RANGE"
          display_name = "AUTHORIZED_NETWORK_NAME"
      }

    }
  }
}

מחליפים את:

  • ENVIRONMENT_NAME בשם הסביבה.
  • LOCATION באזור שבו הסביבה נמצאת.
  • AUTHORIZED_NETWORK_RANGE עם טווח כתובות IP בסימון CIDR. הטווח הזה נוסף כרשתות מורשות לאשכול של הסביבה.
  • AUTHORIZED_NETWORK_NAME בשם של טווח כתובות ה-IP של הרשת המורשית. השם הזה ישמש לזיהוי הבלוק.
  • אם רוצים להשתמש בכמה טווחי כתובות IP, מוסיפים עוד בלוקים של cidr_blocks ל-master_authorized_networks_config.

דוגמה (סביבת IP פרטית):

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

  config {

    private_environment_config {
      // Private environment parameters
    }

    master_authorized_networks_config {

      enabled = true

      cidr_blocks {
          cidr_block = "192.0.2.0/23"
          display_name = "example_range_1"
      }

      cidr_blocks {
          cidr_block = "192.0.4.0/23"
          display_name = "example_range_2"
      }
    }
  }
}

ציון רשתות מורשות לסביבה קיימת

אפשר לציין רשתות מורשות לסביבה קיימת.

gcloud

כדי לציין רשתות מורשות, משתמשים בארגומנט --enable-master-authorized-networks. אחר כך צריך לציין רשימה מופרדת בפסיקים של טווחי CIDR בארגומנט --master-authorized-networks.

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --enable-master-authorized-networks \
  --master-authorized-networks AUTHORIZED_NETWORKS_IP_RANGES

מחליפים את:

  • ENVIRONMENT_NAME בשם הסביבה.
  • LOCATION באזור שבו הסביבה נמצאת.
  • AUTHORIZED_NETWORKS_IP_RANGES עם רשימה מופרדת בפסיקים של טווחי כתובות IP בסימון CIDR. הטווחים האלה נוספים כרשתות מורשות לאשכול של הסביבה.

דוגמה:

gcloud composer environments update example-environment \
  --location us-central1 \
  --enable-master-authorized-networks \
  --master-authorized-networks 192.0.2.0/23,192.0.4.0/23

API

  1. יוצרים בקשת API של environments.patch.

  2. בבקשה הזו:

    1. בפרמטר updateMask, מציינים את המסכה config.softwareConfig.masterAuthorizedNetworksConfig.

    2. בגוף הבקשה, מציינים טווחי CIDR לרשתות מורשות.

"config": {

  "masterAuthorizedNetworksConfig": {
    "enabled": true,
    "cidrBlocks": [
      {
        "displayName": "AUTHORIZED_NETWORK_NAME",
        "cidrBlock": "AUTHORIZED_NETWORK_RANGE"
      }
    ]
  }
}

מחליפים את:

  • AUTHORIZED_NETWORK_NAME בשם של טווח כתובות ה-IP של הרשת המורשית. השם הזה ישמש לזיהוי הבלוק. השדה הזה הוא אופציונלי.
  • AUTHORIZED_NETWORK_RANGE עם טווח כתובות IP בסימון CIDR. הטווח הזה נוסף כרשת מורשית לאשכול של הסביבה.
  • אם רוצים להשתמש בכמה טווחי כתובות IP, מוסיפים טווחים נוספים ל-cidrBlocks.

דוגמה:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.softwareConfig.masterAuthorizedNetworksConfig

"config": {
  "masterAuthorizedNetworksConfig": {
    "enabled": true,
    "cidrBlocks": [
      {
        "displayName": "example_range_1",
        "cidrBlock": "192.0.2.0/23"
      },
      {
        "displayName": "example_range_2",
        "cidrBlock": "192.0.4.0/23"
      }
    ]
  }
}

Terraform

האפשרות master_authorized_networks_config חסימה config בכלי לחסימת מודעות מאשרת רשתות בסביבה שלכם.

כדי להוסיף רשתות מורשות לסביבת IP פרטי, מוסיפים את הבלוק הזה להגדרת הסביבה:

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

  config {

    // Other environment parameters

    master_authorized_networks_config {

      enabled = true

      cidr_blocks {
          cidr_block = "AUTHORIZED_NETWORK_RANGE"
          display_name = "AUTHORIZED_NETWORK_NAME"
      }

    }
  }
}

מחליפים את:

  • AUTHORIZED_NETWORK_RANGE עם טווח כתובות IP בסימון CIDR. הטווח הזה נוסף כרשתות מורשות לאשכול של הסביבה.
  • AUTHORIZED_NETWORK_NAME בשם של טווח כתובות ה-IP של הרשת המורשית. השם הזה ישמש לזיהוי הבלוק.
  • אם רוצים להשתמש בכמה טווחי כתובות IP, מוסיפים עוד בלוקים של cidr_blocks ל-master_authorized_networks_config.

דוגמה:

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

  config {

    // Other environment parameters

    master_authorized_networks_config {

      enabled = true

      cidr_blocks {
          cidr_block = "192.0.2.0/23"
          display_name = "example_range_1"
      }

      cidr_blocks {
          cidr_block = "192.0.4.0/23"
          display_name = "example_range_2"
      }
    }
  }
}

השבתת רשתות מורשות

אפשר להשבית רשתות מורשות בסביבה קיימת:

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

gcloud

כדי להשבית רשתות מורשות, משתמשים בארגומנט --disable-master-authorized-networks.

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --disable-master-authorized-networks

מחליפים את:

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

דוגמה:

gcloud composer environments update example-environment \
  --location us-central1 \
  --disable-master-authorized-networks

API

  1. יוצרים בקשת API של environments.patch.

  2. בבקשה הזו:

    1. בפרמטר updateMask, מציינים את המסכה config.softwareConfig.masterAuthorizedNetworksConfig.

    2. בגוף הבקשה, מציינים את הערך false בשדה enabled.

"config": {

  "masterAuthorizedNetworksConfig": {
    "enabled": false
  }
}

דוגמה:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.softwareConfig.masterAuthorizedNetworksConfig

"config": {
  "masterAuthorizedNetworksConfig": {
    "enabled": false,
  }
}

Terraform

האפשרות master_authorized_networks_config חסימה config בכלי לחסימת מודעות מאשרת רשתות בסביבה שלכם.

כדי להשבית את הרשתות המורשות, מגדירים את השדה enabled בבלוק master_authorized_networks_config לערך false.

דוגמה:

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

  config {

    // Other environment parameters

    master_authorized_networks_config {
      enabled = false
    }
  }
}

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