Airflow Summit 2023
Auf der Airflow Summit 2023 können Sie der Airflow-Community vom 19. bis 21. September beitreten, um mehr über Airflow zu erfahren und Ihr Fachwissen zu teilen. Jetzt Termin für Papiervortrag einholen

Freigegebenes VPC-Netzwerk konfigurieren

Cloud Composer 1 | Cloud Composer 2

Auf dieser Seite werden die Anforderungen für das freigegebene VPC-Netzwerk und das Hostprojekt für Cloud Composer beschrieben.

Mit der freigegebenen VPC können Unternehmen Beschränkungen für Budget und Zugriffssteuerung auf Projektebene festlegen und dabei eine sichere und effiziente Kommunikation mit privaten IP-Adressen innerhalb dieser Beschränkungen ermöglichen. Bei der Konfiguration der freigegebenen VPC kann Cloud Composer Dienste aufrufen, die in anderen Google Cloud-Projekten in derselben Organisation gehostet werden, ohne Dienste im öffentlichen Internet verfügbar zu machen.

Richtlinien für freigegebene VPCs

Dienst- und Hostprojekte für Cloud Composer
Abbildung 1: Dienst- und Hostprojekte für Cloud Composer
  • Geben Sie für die freigegebene VPC ein Hostprojekt an, zu dem Netzwerke und Subnetzwerke gehören, sowie ein Dienstprojekt, das dem Hostprojekt zugeordnet ist. Wenn Cloud Composer an einer freigegebenen VPC teilnimmt, befindet sich die Cloud Composer-Umgebung im Dienstprojekt.

  • Wählen Sie zum Einrichten einer freigegebenen VPC die folgenden IP-Bereiche im Hostprojekt aus:

    • Primärer IP-Bereich des Subnetzes, das von GKE-Knoten verwendet wird, die Cloud Composer als Compute Engine-Ebene verwendet
    • Sekundärer IP-Bereich für GKE-Dienste.
    • Sekundärer IP-Bereich für GKE-Pods.
  • Sekundäre IP-Bereiche dürfen sich nicht mit anderen sekundären Bereichen in dieser VPC überschneiden.

  • Achten Sie darauf, dass sekundäre Bereiche groß genug sind, um die Größe des Clusters aufzufangen und die Skalierung der Umgebung.

    Unter VPC-native Cluster erstellen finden Sie Richtlinien zum Konfigurieren von sekundären Bereichen für Pods und Dienste.

  • Der primäre Adressbereich des Subnetzwerks muss ausreichend groß sein, um dem erwarteten Wachstum standhalten und die reservierten IP-Adressen unterbringen zu können.

  • Wenn Sie den IP-Maskierungs-Agent und die private IP-Konfiguration für Ihre Umgebungen verwenden, fügen Sie die IP-Bereiche von Knoten und Pods dem Abschnitt nonMasqueradeCIDRs der ConfigMap ip-masq-agent hinzu. Weitere Informationen finden Sie unter IP-Masquerade-Agent konfigurieren.

Vorbereitung

  1. Ermitteln Sie die folgenden Projekt-IDs und Projektnummern:

    • Hostprojekt: Das Projekt mit dem freigegebenen VPC-Netzwerk.
    • Dienstprojekt: Das Projekt mit der Cloud Composer-Umgebung.
  2. Organisation vorbereiten.

  3. Aktivieren Sie die GKE API in Ihren Host- und Dienstprojekten.

  4. Wenn Sie im Dienstprojekt eine Umgebung mit der Google Cloud Console erstellen, muss Ihr Konto im Hostprojekt die Berechtigung compute.subnetworks.use haben. Andernfalls enthält die Liste der verfügbaren Subnetzwerke keine Subnetzwerke aus dem Hostprojekt. Wenn Sie eine Umgebung mit gcloud, API oder Terraform erstellen, benötigt Ihr Konto diese zusätzliche Berechtigung nicht.

Hostprojekt konfigurieren

Konfigurieren Sie das Hostprojekt wie unten beschrieben.

(Private IP) Privaten Google-Zugriff aktivieren

Wenn Sie private IP-Umgebungen verwenden möchten, aktivieren Sie den privaten Google-Zugriff für das Subnetz im Hostprojekt. Dies können Sie im nächsten Schritt tun, wenn Sie Netzwerkressourcen für ein neues oder bereits vorhandenes Subnetz konfigurieren.

Wenn Sie vorhaben, öffentliche IP-Umgebungen zu verwenden, empfehlen wir weiterhin, den privaten Google-Zugriff für das Subnetz im Hostprojekt zu aktivieren. Wenn Sie keinen privater Google-Zugriff verwenden, achten Sie darauf, dass Sie keinen Traffic blockieren, den die Implizierte IPv4-Zulassungsregel für ausgehenden Traffic zulässt. Das ist erforderlich, um *.googleapis.com-Endpunkte erfolgreich zu erreichen.

Netzwerkressourcen konfigurieren

Wählen Sie eine der folgenden Optionen aus, um Netzwerkressourcen zuzuweisen und zu konfigurieren. Für jede Option müssen Sie die sekundären IP-Bereiche für Pods und Dienste benennen.

Freigegebene VPC einrichten und das Dienstprojekt anhängen

  1. Richten Sie eine freigegebene VPC ein, falls noch nicht geschehen. Wenn Sie bereits eine freigegebene VPC eingerichtet haben, fahren Sie mit dem nächsten Schritt fort.

  2. Hängen Sie das Dienstprojekt an, das Sie zum Hosten von Cloud Composer-Umgebungen verwenden.

    Übernehmen Sie beim Anhängen eines Projekts die standardmäßigen VPC-Netzwerkberechtigungen.

Berechtigungen für das Google APIs-Dienstkonto bearbeiten

Bearbeiten Sie im Hostprojekt die Berechtigungen für das Google APIs-Dienstkonto SERVICE_PROJECT_NUMBER@cloudservices.gserviceaccount.com.

Fügen Sie für dieses Konto auf Projektebene eine weitere Rolle hinzu, compute.networkUser. Dies ist eine Anforderung für verwaltete Instanzgruppen, die mit einer freigegebenen VPC verwendet werden, da diese Art von Dienstkonto Aufgaben wie die Instanzerstellung ausführt.

Berechtigungen für GKE-Dienstkonten bearbeiten

Bearbeiten Sie im Hostprojekt die Berechtigungen für die GKE-Dienstkonten service-SERVICE_PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com.

Fügen Sie für jedes Dienstkonto eine weitere Rolle, compute.networkUser hinzu.

Weisen Sie diese Rolle auf Subnetzebene zu, damit ein Dienstkonto die VPCs-Peerings einrichten kann, die für Cloud Composer erforderlich sind. Beachten Sie, dass Sie in diesem Fall das für die Umgebung zu verwendende Subnetzwerk explizit angeben müssen, da der GKE-Cluster möglicherweise keine Berechtigungen zum Suchen im Subnetzwerk hat.

Alternativ können Sie diese Rolle für das gesamte Hostprojekt zuweisen. In diesem Fall hat das GKE-Dienstkonto des Dienstprojekts die Berechtigung, jedes Subnetz im Hostprojekt zu verwenden.

Berechtigungen für das GKE-Dienstkonto des Dienstprojekts bearbeiten

Bearbeiten Sie im Hostprojekt die Berechtigungen für das GKE-Dienstkonto des Dienstprojekts.

Fügen Sie für dieses Konto eine weitere Rolle hinzu: Kubernetes Engine Host Service Agent User (roles/container.hostServiceAgentUser).

Dadurch kann das GKE-Dienstkonto des Dienstprojekts das GKE-Dienstkonto des Hostprojekts nutzen, um gemeinsam verwendete Netzwerkressourcen zu konfigurieren.

(Private IP, optional) Firewallregeln und Konnektivität zu Google-Domains konfigurieren

In einer freigegebenen VPC-Konfiguration mit privaten IP-Umgebungen können Sie den gesamten Traffic über mehrere IP-Adressen, die zur Domain private.googleapis.com gehören, an Google APIs und Dienste weiterleiten und die entsprechenden Firewallregeln konfigurieren. In dieser Konfiguration greift Ihre Umgebung über IP-Adressen, die nur innerhalb von Google Cloud weitergeleitet werden können, auf Google APIs und Dienste zu. Wenn Ihre freigegebene VPC-Konfiguration VPC Service Controls verwendet, leiten Sie Traffic stattdessen über restricted.googleapis.com weiter.

Wenn in Ihrer freigegebene VPC-Konfiguration private IP-Umgebungen verwendet werden, gilt Folgendes:

  1. Optional: Konfigurieren Sie die Verbindung zu Google APIs und Google-Diensten.
  2. Optional: Konfigurieren Sie Firewallregeln.

Wenn Ihre freigegebene VPC-Konfiguration VPC Service Controls verwendet, folgen Sie stattdessen der Anleitung für Umgebungen mit VPC Service Controls:

  1. Verbindung zu Google APIs und Google-Diensten konfigurieren
  2. Firewallregeln konfigurieren

Berechtigungen für das Composer-Agent-Dienstkonto bearbeiten

  1. Wenn dies im Dienstprojekt die erste Cloud Composer-Umgebung ist, stellen Sie das Composer-Agent-Dienstkonto bereit: gcloud beta services identity create --service=composer.googleapis.com.

  2. Im Hostprojekt:

    1. Berechtigungen für das Composer-Agent-Dienstkonto service-SERVICE_PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com bearbeiten

    2. Fügen Sie für dieses Konto eine weitere Rolle hinzu:

      • Fügen Sie für private IP-Umgebungen die Composer Shared VPC Agent-Rolle hinzu.

      • Fügen Sie für öffentliche IP-Umgebungen die Compute Network User-Rolle hinzu.

Sie haben nun die Konfiguration des freigegebenen VPC-Netzwerks für das Hostprojekt abgeschlossen.

Nächste Schritte