Freigegebene VPC 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 Subnetzes sollte für das erwartete Wachstum geeignet sein und die nicht verwendbaren IP-Adressen berücksichtigen.

  • Wenn Sie den IP Masquerate 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 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 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 mit der Google Cloud Console eine Umgebung im Dienstprojekt 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, der API oder Terraform erstellen, benötigt Ihr Konto diese zusätzliche Berechtigung nicht.

Hostprojekt konfigurieren

Konfigurieren Sie das Hostprojekt wie unten beschrieben.

(Private IP-Adresse) Privaten Google-Zugriff aktivieren

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

Wenn Sie öffentliche IP-Umgebungen verwenden möchten, empfehlen wir dennoch, den privaten Google-Zugriff für das Subnetz im Hostprojekt zu aktivieren. Wenn Sie sich gegen die Verwendung des privater Google-Zugriff entscheiden, achten Sie darauf, dass Sie keinen Traffic blockieren, den die implizierte IPv4-Firewallregel zum Zulassen von ausgehendem Traffic andernfalls zulassen 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 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 von der Umgebung zu verwendende Subnetzwerk explizit angeben müssen, da dem GKE-Cluster möglicherweise keine Berechtigungen fehlen, um es im Netzwerk zu finden.

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 diesem Konto die Rolle Nutzer des Dienst-Agents für Kubernetes Engine-Host (roles/container.hostServiceAgentUser) auf Projektebene hinzu.

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

(Private IP-Adresse, optional) Firewallregeln und Verbindungen zu Google-Domains konfigurieren

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

Wenn Ihre freigegebene VPC-Konfiguration private IP-Umgebungen verwendet:

  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 die erste Cloud Composer-Umgebung im Dienstprojekt ist, stellen Sie das Dienstkonto des Composer-Agents 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 diesem Konto eine weitere Rolle auf Projektebene 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