Mengonfigurasi Private Service Connect di Cloud Composer

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Halaman ini menjelaskan cara membuat lingkungan IP Pribadi yang menggunakan Private Service Connect, bukan peering VPC.

Untuk informasi umum tentang cara membuat lingkungan IP Pribadi, lihat Mengonfigurasi lingkungan IP pribadi.

Tentang Private Service Connect di Cloud Composer

Komponen lingkungan Anda didistribusikan antara tenant dan project pelanggan. Di lingkungan IP Pribadi, komponen yang berada di kedua project ini terhubung menggunakan peering VPC. Peering VPC memiliki beberapa batasan, termasuk batas jumlah maksimum peiring di VPC. Batas ini dapat menjadi lebih jelas jika Anda menggunakan jaringan berskala besar dengan lingkungan Cloud Composer.

Dengan dukungan Private Service Connect di Cloud Composer, lingkungan IP pribadi Anda berkomunikasi secara internal tanpa menggunakan peering VPC. Lingkungan tersebut menggunakan IP Pribadi dengan arsitektur PSC.

Sebelum memulai

  • Dukungan Private Service Connect hanya tersedia di Cloud Composer 2.

  • Anda hanya dapat mengaktifkan Private Service Connect saat membuat lingkungan baru. Anda tidak dapat mengalihkan lingkungan yang ada untuk menggunakan Private Service Connect.

  • Lingkungan Anda harus berupa lingkungan IP Pribadi. Karena peering VPC tidak digunakan, Anda tidak perlu menentukan rentang CIDR untuk instance Cloud SQL dan jaringan Cloud Composer internal.

  • Jika batasan kebijakan organisasi Disable Private Service Connect for Consumers menolak endpoint SERVICE_PRODUCER, Anda tidak dapat membuat lingkungan dengan Private Service Connect. Kebijakan ini tidak memengaruhi lingkungan Cloud Composer yang ada dengan Private Service Connect. Lingkungan tersebut dapat beroperasi saat kebijakan ini diaktifkan.

Mengaktifkan Private Service Connect saat Anda membuat lingkungan

Konsol

Untuk membuat lingkungan dengan Private Service Connect, pilih jenis konektivitas Private Service Connect saat Anda membuat lingkungan IP Pribadi. Kemudian, tentukan subjaringan untuk koneksi Private Service Connect.

Saat Anda membuat lingkungan IP Pribadi:

  1. Di bagian Konfigurasi jaringan, luaskan item Tampilkan konfigurasi jaringan.

  2. Di bagian Networking type, pilih opsi Private IP environment untuk membuat lingkungan IP Pribadi.

  3. Di bagian Composer connectivity, pilih Private Service Connect.

  4. Di menu drop-down Composer connection subnetwork, pilih subnet untuk endpoint Private Service Connect.

    Anda dapat menggunakan subnetwork lingkungan.

    Atau, Anda dapat menentukan subjaringan yang berbeda. Tindakan ini memberi Anda kontrol lebih besar atas rentang CIDR tempat alamat IP untuk endpoint PSC dipilih.Rentang ini dapat dibagikan oleh beberapa lingkungan Cloud Composer. Setiap lingkungan memerlukan satu alamat IP.

  5. Tentukan parameter lain untuk lingkungan IP Pribadi Anda.

gcloud

Untuk membuat lingkungan dengan Private Service Connect, gunakan argumen --connection-subnetwork saat Anda membuat lingkungan IP Pribadi. Kemudian, tentukan subjaringan untuk koneksi Private Service Connect.

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-2.9.11-airflow-2.9.3 \
    --enable-private-environment \
    --web-server-allow-all \
    --connection-subnetwork ENVIRONMENT_PSC_SUBNETWORK

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.
  • LOCATION dengan region tempat lingkungan berada.
  • ENVIRONMENT_PSC_SUBNETWORK dengan URI subjaringan untuk endpoint Private Service Connect.

    Anda dapat menggunakan subnetwork lingkungan.

    Atau, Anda dapat menentukan subjaringan yang berbeda. Tindakan ini memberi Anda lebih banyak kontrol atas rentang CIDR tempat alamat IP untuk endpoint PSC dipilih. Rentang ini dapat digunakan bersama oleh beberapa lingkungan Cloud Composer. Setiap lingkungan memerlukan satu alamat IP.

Contoh:

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-2.9.11-airflow-2.9.3 \
    --enable-private-environment \
    --web-server-allow-all \
    --connection-subnetwork "projects/example-project/regions/us-central1/subnetworks/default"

API

Buat permintaan API environments.create. Di resource Environment, tentukan parameter konfigurasi untuk koneksi Private Service Connect.

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

{
  "name": "ENVIRONMENT_NAME",

  "config": {
    "softwareConfig": {
      "imageVersion": "composer-2.9.11-airflow-2.9.3"
    },
    "nodeConfig": {
      "network": "ENVIRONMENT_NETWORK",
      "subnetwork": "ENVIRONMENT_SUBNETWORK"
    },
    "privateEnvironmentConfig": {
      "enablePrivateEnvironment": true,
      "privateClusterConfig": {
        "enablePrivateEndpoint": false
      },
      "cloudComposerConnectionSubnetwork": "ENVIRONMENT_PSC_SUBNETWORK"
    }
    "webServerNetworkAccessControl": {
      "allowedIpRanges": [
        {
          "value": "0.0.0.0/0",
          "description": "Allows access from all IPv4 addresses"
        },
        {
          "value": "::0/0",
          "description": "Allows access from all IPv6 addresses"
        }
      ]
    }
  }
}

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.
  • ENVIRONMENT_NETWORK dengan URI jaringan lingkungan Anda.
  • ENVIRONMENT_SUBNETWORK dengan URI subnetwork lingkungan Anda.
  • ENVIRONMENT_PSC_SUBNETWORK dengan URI subnetwork untuk endpoint PSC.

    Anda dapat menggunakan subnetwork lingkungan.

    Atau, Anda dapat menentukan subjaringan yang berbeda. Tindakan ini memberi Anda lebih banyak kontrol atas rentang CIDR tempat alamat IP untuk endpoint PSC dipilih. Rentang ini dapat digunakan bersama oleh beberapa lingkungan Cloud Composer. Setiap lingkungan memerlukan satu alamat IP.

Contoh:

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

{
  "name": "example-environment",
  "config": {

    "softwareConfig": {
      "imageVersion": "composer-2.9.11-airflow-2.9.3"
    },
    "nodeConfig": {
      "network": "projects/example-project/global/networks/default",
      "subnetwork": "projects/example-project/regions/us-central1/subnetworks/default"
    },
    "privateEnvironmentConfig": {
      "enablePrivateEnvironment": true,
      "privateClusterConfig": {
        "enablePrivateEndpoint": false
      },
      "cloudComposerConnectionSubnetwork": "projects/example-project/regions/us-central1/subnetworks/default"
    }
    "webServerNetworkAccessControl": {
      "allowedIpRanges": [
        {
          "value": "0.0.0.0/0",
          "description": "Allows access from all IPv4 addresses"
        },
        {
          "value": "::0/0",
          "description": "Allows access from all IPv6 addresses"
        }
      ]
    }
  }
}

Terraform

Saat Anda membuat lingkungan, kolom cloud_composer_connection_subnetwork di blok private_environment_config akan mengaktifkan Private Service Connect.

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

  config {

    software_config {
      image_version = "composer-2.9.11-airflow-2.9.3"
    }

    node_config {
      network = "ENVIRONMENT_NETWORK"
      subnetwork = "ENVIRONMENT_SUBNETWORK"

    }

    private_environment_config {
      // Other private IP environment parameters
      cloud_composer_connection_subnetwork = "ENVIRONMENT_PSC_SUBNETWORK"
    }

    web_server_network_access_control  {
      allowed_ip_range {
        value = "0.0.0.0/0"
        description = "Allows access from all IPv4 addresses"
      }

      allowed_ip_range {
        value = "::0/0"
        description = "Allows access from all IPv6 addresses"
      }
    }
  }
}

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.
  • ENVIRONMENT_NETWORK dengan URI jaringan lingkungan Anda.
  • ENVIRONMENT_SUBNETWORK dengan URI subnetwork lingkungan Anda.
  • ENVIRONMENT_PSC_SUBNETWORK dengan URI subnetwork untuk endpoint PSC.

    Anda dapat menggunakan subnetwork lingkungan.

    Atau, Anda dapat menentukan subjaringan yang berbeda. Tindakan ini memberi Anda lebih banyak kontrol atas rentang CIDR tempat alamat IP untuk endpoint PSC dipilih. Rentang ini dapat digunakan bersama oleh beberapa lingkungan Cloud Composer. Setiap lingkungan memerlukan satu alamat IP.

Contoh:

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

  config {
    environment_size = "ENVIRONMENT_SIZE_SMALL"

    software_config {
      image_version = "composer-2.9.11-airflow-2.9.3"
    }

    node_config {
      network = "projects/example-project/global/networks/default"
      subnetwork = "projects/example-project/regions/us-central1/subnetworks/default"
    }

    private_environment_config {
      // Other private IP environment parameters
      enable_private_endpoint = "true"
      cloud_composer_connection_subnetwork = "projects/example-project/regions/us-central1/subnetworks/default"
    }

    web_server_network_access_control  {
      allowed_ip_range {
        value = "0.0.0.0/0"
        description = "Allows access from all IPv4 addresses"
      }

      allowed_ip_range {
        value = "::0/0"
        description = "Allows access from all IPv6 addresses"
      }
    }
 }
}

Langkah selanjutnya