Freigegebenes VPC-Netzwerk konfigurieren

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

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 freigegebene 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 nicht nutzbaren IP-Adressen unterbringen 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 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 eine Umgebung im Dienstprojekt mit derGoogle Cloud -Konsole erstellen, muss Ihr Konto die Berechtigung compute.subnetworks.use 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 Cloud Composer-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, aktivieren Sie den privaten Google-Zugriff für das Subnetz im Hostprojekt. Das können Sie 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 weiterhin, den privaten Google-Zugriff für das Subnetz im Hostprojekt zu aktivieren. Wenn Sie den privater Google-Zugriff nicht verwenden, achten Sie darauf, dass Sie keinen Traffic blockieren, der ansonsten von der implizierten IPv4-Firewallregel zum Zulassen von ausgehendem Traffic zugelassen würde. Dies ist erforderlich, um *.googleapis.com-Endpunkte 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 Composer-Dienst-Agent-Konto erteilen

Im Hostprojekt:

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

  2. Fügen Sie für dieses Konto auf Projektebene 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.

Berechtigungen für das Google API Service Agent-Konto erteilen

Im Hostprojekt:

  1. Bearbeiten Sie die Berechtigungen für das Google API-Dienst-Agent-Konto 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 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. Verwenden Sie dazu eine der folgenden Optionen:

  • Weisen Sie diese Rolle auf Subnetzebene zu, damit ein Dienstkonto die VPCs-Peerings einrichten kann, die für Cloud Composer erforderlich sind. Geben Sie in diesem Fall das von der Umgebung zu verwendende Subnetzwerk explizit an, da dem Cluster der Umgebung möglicherweise die Berechtigungen fehlen, um das Subnetzwerk 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 diesem 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 Verbindungen zu Google-Domains konfigurieren

In einer Konfiguration mit freigegebene VPC und Umgebungen mit privaten IP-Adressen können Sie optional den gesamten Traffic zu Google APIs und ‑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, die nur innerhalb von Google Cloudroutingfähig sind, auf Google APIs und Google-Dienste zu. Wenn in Ihrer Konfiguration der freigegebene VPC VPC Service Controls verwendet werden, leiten Sie den Traffic stattdessen über restricted.googleapis.com weiter.

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

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

Wenn in Ihrer Konfiguration der freigegebene VPC VPC Service Controls verwendet werden, folgen Sie stattdessen der Anleitung für Umgebungen mit VPC Service Controls:

  1. Verbindung 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.

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

Nächste Schritte