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
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
nonMasqueradeCIDRsAbschnitt derip-masq-agentConfigMap hinzu. Weitere Informationen finden Sie unter IP Masquerade Agent konfigurieren.
Vorbereitung
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.
Aktivieren Sie die GKE API in Ihren Host- und Dienstprojekten.
Wenn Sie eine Umgebung im Dienstprojekt mit Google Cloud Konsole erstellen, muss Ihr Konto die
compute.subnetworks.useBerechtigung im Hostprojekt haben. Andernfalls enthält die Liste der verfügbaren Subnetzwerke keine Subnetzwerke aus dem Hostprojekt. Wenn Sie eine Umgebung mitgcloud, 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.
Option 1: Neues VPC-Netzwerk, Subnetz und zwei sekundäre IP-Bereiche erstellen.
Verwenden Sie beim Erstellen des Subnetzes den primären IP-Bereich, wie in der Anleitung beschrieben.
Bestimmen Sie beim Definieren des Subnetzes zwei sekundäre IP-Bereiche für Pods und Dienste.
Option 2: Subnetz und zwei sekundäre IP-Bereiche in einer vorhandenen VPC erstellen.
Verwenden Sie beim Erstellen des Subnetzes den primären IP-Bereich, wie in der Anleitung beschrieben.
Bestimmen Sie beim Definieren des Subnetzes zwei sekundäre IP-Bereiche für Pods und Dienste.
Option 3: Zwei sekundäre IP-Bereiche in einem vorhandenen Subnetz und VPC-Netzwerk erstellen.
- Definieren Sie zwei sekundäre IP-Bereiche für Pods und Dienste gemäß den Richtlinien. Vermeiden Sie Konflikte zwischen Namen und IP-Bereichen mit vorhandenen sekundären Bereichen.
Freigegebene VPC einrichten und das Dienstprojekt anhängen
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.
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:
Bearbeiten Sie die Berechtigungen für das Dienstkonto des Composer-Dienst-Agents:
service-SERVICE_PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com)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 AgentRolle hinzu.Fügen Sie für Umgebungen mit öffentlichen IP-Adressen die Rolle
Compute Network Userhinzu.
Berechtigungen für das Dienstkonto des Google APIs-Dienst-Agents gewähren
Im Hostprojekt:
Bearbeiten Sie die Berechtigungen für das Dienstkonto des Google API-Dienst-Agents:
SERVICE_PROJECT_NUMBER@cloudservices.gserviceaccount.com.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:
- (Optional) Konnektivität zu Google APIs und Google-Diensten konfigurieren.
- (Optional) Firewallregeln konfigurieren.
Wenn Ihre freigegebene VPC-Konfiguration VPC Service Controls verwendet, folgen Sie stattdessen der Anleitung für Umgebungen mit VPC Service Controls:
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
- Erstellen Sie eine Managed Airflow-Umgebung und stellen Sie das Netzwerk und das Subnetzwerk des Hostprojekts als Konfigurationsparameter bereit.