Private Service Connect in Cloud Composer konfigurieren

Cloud Composer 1 Cloud Composer 2

Auf dieser Seite wird erläutert, wie Sie eine private IP-Umgebung erstellen, die Private Service Connect anstelle von VPC-Peerings verwendet.

Allgemeine Informationen zum Erstellen privater IP-Umgebungen finden Sie unter Private IP-Umgebung konfigurieren.

Informationen zu Private Service Connect in Cloud Composer

Komponenten Ihrer Umgebung werden auf den Mandanten und das Kundenprojekt verteilt. In privaten IP-Umgebungen stellen die Komponenten in diesen beiden Projekten eine Verbindung über VPC-Peerings her. Für VPC-Peerings gelten einige Einschränkungen, einschließlich der maximalen Anzahl von Peerings in einer VPC. Diese Limits werden möglicherweise offensichtlicher, wenn Sie große Netzwerke mit Cloud Composer-Umgebungen verwenden.

Durch die Unterstützung von Private Service Connect in Cloud Composer kommunizieren Ihre privaten IP-Umgebungen intern ohne VPC-Peerings. Solche Umgebungen verwenden die private IP-Adresse mit PSC-Architektur.

Hinweis

  • Private Service Connect-Unterstützung ist nur in Cloud Composer 2 verfügbar.

  • Sie können Private Service Connect nur aktivieren, wenn Sie eine neue Umgebung erstellen. Es ist nicht möglich, eine vorhandene Umgebung auf die Verwendung von Private Service Connect umzustellen.

  • Die Umgebung muss eine private IP-Umgebung sein. Da keine VPC-Peerings verwendet werden, müssen Sie die CIDR-Bereiche für die Cloud SQL-Instanz und das Cloud Composer-Netzwerk nicht angeben.

  • Sie können Umgebungen mit Private Service Connect mithilfe von gcloud, Terraform und der REST API erstellen.

  • Wenn die Dienstrichtlinien-Beschränkung „Private Service Connect für Nutzer deaktivieren“ und SERVICE_PRODUCER-Endpunkte ablehnen, können keine Umgebungen mit Private Service Connect erstellt werden. Als Problemumgehung können Sie diese Einschränkung deaktivieren, eine Umgebung erstellen und die Einschränkung dann wieder aktivieren.

Private Service Connect beim Erstellen einer Umgebung aktivieren

gcloud

Verwenden Sie zum Erstellen einer Umgebung mit Private Service Connect das Argument --connection-subnetwork, wenn Sie eine private IP-Umgebung erstellen. Geben Sie dann das Subnetzwerk für die Private Service Connect-Verbindung an.

gcloud beta composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-2.0.12-airflow-2.2.3 \
    --enable-private-environment \
    --connection-subnetwork ENVIRONMENT_PSC_SUBNETWORK

Ersetzen Sie:

  • ENVIRONMENT_NAME durch den Namen der Umgebung.
  • LOCATION durch die Region, in der sich die Umgebung befindet.
  • ENVIRONMENT_PSC_SUBNETWORK durch den URI des Subnetzwerks für PSC-Endpunkte.

    Sie können das Subnetzwerk Ihrer Umgebung verwenden.

    Alternativ können Sie ein anderes Subnetzwerk angeben. Dadurch haben Sie mehr Kontrolle über den CIDR-Bereich, aus dem die IP-Adresse für den PSC-Endpunkt ausgewählt wird. Dieser Bereich kann von mehreren Cloud Composer-Umgebungen gemeinsam verwendet werden. Jede Umgebung erfordert genau eine IP-Adresse.

Beispiel:

gcloud beta composer environments create example-environment \
    --location us-central1 \
    --image-version composer-2.0.12-airflow-2.2.3 \
    --enable-private-environment \
    --connection-subnetwork "projects/example-project/regions/us-central1/subnetworks/default"

API

Erstellen Sie eine API-Anfrage environments.create. Geben Sie in der Umgebungsressource die Konfigurationsparameter für die Private Service Connect-Verbindung an.

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

{
  "name": "ENVIRONMENT_NAME",

  "config": {
    "softwareConfig": {
      "imageVersion": "composer-2.0.12-airflow-2.2.3"
    },
    "nodeConfig": {
      "network": "ENVIRONMENT_NETWORK",
      "subnetwork": "ENVIRONMENT_SUBNETWORK"
    },
    "privateEnvironmentConfig": {
      "enablePrivateEnvironment": true,
      "privateClusterConfig": {
        "enablePrivateEndpoint": false
      },
      "cloudComposerConnectionSubnetwork": "ENVIRONMENT_PSC_SUBNETWORK"
    }
  }
}

Ersetzen Sie:

  • ENVIRONMENT_NAME durch den Namen der Umgebung.
  • ENVIRONMENT_NETWORK durch den URI des Netzwerks Ihrer Umgebung.
  • ENVIRONMENT_SUBNETWORK durch den URI des Subnetzwerks Ihrer Umgebung.
  • ENVIRONMENT_PSC_SUBNETWORK durch den URI des Subnetzwerks für PSC-Endpunkte.

    Sie können das Subnetzwerk Ihrer Umgebung verwenden.

    Alternativ können Sie ein anderes Subnetzwerk angeben. Dadurch können Sie den CIDR-Bereich, über den die IP-Adresse für den PSC-Endpunkt ausgewählt wird, besser steuern. Dieser Bereich kann von mehreren Cloud Composer-Umgebungen gemeinsam verwendet werden. Für jede Umgebung ist eine IP-Adresse erforderlich.

Beispiel:

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

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

    "softwareConfig": {
      "imageVersion": "composer-2.0.12-airflow-2.2.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"
    }
  }
}

Terraform

Wenn Sie eine Umgebung erstellen, wird das Feld cloud_composer_connection_subnetwork im Block private_environment_config für Private Service Connect aktiviert.

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

  config {

    software_config {
      image_version = "composer-2.0.12-airflow-2.2.3"
    }

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

    }

    private_environment_config {

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

Ersetzen Sie:

  • ENVIRONMENT_NAME durch den Namen der Umgebung.
  • ENVIRONMENT_NETWORK durch den URI des Netzwerks Ihrer Umgebung.
  • ENVIRONMENT_SUBNETWORK durch den URI des Subnetzwerks Ihrer Umgebung.
  • ENVIRONMENT_PSC_SUBNETWORK durch den URI des Subnetzwerks für PSC-Endpunkte.

    Sie können das Subnetzwerk Ihrer Umgebung verwenden.

    Alternativ können Sie ein anderes Subnetzwerk angeben. Dadurch können Sie den CIDR-Bereich, über den die IP-Adresse für den PSC-Endpunkt ausgewählt wird, besser steuern. Dieser Bereich kann von mehreren Cloud Composer-Umgebungen gemeinsam verwendet werden. Für jede Umgebung ist eine IP-Adresse erforderlich.

Beispiel:

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

  config {

    software_config {
      image_version = "composer-2.0.12-airflow-2.2.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
      cloud_composer_connection_subnetwork = "projects/example-project/regions/us-central1/subnetworks/default"
    }

  }
}

Weitere Informationen