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.

Mit der gemeinsam genutzten 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 freigegebene VPC kann Managed Service for Apache Airflow 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 VPC

Dienst- und Hostprojekte für Managed Airflow
Abbildung 1 Dienst- und Hostprojekte für Managed Airflow
  • 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 Managed Airflow an einer freigegebene VPC teilnimmt, 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 standhalten 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 Abschnitt nonMasqueradeCIDRs 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 mit dem freigegebene VPC-Netzwerk.
    • 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, der API oder Terraform erstellen, benötigt Ihr Konto diese zusätzliche Berechtigung nicht.

Serviceprojekt konfigurieren

Wenn im Dienst projekt noch nie Managed Airflow-Umgebungen erstellt wurden, stellen Sie das Dienstkonto des Composer-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, müssen Sie darauf achten, dass Sie keinen Traffic blockieren, 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 gemeinsam genutzte VPC ein, falls noch nicht geschehen. Set up Shared VPC. 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.

Dem Dienstkonto des Composer-Agents Berechtigungen gewähren

Im Hostprojekt:

  1. Bearbeiten Sie die Berechtigungen für das Dienstkonto des Composer-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.

Dem Dienstkonto des Google API-Agents Berechtigungen gewähren

Im Hostprojekt:

  1. Bearbeiten Sie die Berechtigungen für das Dienstkonto des Google API-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 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 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 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 leiten, 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