Mengonfigurasi jaringan yang diizinkan di Cloud Composer

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Halaman ini menjelaskan cara mengonfigurasi jaringan yang diotorisasi untuk lingkungan Anda.

Tentang jaringan yang diizinkan di Cloud Composer

Jaringan yang diizinkan memungkinkan Anda menentukan rentang CIDR yang dapat mengakses bidang kontrol cluster lingkungan menggunakan HTTPS.

Misalnya, di Cloud Composer 2, akses tersebut ke cluster lingkungan Anda diperlukan di lingkungan IP Pribadi untuk menjalankan perintah kubectl di cluster lingkungan Anda. Jaringan tempat permintaan tersebut berasal harus diberi otorisasi untuk mengakses panel kontrol cluster lingkungan Anda.

Jaringan resmi di lingkungan IP Pribadi dan Publik

Anda dapat menentukan jaringan resmi untuk lingkungan IP Publik dan IP Pribadi.

  • Di lingkungan IP Pribadi, Anda dapat mengonfigurasi jaringan yang diizinkan untuk mengizinkan rentang alamat IP tertentu mengakses bidang kontrol cluster lingkungan Anda. Misalnya, untuk mengizinkan rentang IP tertentu menjalankan perintah kubectl. Secara default, di lingkungan IP Pribadi, Anda hanya dapat menjalankan perintah ini dari VM di subjaringan VPC lingkungan IP Pribadi.

  • Di lingkungan IP Publik, Anda dapat mengonfigurasi jaringan yang diizinkan untuk membatasi rentang alamat IP yang dapat mengakses bidang kontrol cluster lingkungan Anda. Secara default, di lingkungan IP Publik tidak ada batasan pada rentang IP yang dapat menjalankan perintah kubectl.

Sebelum memulai

Membuat lingkungan dengan jaringan yang diizinkan

gcloud

Untuk membuat lingkungan dengan jaringan yang diizinkan, gunakan argumen --enable-master-authorized-networks saat Anda membuat lingkungan. Kemudian, berikan daftar rentang CIDR yang dipisahkan koma dalam argumen --master-authorized-networks.

Untuk menentukan jaringan yang diizinkan untuk lingkungan IP Pribadi:

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

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.
  • LOCATION dengan region tempat lingkungan berada.
  • AUTHORIZED_NETWORKS_IP_RANGES dengan daftar rentang alamat IP yang dipisahkan koma dalam notasi CIDR. Rentang ini ditambahkan sebagai jaringan yang diizinkan untuk cluster lingkungan Anda.

Contoh (Lingkungan IP pribadi):

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-2.9.11-airflow-2.9.3 \
    --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

Buat permintaan API environments.create. Di resource Environment, tentukan parameter konfigurasi untuk lingkungan dengan jaringan yang diizinkan.

Untuk menentukan jaringan yang diizinkan untuk lingkungan IP Pribadi:

// 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"
        }
      ]
    }
  }
}

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.
  • AUTHORIZED_NETWORK_NAME dengan nama untuk rentang IP jaringan yang diizinkan. Anda menggunakan nama ini untuk mengidentifikasi blok ini. Kolom ini bersifat opsional.
  • AUTHORIZED_NETWORK_RANGE dengan rentang alamat IP dalam notasi CIDR. Rentang ini ditambahkan sebagai jaringan yang diizinkan untuk cluster lingkungan Anda.
  • Jika Anda ingin menggunakan beberapa rentang IP, tambahkan rentang tambahan ke cidrBlocks.

Contoh (Lingkungan IP pribadi):

// 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

Saat Anda membuat lingkungan, blok master_authorized_networks_config di blok config akan mengontrol jaringan yang diotorisasi untuk lingkungan Anda.

Untuk menentukan jaringan yang diizinkan untuk lingkungan IP Pribadi:

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"
      }

    }
  }
}

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.
  • LOCATION dengan region tempat lingkungan berada.
  • AUTHORIZED_NETWORK_RANGE dengan rentang alamat IP dalam notasi CIDR. Rentang ini ditambahkan sebagai jaringan yang diizinkan untuk cluster lingkungan Anda.
  • AUTHORIZED_NETWORK_NAME dengan nama untuk rentang IP jaringan yang diizinkan. Anda menggunakan nama ini untuk mengidentifikasi blok ini.
  • Jika Anda ingin menggunakan beberapa rentang IP, tambahkan blok cidr_blocks tambahan ke master_authorized_networks_config.

Contoh (Lingkungan IP pribadi):

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"
      }
    }
  }
}

Menentukan jaringan yang diizinkan untuk lingkungan yang ada

Anda dapat menentukan jaringan yang diizinkan untuk lingkungan yang ada.

gcloud

Untuk menentukan jaringan yang diizinkan, gunakan argumen --enable-master-authorized-networks. Kemudian, berikan daftar rentang CIDR yang dipisahkan koma dalam argumen --master-authorized-networks.

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

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.
  • LOCATION dengan region tempat lingkungan berada.
  • AUTHORIZED_NETWORKS_IP_RANGES dengan daftar rentang alamat IP yang dipisahkan koma dalam notasi CIDR. Rentang ini ditambahkan sebagai jaringan yang diizinkan untuk cluster lingkungan Anda.

Contoh:

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. Buat permintaan API environments.patch.

  2. Dalam permintaan ini:

    1. Dalam parameter updateMask, tentukan mask config.softwareConfig.masterAuthorizedNetworksConfig.

    2. Dalam isi permintaan, tentukan rentang CIDR untuk jaringan yang diizinkan.

"config": {

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

Ganti:

  • AUTHORIZED_NETWORK_NAME dengan nama untuk rentang IP jaringan yang diizinkan. Anda menggunakan nama ini untuk mengidentifikasi blok ini. Kolom ini bersifat opsional.
  • AUTHORIZED_NETWORK_RANGE dengan rentang alamat IP dalam notasi CIDR. Rentang ini ditambahkan sebagai jaringan yang diizinkan untuk cluster lingkungan Anda.
  • Jika Anda ingin menggunakan beberapa rentang IP, tambahkan rentang tambahan ke cidrBlocks.

Contoh:

// 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

Blok master_authorized_networks_config di blok config mengontrol jaringan resmi untuk lingkungan Anda.

Untuk menambahkan jaringan yang diotorisasi untuk lingkungan IP Pribadi, tambahkan blok ini ke definisi lingkungan Anda:

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"
      }

    }
  }
}

Ganti:

  • AUTHORIZED_NETWORK_RANGE dengan rentang alamat IP dalam notasi CIDR. Rentang ini ditambahkan sebagai jaringan yang diizinkan untuk cluster lingkungan Anda.
  • AUTHORIZED_NETWORK_NAME dengan nama untuk rentang IP jaringan yang diizinkan. Anda menggunakan nama ini untuk mengidentifikasi blok ini.
  • Jika Anda ingin menggunakan beberapa rentang IP, tambahkan blok cidr_blocks tambahan ke master_authorized_networks_config.

Contoh:

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"
      }
    }
  }
}

Nonaktifkan jaringan yang diizinkan

Anda dapat menonaktifkan jaringan yang diizinkan untuk lingkungan yang ada:

  • Untuk lingkungan IP Pribadi, tindakan ini akan menghapus akses untuk rentang yang sebelumnya ditambahkan sebagai jaringan yang diizinkan.
  • Untuk lingkungan IP Publik, tindakan ini akan menghapus batasan yang sebelumnya dikonfigurasi.

gcloud

Untuk menonaktifkan jaringan yang diizinkan, gunakan argumen --disable-master-authorized-networks.

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

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.
  • LOCATION dengan region tempat lingkungan berada.

Contoh:

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

API

  1. Buat permintaan API environments.patch.

  2. Dalam permintaan ini:

    1. Dalam parameter updateMask, tentukan mask config.softwareConfig.masterAuthorizedNetworksConfig.

    2. Dalam isi permintaan, tentukan false di kolom enabled.

"config": {

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

Contoh:

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

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

Terraform

Blok master_authorized_networks_config di blok config mengontrol jaringan resmi untuk lingkungan Anda.

Untuk menonaktifkan jaringan yang diizinkan, tetapkan kolom enabled di blok master_authorized_networks_config ke false.

Contoh:

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
    }
  }
}

Langkah selanjutnya