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.

Dank der Unterstützung von Private Service Connect in Cloud Composer kommunizieren Ihre privaten IP-Umgebungen intern ohne VPC-Peerings. In solchen Umgebungen wird die private IP-Adresse mit PSC-Architektur verwendet.

Hinweise

  • 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 interne Cloud Composer-Netzwerk nicht angeben.

  • Wenn die Einschränkung der Organisationsrichtlinie Private Service Connect für Nutzer deaktivieren SERVICE_PRODUCER-Endpunkte ablehnt, können keine Umgebungen mit Private Service Connect erstellt werden. Diese Richtlinie wirkt sich nicht auf vorhandene Cloud Composer-Umgebungen mit PSC aus. Solche Umgebungen können ausgeführt werden, wenn diese Richtlinie aktiviert ist.

Private Service Connect beim Erstellen einer Umgebung aktivieren

Console

Wählen Sie beim Erstellen einer privaten IP-Umgebung den Verbindungstyp Private Service Connect aus, um eine Umgebung mit Private Service Connect zu erstellen. Geben Sie dann das Subnetzwerk für die Private Service Connect-Verbindung an.

Wenn Sie eine private IP-Umgebung erstellen, gilt Folgendes:

  1. Maximieren Sie im Abschnitt Netzwerkkonfiguration das Element Netzwerkkonfiguration anzeigen.

  2. Wählen Sie im Bereich Netzwerktyp die Option Umgebung mit privater IP aus, um eine Umgebung mit privater IP zu erstellen.

  3. Wählen Sie im Bereich Composer-Verbindung die Option Private Service Connect aus.

  4. Wählen Sie in der Drop-down-Liste Composer-Verbindungssubnetzwerk das Subnetzwerk für Private Service Connect-Endpunkte aus.

    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.

  5. Geben Sie weitere Parameter für Ihre private IP-Umgebung an.

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 composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --enable-private-environment \
    --web-server-allow-all \
    --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 Private Service Connect-Endpunkte.

    Sie können das Subnetzwerk Ihrer Umgebung verwenden.

    Alternativ können Sie ein anderes Subnetzwerk angeben. Dadurch erhalten 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 genutzt werden. Jede Umgebung erfordert genau eine IP-Adresse.

Beispiel:

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --enable-private-environment \
    --web-server-allow-all \
    --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/v1/{parent=projects/*/locations/*}/environments

{
  "name": "ENVIRONMENT_NAME",

  "config": {
    "softwareConfig": {
      "imageVersion": "composer-2.6.6-airflow-2.6.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"
        }
      ]
    }
  }
}

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 erhalten 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 genutzt werden. Für jede Umgebung ist eine IP-Adresse erforderlich.

Beispiel:

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

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

    "softwareConfig": {
      "imageVersion": "composer-2.6.6-airflow-2.6.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

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

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

  config {

    software_config {
      image_version = "composer-2.6.6-airflow-2.6.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"
      }
    }
  }
}

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 erhalten 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 genutzt 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 {
    environment_size = "ENVIRONMENT_SIZE_SMALL"

    software_config {
      image_version = "composer-2.6.6-airflow-2.6.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"
      }
    }
 }
}

Nächste Schritte