Freigegebenes VPC-Netzwerk konfigurieren

Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)

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

Gemeinsam genutzte VPC ermöglicht Organisationen die Festlegung von Budget- und Zugriffssteuerungsbeschränkungen auf Projektebene und dabei eine sichere und effiziente Kommunikation mit privaten IP-Adressen über diese Beschränkungen hinweg. Bei der Konfiguration der freigegebene VPC kann Managed Service for Apache Airflow Dienste aufrufen, die in anderen Projekten in derselben Organisation gehostet werden, ohne Dienste im öffentlichen Internet verfügbar zu machen. Google Cloud

Richtlinien für freigegebene VPC

Dienst- und Hostprojekte für Managed Airflow
Abbildung 1 Dienst- und Hostprojekte für Managed Airflow
  • Für die freigegebene VPC müssen Sie ein Hostprojekt festlegen, zu dem Netzwerke und Subnetzwerke gehören, sowie ein Dienstprojekt, das dem Hostprojekt zugeordnet ist. Ist Managed Airflow Bestandteil einer freigegebene VPC, befindet sich die Managed Airflow-Umgebung im Dienstprojekt.

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

    • Primärer IP-Bereich des Subnetzes, das von GKE-Knoten verwendet wird, die Managed Airflow 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 Subnetzes muss ausreichend groß sein, um dem erwarteten Wachstum standzuhalten und die nicht verwendbaren IP-Adressenunterbringen zu können.

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

Vorbereitung

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

    • Hostprojekt: Das Projekt, das das freigegebene VPC-Netzwerk enthält.
    • Dienstprojekt: Das Projekt mit der Managed Airflow-Umgebung.
  2. Organisation vorbereiten.

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

  4. Wenn Sie eine Umgebung im Dienstprojekt mit Google Cloud Konsole erstellen, muss Ihr Konto die compute.subnetworks.use Berechtigung im Hostprojekt 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.

Serviceprojekt konfigurieren

Wenn im Dienstprojekt noch nie Managed Airflow-Umgebungen erstellt wurden, stellen Sie das Dienstkonto des Composer-Dienst-Agents im Dienstprojekt bereit:

gcloud beta services identity create --service=composer.googleapis.com

Hostprojekt konfigurieren

Konfigurieren Sie das Hostprojekt wie unten beschrieben.

(Private IP) Privaten Google-Zugriff aktivieren

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

Wenn Sie Umgebungen mit öffentlichen IP-Adressen verwenden möchten, empfehlen wir trotzdem den privaten Google-Zugriff zu aktivieren für das Subnetz im Host projekt. Wenn Sie den privater Google-Zugriff nicht verwenden, blockieren Sie keinen Traffic, der andernfalls von der implizierten Firewallregel für ausgehenden Traffic mit IPv4 zugelassen würde. Dies 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 Managed Airflow-Umgebungen verwenden.

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

Berechtigungen für das Dienstkonto des Composer-Dienst-Agents gewähren

Im Hostprojekt:

  1. Bearbeiten Sie die Berechtigungen für das Dienstkonto des Composer-Dienst-Agents: service-SERVICE_PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com)

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

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

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

Berechtigungen für das Dienstkonto des Google APIs-Dienst-Agents gewähren

Im Hostprojekt:

  1. Bearbeiten Sie die Berechtigungen für das Dienstkonto des Google API-Dienst-Agents: SERVICE_PROJECT_NUMBER@cloudservices.gserviceaccount.com.

  2. Fügen Sie auf Projektebene eine weitere Rolle hinzu: Compute Network User (compute.networkUser). Dies ist eine Anforderung für verwaltete Instanzgruppen, die mit einer gemeinsam genutzten VPC verwendet werden , da diese Art von Dienstkonto Aufgaben wie die Instanz erstellung 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 mit einer der folgenden Optionen eine weitere Rolle hinzu: compute.networkUser.

  • Weisen Sie diese Rolle auf Subnetzebene zu, damit ein Dienstkonto die VPC-Peerings einrichten kann, die für Managed Service for Apache Airflow erforderlich sind. Geben Sie in diesem Fall explizit das Subnetz an, das von der Umgebung verwendet werden soll, da der Cluster der Umgebung möglicherweise nicht die Berechtigung hat, das Subnetz im Netzwerk zu finden.

  • Weisen Sie diese Rolle auf Projektebene für das gesamte Hostprojekt zu. 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 auf Projektebene eine weitere Rolle hinzu: Nutzer des Dienst-Agents für Kubernetes Engine-Host (roles/container.hostServiceAgentUser).

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

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

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

Wenn Ihre freigegebene VPC-Konfiguration Umgebungen mit privaten IP-Adressen verwendet:

  1. (Optional) Konnektivität zu Google APIs und Google-Diensten konfigurieren.
  2. (Optional) Firewallregeln konfigurieren.

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

  1. Konnektivität zu Google APIs und Google-Diensten konfigurieren.
  2. Firewallregeln konfigurieren

Fazit

Sie haben die Konfiguration des freigegebene VPC-Netzwerks für Dienst- und Hostprojekte abgeschlossen.

Jetzt können Sie im Dienstprojekt neue Umgebungen erstellen, die das VPC-Netzwerk des Hostprojekts verwenden.

Nächste Schritte