Umgebung mit einem VPC-Netzwerk verbinden

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Auf dieser Seite wird erläutert, wie Ihre Umgebung auf ein VPC-Netzwerk in Cloud Composer 3 zugreifen kann. Außerdem wird beschrieben, wie Sie eine Umgebung mit einem VPC-Netzwerk verbinden und eine zuvor konfigurierte Verbindung deaktivieren.

VPC-Netzwerkzugriff

In Cloud Composer 3 können Sie den Zugriff auf ein VPC-Netzwerk für eine Umgebung aktivieren.

Wenn Sie den Zugriff auf ein VPC-Netzwerk für eine Umgebung aktivieren:

  • Airflow-Komponenten Ihrer Umgebung können auf private Netzwerkendpunkte in Ihrem VPC-Netzwerk zugreifen. Ihr DAG-Code kann beispielsweise über eine konfigurierte Airflow-Verbindung auf Ressourcen in Ihrem VPC-Netzwerk zugreifen.

  • Wenn Ihre Umgebung ein privates IP-Netzwerk verwendet, wird der gesamte interne Traffic mit Ausnahme des Traffics zur Google Services API an Ihr VPC-Netzwerk weitergeleitet.

  • Je nachdem, wie Sie Ihr VPC-Netzwerk konfigurieren, kann eine private IP-Umgebung über das VPC-Netzwerk Zugriff auf das Internet erhalten.

  • Unabhängig vom Zugriffsstatus des VPC-Netzwerk ist der Zugriff auf Google Services APIs immer möglich.

  • In Ihrem VPC-Netzwerk definierte private DNS-Zonen stehen den Airflow-Komponenten Ihrer Umgebung automatisch zur Verfügung.

  • Die Umgebung reserviert zwei IP-Adressen in Ihrem VPC-Subnetzwerk.

Cloud Composer verwendet einen Netzwerkanhang, um Ihre Umgebung mit einem VPC-Netzwerk zu verbinden:

  • Wenn Sie ein VPC-Netzwerk und ein Subnetzwerk angeben, erstellt Cloud Composer in Ihrem Projekt einen neuen Netzwerkanhang. Dieser Anhang wird gelöscht, nachdem Sie eine Umgebung gelöscht, die Verbindung zu einem VPC-Netzwerk deaktiviert oder die VPC-Verbindungsparameter überschrieben haben.

  • Wenn Sie einen vorhandenen Netzwerkanhang angeben, muss sich dieser im selben Projekt wie die Umgebung befinden. Dieser Anhang wird nicht gelöscht, nachdem Sie eine Umgebung gelöscht, die Verbindung deaktiviert oder die VPC-Verbindungsparameter überschrieben haben.

  • Im freigegebenen VPC-Netzwerk:

    • Achten Sie darauf, dass Sie ein freigegebene VPC-Netzwerk für Cloud Composer konfiguriert haben. Weitere Informationen zum Konfigurieren von Projekten und Berechtigungen für Cloud Composer finden Sie unter Freigegebene VPC konfigurieren.

    • Nachdem das freigegebene VPC-Netzwerk konfiguriert wurde, können Sie Ihre Umgebung vom Hostprojekt mit einem VPC-Netzwerk verbinden. Wenn Sie einen vorhandenen Netzwerkanhang verwenden, muss dieser im Dienstprojekt erstellt werden, in dem sich die Umgebung befindet, und an ein freigegebene VPC-Netzwerk angehängt werden.

Informationen zum internen IP-Bereich der Umgebung

Cloud Composer 3-Umgebungen benötigen mehrere IP-Adressen für die Komponenten, die im Mandantenprojekt ausgeführt werden, z. B. den Cluster Ihrer Umgebung und den Cloud SQL-Proxy. Diese IP-Adressen stammen aus dem internen IP-Bereich der Umgebung.

  • Der standardmäßige interne IP-Bereich ist 100.64.128.0/20.

  • Sie können beim Erstellen einer Umgebung einen anderen internen IP-Bereich angeben. In diesem Bereich muss eine /20-Maske verwendet werden.

  • Sie können den internen IP-Bereich einer vorhandenen Umgebung nicht ändern.

Der interne IP-Bereich interagiert auf folgende Weise mit Ihrem VPC-Netzwerk:

  • Der interne IP-Bereich darf nicht mit dem VPC-Subnetzwerk in Konflikt stehen, mit dem die Cloud Composer-Umgebung verbunden ist. Eine Verbindung mit einem VPC-Subnetzwerk, das sich mit dem internen IP-Bereich überschneidet, kann nicht hergestellt werden.

  • Wenn sich der interne IP-Bereich einer Umgebung mit den Bereichen Ihres VPC-Netzwerks überschneidet, sind Endpunkte aus Ihrem VPC-Netzwerk mit sich überschneidenden IP-Adressen von der Umgebung aus nicht zugänglich.

    Wenn der interne Bereich beispielsweise 100.64.128.0/20 ist, schlägt jede Anfrage an den Endpunkt 100.64.128.1 in Ihrem VPC-Netzwerk fehl, da die Anfrage das Mandantenprojekt nicht verlässt.

  • Der interne IP-Bereich ist nicht reserviert. Sie können denselben internen IP-Bereich für mehrere Umgebungen ohne zusätzliche Einrichtung verwenden, da die von verschiedenen Umgebungen verwendeten internen VPC-Netzwerke getrennt sind.

  • Sie können die IP-Adressen des internen Bereichs für andere Zwecke verwenden, solange DAGs und Aufgaben in Ihrer Umgebung keine Anfragen an sie senden.

Verbindung zu einem VPC-Netzwerk herstellen

Console

  1. Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.

    Zur Seite Umgebungen“

  2. Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.

  3. Rufen Sie den Tab Umgebungskonfiguration auf.

  4. Suchen Sie im Abschnitt Netzwerkkonfiguration den Eintrag Netzwerkanhang und klicken Sie auf Bearbeiten.

  5. Gehen Sie im Dialogfeld Netzwerkanhang so vor:

    • Wählen Sie zum Erstellen eines neuen Netzwerkanhangs in der Liste Netzwerkanhang die Option Neuen Netzwerkanhang erstellen aus. Wählen Sie in den Listen Netzwerk und Subnetzwerk ein VPC-Netzwerk und ein Subnetzwerk aus.

    • Wenn Sie einen vorhandenen Netzwerkanhang verwenden möchten, wählen Sie in der Liste Netzwerkanhang einen Anhang aus.

  6. Klicken Sie auf Speichern.

gcloud

Die folgenden Argumente der Google Cloud CLI geben Parameter für die VPC-Netzwerkverbindung an:

  • --network: VPC-Netzwerk-ID.
  • --subnetwork: VPC-Subnetzwerk-ID.
  • --network-attachment: Verwenden Sie stattdessen einen vorhandenen Netzwerkanhang.

Neuer Netzwerkanhang

Führen Sie den folgenden Google Cloud CLI-Befehl aus, um Ihre Umgebung über einen neuen Netzwerkanhang mit einem VPC-Netzwerk zu verbinden:

gcloud beta composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --network NETWORK_ID \
  --subnetwork SUBNETWORK_ID

Ersetzen Sie Folgendes:

  • ENVIRONMENT_NAME: der Name der Umgebung
  • LOCATION: Region, in der sich die Umgebung befindet
  • NETWORK_ID: VPC-Netzwerk-ID
  • SUBNETWORK_ID: VPC-Subnetzwerk-ID

Beispiel:

gcloud beta composer environments update example-environment \
  --location us-central1 \
  --network projects/example-project/global/networks/example-network \
  --subnetwork projects/example-project/regions/us-central1/subnetworks/example-subnetwork

Vorhandener Netzwerkanhang

Führen Sie den folgenden Google Cloud CLI-Befehl aus, um Ihre Umgebung über einen neuen Netzwerkanhang mit einem VPC-Netzwerk zu verbinden:

gcloud beta composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --network-attachment NETWORK_ATTACHMENT_ID

Ersetzen Sie Folgendes:

  • ENVIRONMENT_NAME: der Name der Umgebung
  • LOCATION: Region, in der sich die Umgebung befindet
  • NETWORK_ATTACHMENT_ID: der Netzwerkanhang im Format projects/{project}/regions/{region}/networkAttachments/{networkAttachment}.

Beispiel:

gcloud beta composer environments update example-environment \
  --location us-central1 \
  --network-attachment projects/example-project/regions/us-central1/networkAttachments/example-network-attachment

API

  1. Erstellen Sie eine environments.patch-API-Anfrage.

  2. In dieser Anfrage:

    • So erstellen Sie einen neuen Netzwerkanhang:

      1. Geben Sie im Parameter updateMask die Maske config.node_config.network,config.node_config.subnetwork an.

      2. Geben Sie im Anfragetext in den Feldern network und subnetwork das VPC-Netzwerk und die Subnetzwerk-IDs an.

    • So verwenden Sie einen vorhandenen Netzwerkanhang:

      1. Geben Sie im Parameter updateMask die Maske config.node_config.composer_network_attachment an.

      2. Geben Sie im Anfragetext einen Wert für den vorhandenen Netzwerkanhang im Format projects/{project}/regions/{region}/networkAttachments/{networkAttachment} an.

Beispiel (neuer Netzwerkanhang):

// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.node_config.network,config.node_config.subnetwork

"config": {
  "nodeConfig": {
    "network": "projects/example-project/global/networks/example-network",
    "subnetwork": "projects/example-project/regions/us-central1/subnetworks/example-subnetwork"
  }
}

Beispiel (vorhandener Netzwerkanhang):

// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.node_config.composer_network_attachment

"config": {
  "nodeConfig": {
    "composerNetworkAttachment": "projects/example-project/regions/us-central1/networkAttachments/example-network-attachment"
  }
}

Terraform

Die folgenden Felder im Block node_config geben Parameter für VPC-Netzwerkverbindungen an:

  • network: VPC-Netzwerk-ID.
  • subnetwork: VPC-Subnetzwerk-ID.
  • composer_network_attachment: Verwenden Sie stattdessen einen vorhandenen Netzwerkanhang.

Neuer Netzwerkanhang

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

  config {

    node_config {
      network = NETWORK_ID
      subnetwork = SUBNETWORK_ID
    }

  }
}

Ersetzen Sie Folgendes:

  • ENVIRONMENT_NAME: der Name Ihrer Umgebung
  • LOCATION: Region, in der sich die Umgebung befindet.
  • NETWORK_ID: VPC-Netzwerk-ID
  • SUBNETWORK_ID: VPC-Subnetzwerk-ID

Beispiel (neuer Netzwerkanhang):

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

  config {

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

    ... other configuration parameters
  }
}

Vorhandener Netzwerkanhang

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

  config {

    node_config {
      composer_network_attachment = NETWORK_ATTACHMENT_ID
    }

  }
}

Ersetzen Sie Folgendes:

  • ENVIRONMENT_NAME: der Name Ihrer Umgebung
  • LOCATION: Region, in der sich die Umgebung befindet.
  • NETWORK_ATTACHMENT_ID: die ID des Netzwerkanhangs.

Beispiel (vorhandener Netzwerkanhang):

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

  config {

    node_config {
      composer_network_attachment = projects/example-project/regions/us-central1/networkAttachments/example-network-attachment
    }

    ... other configuration parameters
  }
}

Verbindung zu einem VPC-Netzwerk deaktivieren

Console

  1. Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.

    Zur Seite Umgebungen“

  2. Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.

  3. Rufen Sie den Tab Umgebungskonfiguration auf.

  4. Suchen Sie im Abschnitt Netzwerkkonfiguration den Eintrag Netzwerkanhang und klicken Sie auf Bearbeiten.

  5. Wählen Sie im Dialogfeld Netzwerkanhang die Option Keine aus und klicken Sie auf Speichern.

gcloud

Die Argumente --disable-vpc-connectivity deaktivieren die VPC-Netzwerkverbindung Ihrer Umgebung:

gcloud beta composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --disable-vpc-connectivity

Ersetzen Sie Folgendes:

  • ENVIRONMENT_NAME: der Name der Umgebung
  • LOCATION: Region, in der sich die Umgebung befindet

Beispiel:

gcloud beta composer environments update example-environment \
  --location us-central1 \
  --disable-vpc-connectivity

API

  1. Erstellen Sie eine environments.patch-API-Anfrage.

  2. In dieser Anfrage:

    1. Geben Sie im Parameter updateMask die Maske config.node_config.network,config.node_config.subnetwork an.

    2. Geben Sie im Anfragetext in den Feldern network und subnetwork leere Werte an.

Beispiel:

// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.node_config.network,config.node_config.subnetwork

"config": {
  "nodeConfig": {
    "network": "",
    "subnetwork": ""
  }
}

Terraform

Ein VPC-Netzwerk kann nicht mithilfe von Terraform getrennt werden. Stattdessen können Sie ein anderes VPC-Netzwerk anhängen oder das Netzwerk mit anderen Tools wie der Google Cloud CLI trennen.

Nächste Schritte