Private IP-Umgebung in Cloud Composer konfigurieren

Diese Seite enthält Informationen zum Konfigurieren einer privaten IP-Umgebung in Cloud Composer.

Wenn Sie private IP-Adressen aktivieren, weist Cloud Composer den verwalteten Google Kubernetes Engine- und Cloud SQL-VMs in der Umgebung nur private IP-Adressen (RFC 1918) zu.

Informationen zum Herstellen einer Verbindung mit Ressourcen in der Umgebung finden Sie unter Private IP-Adresse.

Vorbereitung

Zugriffsteuerung

Netzwerkanforderungen

Überprüfen Sie, ob das VPC-Netzwerk des Projekts die folgenden Anforderungen erfüllt:

  • Achten Sie darauf, dass es keine Konflikte bei privaten IP-Blöcken gibt. Wenn sich IP-Blöcke Ihres VPC-Netzwerks und der zugehörigen erstellten VPC-Peers mit IP-Blöcken im VPC-Netzwerk des von Google verwalteten Mandantenprojekts überschneiden, kann die Umgebung nicht von Cloud Composer erstellt werden. In der Spalte Webserver-IP-Bereich in der Tabelle unten finden Sie die in jeder Region verwendeten Standardwerte.
  • Stellen Sie sicher, dass es genügend sekundäre IP-Bereiche für die GKE-Pods und -Dienste von Cloud Composer gibt. GKE sucht für IP-Aliasing nach sekundären IP-Bereichen. Wenn GKE keinen Bereich findet, kann die Umgebung nicht von Cloud Composer erstellt werden.
  • Achten Sie darauf, dass es nicht mehr als 25 VPC-Peering-Verbindungen im VPC-Netzwerk gibt. Beachten Sie dabei Folgendes:
    • Cloud Composer erstellt für jede private IP-Umgebung in Cloud Composer eine Peering-Verbindung für das Netzwerk des Mandantenprojekts.
    • Eine weitere Peering-Verbindung im VPC-Netzwerk wird vom privaten GKE-Cluster erstellt.
    • Cloud Composer kann maximal 12 private IP-Umgebungen in Cloud Composer unterstützen.
    • Die maximal erstellbare Anzahl von privaten IP-Umgebungen in Cloud Composer hängt von der Anzahl der verwendeten VPC-Peering-Verbindungen im VPC-Netzwerk ab.
  • Sorgen Sie dafür, dass nicht mehr als 30 sekundäre Bereiche im Subnetzwerk vorhanden sind. Beachten Sie dabei Folgendes:
    • Der GKE-Cluster der privaten IP-Umgebung in Cloud Composer erstellt zwei sekundäre Bereiche im Subnetzwerk. Sie können für dasselbe VPC-Netzwerk mehrere Subnetzwerke in derselben Region erstellen.
    • Es werden maximal 30 sekundäre Bereiche unterstützt. Da für jede private IP-Umgebung in Cloud Composer zwei sekundäre Bereiche für die GKE-Pods und -Dienste von Cloud Composer benötigt werden, unterstützt jedes Subnetzwerk bis zu 15 private IP-Umgebungen in Cloud Composer.

Native VPC-Konfiguration

Cloud Composer unterstützt VPC-native GKE-Cluster in Ihrer Umgebung.

Beim Erstellen der Umgebung können Sie "VPC-nativ" aktivieren (mithilfe der Alias-IP) und Netzwerke konfigurieren, z. B. eine IP-Zuordnung, ohne die private IP-Umgebung zu aktivieren.

Da ein VPC-nativer Cluster für die Kommunikation von Airflow-Aufgaben mit anderen VMs erforderlich ist, die über private IPs erreichbar sind, müssen Sie beim Konfigurieren einer privaten IP-Umgebung auch "VPC-nativ" aktivieren.

Beispiele für die Konfiguration privater IP-Adressen und sekundärer Bereiche finden Sie im folgenden Abschnitt.

Private IP-Umgebung in Cloud Composer und sekundäre Bereiche konfigurieren

Console

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

    Seite "Umgebung erstellen" öffnen

  2. Konfigurieren Sie die Umgebung.
  3. Klicken Sie auf das Kästchen VPC-nativ aktivieren (mithilfe der Alias-IP).
  4. Geben Sie nach Bedarf die Netzwerkkonfiguration für den GKE-Cluster Ihrer Umgebung einschließlich der sekundären IP Aliasing-Bereiche ein.
  5. Klicken Sie auf das Kästchen Private IP-Umgebung, um eine private IP-Umgebung in Cloud Composer zu aktivieren.
  6. Geben Sie unter Privater IP-Bereich des GKE-Clustermasters einen IP-Bereich für die VPC des Masters ein oder verwenden Sie den Standard-IP-Bereich.
  7. Klicken Sie auf das Kästchen Auf GKE-Master mit dessen externer IP-Adresse zugreifen, um einen öffentlichen Endpunkt für den GKE-Cluster in der Umgebung zu aktivieren.

    Ihr Cluster wird mit Zugriff auf öffentlichen Endpunkt deaktiviert konfiguriert.

  8. Geben Sie unter Private Webserver-IP-Adresse einen IP-Bereich für den Airflow-Webserver ein oder verwenden Sie den Standard-IP-Bereich.
  9. Geben Sie unter Private Cloud SQL-IP-Adresse einen IP-Bereich für die Cloud SQL-Instanz ein oder verwenden Sie den Standard-IP-Bereich.
  10. Wenn Sie die Umgebung fertig konfiguriert haben, klicken Sie auf Erstellen.

gcloud

Konfigurieren Sie die Umgebung nach Bedarf, einschließlich der folgenden Argumente für eine private IP-Umgebung in Cloud Composer:

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION --enable-private-environment \
    OTHER_ARGUMENTS

Die folgenden Parameter sind erforderlich, sofern nicht angegeben:

  • ENVIRONMENT_NAME ist der Name der Umgebung. Der Wert muss folgendem Muster entsprechen: ^[a-z](?:[-0-9a-z]{0,62}[0-9a-z])?$.
  • LOCATION ist die Compute Engine-Region, in der sich die Umgebung befindet.
  • Mit --enable-private-environment aktivieren Sie eine private IP-Umgebung in Cloud Composer beim Erstellen einer Umgebung.
  • Mit --enable-ip-alias wird "VPC-nativ" mithilfe von Alias-IP-Adressen aktiviert. Dieser Parameter ist erforderlich, wenn --enable-private-environment verwendet wird oder sekundäre Bereiche für Pods und Dienste konfiguriert werden:
    • --cluster-secondary-range-name oder -cluster-ipv4-cidr dient dem Konfigurieren des sekundären Bereichs für Pods.
    • --services-secondary-range-name oder --services-ipv4-cidr dient dem Konfigurieren des sekundären Bereichs für Dienste.
  • Mit master-ipv4-cidr wird ein privater RFC 1918-Bereich für die VPC des Masters festgelegt.
  • (Optional) enable-private-endpoint dient dem Aktivieren eines öffentlichen Endpunkts für den GKE-Cluster in Ihrer Umgebung. Ihr Cluster wird mit Zugriff auf öffentlichen Endpunkt deaktiviert konfiguriert.

Im folgenden Beispiel wird eine Umgebung erstellt, in der die neueste unterstützte Cloud Composer-Image-Version in der Region us-central1 ausgeführt wird, die die Maschine n1-standard-2 verwendet:

Private IP-Adressen sind für die Umgebung aktiviert, wobei 192.168.2.0/28 der IP-Bereich für die VPC des GKE-Masters ist.

gcloud composer environments create test-environment \
    --location us-central1 \
    --zone us-central1-f \
    --machine-type n1-standard-2 \
    --image-version composer-latest-airflow-x.y.z \
    --enable-ip-alias \
    --enable-private-environment \
    --enable-private-endpoint \
    --master-ipv4-cidr 192.168.2.0/28 

API

Zum Erstellen einer neuen Cloud Composer-Umgebung mit der Cloud Composer REST API erstellen Sie eine environments.create-API-Anfrage und geben für die Ressource Environment Ihre Konfigurationsinformationen an.

Durch die folgende API-Anfrage wird beispielsweise eine neue Umgebung mit dem Namen privateip-test in der Zone us-central1-c erstellt:

POST https://composer.googleapis.com/v1/projects/test-project/locations/us-central1/environments{
  "config":{
    "nodeConfig":{
      "ipAllocationPolicy":{
        "useIpAliases":true,
        "clusterIpv4CidrBlock":"10.56.0.0/14",
        "servicesIpv4CidrBlock":"10.122.0.0/20"
      },
      "location":"projects/test-project/zones/us-central1-c",
      "network":"projects/test-project/global/networks/default",
      "oauthScopes":[

      ],
      "subnetwork":"projects/test-project/regions/us-central1/subnetworks/default",
      "tags":[

      ]
    },
    "nodeCount":3,
    "privateEnvironmentConfig":{
      "cloudSqlIpv4CidrBlock":"10.32.0.0/12",
      "webServerIpv4CidrBlock":"172.30.240.0/24",
      "enablePrivateEnvironment":true,
      "privateClusterConfig":{
        "enablePrivateEndpoint":false,
        "masterIpv4CidrBlock":"172.18.50.0/28"
      }
    },
    "softwareConfig":{
      "airflowConfigOverrides":{

      },
      "envVariables":{

      },
      "pythonVersion":"3",
      "pypiPackages":{

      }
    }
  },
  "labels":{
    "purpose":"test"
  },
  "name":"projects/test-project/locations/us-central1/environments/privateip-test"
}

Standard-IP-Bereiche

Region IP-Bereich GKE-Master Webserver-IP-Bereich Cloud SQL-IP-Bereich
asia-east2 172.16.0.0/23 172.31.255.0/24 10.0.0.0/12
asia-northeast1 172.16.2.0/23 172.31.254.0/24 10.0.0.0/12
asia-northeast2 172.16.32.0/23 172.31.239.0/24 10.0.0.0/12
asia-northeast3 172.16.30.0/23 172.31.240.0/24 10.0.0.0/12
asia-south1 172.16.4.0/23 172.31.253.0/24 10.0.0.0/12
australia-southeast1 172.16.6.0/23 172.31.252.0/24 10.0.0.0/12
europe-west1 172.16.8.0/23 172.31.251.0/24 10.0.0.0/12
europe-west2 172.16.10.0/23 172.31.250.0/24 10.0.0.0/12
europe-west3 172.16.12.0/23 172.31.249.0/24 10.0.0.0/12
europe-west6 172.16.14.0/23 172.31.248.0/24 10.0.0.0/12
northamerica-northeast1 172.16.16.0/23 172.31.247.0/24 10.0.0.0/12
southamerica-east1 172.16.18.0/23 172.31.246.0/24 10.0.0.0/12
us-central1 172.16.20.0/23 172.31.245.0/24 10.0.0.0/12
us-east1 172.16.22.0/23 172.31.244.0/24 10.0.0.0/12
us-east4 172.16.24.0/23 172.31.243.0/24 10.0.0.0/12
us-west3 172.16.26.0/23 172.31.242.0/24 10.0.0.0/12
us-west4 172.16.28.0/23 172.31.241.0/24 10.0.0.0/12