Freigegebenes VPC-Netzwerk konfigurieren

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

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 Subnetzwerks muss ausreichend groß sein, um dem erwarteten Wachstum standhalten und die nicht verwendbaren IP-Adressen unterbringen zu können.

  • Wenn Sie den IP-Masquerading-Agenten 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 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 der Google Cloud Console 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 keine Cloud Composer-Umgebungen erstellt wurden, stellen Sie das Konto 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 private IP-Umgebungen verwenden möchten, Aktivieren Sie den privaten Google-Zugriff für das Subnetz im Host Projekt arbeiten. Dies können Sie im nächsten Schritt tun, wenn Sie das Netzwerk konfigurieren Ressourcen für ein neues oder ein bereits vorhandenes Subnetz.

Wenn Sie Umgebungen mit öffentlichen IP-Adressen verwenden möchten, empfehlen wir Ihnen dennoch, den privaten Google-Zugriff für das Subnetz im Hostprojekt zu aktivieren. Wenn Sie sich gegen den privater Google-Zugriff entscheiden, müssen Sie Traffic nicht blockiert, der sonst Implizierte IPv4-Firewallregel zum Zulassen von ausgehendem Traffic würde Zulassen. 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. Sie müssen für jede Option die sekundären IP-Bereiche für Pods benennen und Dienste.

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 bearbeiten service-SERVICE_PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com)

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

Berechtigungen für das Google API-Dienst-Agent-Konto gewähren

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 die Rolle Compute-Netzwerknutzer (compute.networkUser) hinzu. 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, mit einer der folgenden Optionen hinzu:

  • Weisen Sie diese Rolle auf Subnetzebene zu, damit ein Dienstkonto die VPCs-Peerings einrichten kann, die für Cloud Composer erforderlich sind. In diesem Fall müssen Sie das Subnetzwerk angeben, das von der Umgebung verwendet werden soll, dem Cluster der Umgebung möglicherweise keine Berechtigungen zum Auffinden des Subnetzwerks fehlen, Netzwerk.

  • Weisen Sie diese Rolle auf Projektebene für das gesamte Hostprojekt zu. In dieser hat das GKE-Dienstkonto des Dienstprojekts Berechtigungen zur Verwendung eines beliebigen Subnetzes im Hostprojekt.

Berechtigungen für das GKE-Dienstkonto des Dienstprojekts bearbeiten

Bearbeiten Sie im Hostprojekt die Berechtigungen für die 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 Verbindung zu Google-Domains konfigurieren

In einer freigegebene VPC-Konfiguration mit privaten IP-Umgebungen kann optional können Sie den gesamten Traffic über mehrere IP-Adressen, die zur Domain private.googleapis.com gehören und entsprechende Firewallregeln konfigurieren. In dieser Konfiguration Die Umgebung greift nur über IP-Adressen auf Google APIs und Google-Dienste zu in Google Cloud routbar. Wenn Ihre freigegebene VPC-Konfiguration VPC Service Controls und leiten Sie dann Traffic über restricted.googleapis.com weiter .

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

  1. (Optional) Konfigurieren Sie die Verbindung zu Google APIs und Google-Diensten.
  2. Optional: Konfigurieren Sie Firewallregeln.

Wenn in Ihrer freigegebenen VPC-Konfiguration VPC Service Controls verwendet werden, 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 freigegebenen VPC-Netzwerks sowohl für Dienst- als auch für Hostprojekte abgeschlossen.

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

Nächste Schritte