Private Service Connect in Cloud Composer konfigurieren

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

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.

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

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 keine die CIDR-Bereiche für die Cloud SQL-Instanz und die internen Cloud Composer-Netzwerk.

  • Wenn die Option Private Service Connect für Nutzer deaktivieren Ablehnung der Einschränkung der Organisationsrichtlinie SERVICE_PRODUCER-Endpunkten können keine Umgebungen mit Private Service Connect Diese Richtlinie hat keine Auswirkungen auf vorhandene Cloud Composer-Umgebungen mit Private Service Connect Solche Umgebungen können verwendet werden, wenn diese Richtlinie aktiviert ist.

Private Service Connect beim Erstellen einer Umgebung aktivieren

Console

So erstellen Sie eine Umgebung mit Private Service Connect: den Verbindungstyp Private Service Connect aus, wenn Sie Private IP-Umgebung. Geben Sie dann das Subnetzwerk für die Private Service Connect-Verbindung an.

Wenn Sie eine Umgebung mit privater IP-Adresse erstellen:

  1. Maximieren Sie im Bereich 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. Klicken Sie auf Composer-Verbindung die Option Private Service Connect aus.

  4. Wählen Sie in der Drop-down-Liste Composer-Verbindung – Subnetzwerk 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.9.7-airflow-2.9.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. Vorgehensweise gibt Ihnen mehr Kontrolle über den CIDR-Bereich, von dem aus die IP-Adresse für der PSC-Endpunkt ausgewählt ist. Dieser Bereich kann von mehreren Cloud Composer-Umgebungen. Jede Umgebung erfordert genau eine IP-Adresse.

Beispiel:

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-2.9.7-airflow-2.9.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.9.7-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"
        }
      ]
    }
  }
}

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

Beispiel:

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

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

    "softwareConfig": {
      "imageVersion": "composer-2.9.7-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

Wenn Sie eine Umgebung erstellen, wird vom cloud_composer_connection_subnetwork im private_environment_config-Block aktiviert, 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.7-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"
      }
    }
  }
}

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. Vorgehensweise gibt Ihnen mehr Kontrolle über den CIDR-Bereich, von dem aus die IP-Adresse für der PSC-Endpunkt ausgewählt ist. Dieser Bereich kann von mehreren Cloud Composer-Umgebungen. Für jede Umgebung ist eine IP-Adresse erforderlich Adresse.

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

Nächste Schritte