Übersicht
Beim VPC-Peering werden die VPCs für die Kommunikation miteinander konfiguriert. Wenn sich die Quelle im selben Google Cloud -Projekt in Cloud SQL oder Compute Engine befindet, kann das Ziel direkt mit der Quelle kommunizieren. Wenn sich Ihre Quelle in einem VPN befindet (z. B. in AWS oder Ihrem eigenen lokalen VPN), müssen Sie das Quell-VPN und das Google Cloud-VPN so konfigurieren, dass sie miteinander kommunizieren können. Weitere Informationen finden Sie unter VPCs über VPNs verbinden.Die VPC-Kette wird nicht unterstützt. Wenn sich Ihre Quelle in einem anderen Google Cloud -Projekt befindet, lesen Sie den Hilfeartikel Freigegebene VPCs. Dort erfahren Sie, wie Sie Ressourcen aus mehreren Projekten mit einem gemeinsamen VPC-Netzwerk für das VPC-Peering verbinden.
Die Firewall des Quelldatenbankservers muss so konfiguriert sein, dass sie den gesamten internen IP-Adressbereich zulässt, der für die private Dienstverbindung des VPC-Netzwerks zugewiesen ist, das die Cloud SQL-Zielinstanz verwenden wird.
So finden Sie den internen IP-Bereich in der Console:
Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.
Wählen Sie das VPC-Netzwerk aus, das Sie verwenden möchten.
Wählen Sie den Tab PRIVATE DIENSTVERKNÜPFUNG aus.
pg_hba.conf
oder die Sicherheitsgruppendefinitionen in AWS RDS in der Quelldatenbank aktualisiert wurden, sodass Verbindungen aus dem IP-Adressbereich der Cloud SQL-VPC akzeptiert werden.
Beim VPC-Peering wird der Zugriff auf private Dienste verwendet, der für jedes Projekt mit VPC-Peering einmal konfiguriert werden muss. Nachdem Sie private services access
eingerichtet haben, testen Sie den Migrationsjob, um die Verbindung zu prüfen.
Zugriff auf private Dienste für den Database Migration Service konfigurieren
Wenn Sie für eine Ihrer Database Migration Service-Instanzen eine private IP-Adresse verwenden, müssen Sie den Zugriff auf private Dienste für jedes Google Cloud-Projekt, das eine Verbindung zu einer Database Migration Service-Instanz hat oder herstellen muss, nur einmal konfigurieren.
Zum Einrichten des Zugriffs auf private Dienste ist die IAM-Rolle compute.networkAdmin erforderlich. Wenn der Zugriff auf private Dienste für Ihr Netzwerk eingerichtet ist, brauchen Sie die IAM-Rolle compute.networkAdmin
nicht mehr, um eine Instanz für die Verwendung privater IP-Adressen zu konfigurieren.
Für den Zugriff auf private Dienste müssen Sie zuerst einen internen IP-Adressbereich zuweisen, dann eine private Verbindung erstellen und dann eine benutzerdefinierte Route exportieren.
Ein zugewiesener Bereich ist ein reservierter CIDR-Block, der anderweitig nicht in Ihrem lokalen VPC-Netzwerk verwendet werden kann. Wenn Sie eine private Verbindung erstellen, müssen Sie eine Zuweisung angeben. Über die private Verbindung wird Ihr VPC-Netzwerk mit dem zugrunde liegenden VPC-Netzwerk („Dienstersteller“) verbunden.
Wenn Sie eine private Verbindung erstellen, tauschen das VPC-Netzwerk und das Netzwerk des Diensterstellers nur Subnetzrouten aus. Sie müssen die benutzerdefinierten Routen des VPC-Netzwerk exportieren, damit das Netzwerk des Dienstanbieters diese importieren und Traffic korrekt an Ihr lokales Netzwerk weiterleiten kann.
Mit einer Peering-Konfiguration wird die Absicht festgeschrieben, eine Verbindung zu einem anderen VPC-Netzwerk herzustellen. Ihr Netzwerk und das andere Netzwerk sind erst dann miteinander verbunden, wenn beide eine Peering-Konfiguration für das jeweils andere Netzwerk haben. Nachdem auch das andere Netzwerk eine entsprechende Konfiguration für das Peering mit Ihrem Netzwerk hat, wechselt der Peering-Status in beiden Netzwerken zu AKTIV und sie sind verbunden. Wenn im anderen Netzwerk keine entsprechende Peering-Konfiguration vorhanden ist, bleibt der Peering-Status INAKTIV und Ihr Netzwerk ist nicht mit dem anderen verbunden.
Nach der Verbindung der beiden Netzwerke tauschen diese immer Subnetzrouten aus. Optional können Sie sowohl statische als auch dynamische benutzerdefinierte Routen aus einem Peering-Netzwerk importieren, wenn dieses für ihren Export konfiguriert ist.
Die Konfiguration des privaten Zugriffs auf Dienste besteht aus zwei Teilen:
- IP-Adressbereich zuweisen. Der Bereich umfasst alle Ihre Instanzen.
- Private Verbindung von Ihrem VPC-Netzwerk zum Netzwerk des Diensterstellers herstellen.
IP-Adressbereich zuweisen
Konsole
- Rufen Sie in der Google Cloud Console die Seite „VPC-Netzwerke“ auf.
- Wählen Sie das VPC-Netzwerk aus, das Sie verwenden möchten.
- Wählen Sie den Tab Private Dienstverbindung aus.
- Wählen Sie den Tab Diensten zugewiesene IP-Bereiche aus.
- Klicken Sie auf IP-Bereich zuweisen.
Geben Sie unter Name für den zugewiesenen Bereich
google-managed-services-VPC_NETWORK_NAME
an, wobeiVPC_NETWORK_NAME
der Name des VPC-Netzwerks ist, zu dem Sie eine Verbindung herstellen, beispielsweisegoogle-managed-services-default
. Die Beschreibung ist optional.Klicken Sie auf ZUWEISEN, um den zugewiesenen Bereich zu erstellen.
gcloud
Führen Sie einen der folgenden Schritte aus:
Legen Sie einen Adressbereich und eine Präfixlänge (Subnetzmaske) mit den Flags
addresses
undprefix-length
fest. Wenn Sie beispielsweise den CIDR-Block192.168.0.0/16
zuordnen möchten, geben Sie192.168.0.0
für die Adresse und16
für die Präfixlänge an.gcloud compute addresses create google-managed-services-[VPC_NETWORK_NAME] \ --global \ --purpose=VPC_PEERING \ --addresses=192.168.0.0 \ --prefix-length=16 \ --network=[VPC_NETWORK_NAME]
Wenn Sie nur eine Präfixlänge (Subnetzmaske) angeben möchten, verwenden Sie einfach das Flag
prefix-length
. Wenn Sie den Adressbereich weglassen,wählt Google Cloudautomatisch einen nicht verwendeten Adressbereich in Ihrem VPC-Netzwerk aus. In diesem Beispiel wird ein nicht verwendeter IP-Adressbereich mit einer Präfixlänge von16
Bit ausgewählt.gcloud compute addresses create google-managed-services-[VPC_NETWORK_NAME] \ --global \ --purpose=VPC_PEERING \ --prefix-length=16 \ --network=[VPC_NETWORK_NAME]
Ersetzen Sie [VPC_NETWORK_NAME]
durch den Namen Ihres VPC-Netzwerks, beispielsweise my-vpc-network
.
In diesem Beispiel wird ein IP-Bereich zugewiesen, mit dem Ressourcen im VPC-Netzwerk my-vpc-network
eine Verbindung zu Database Migration Service-Instanzen über private IP-Adressen herstellen können.
gcloud compute addresses create google-managed-services-my-vpc-network \ --global \ --purpose=VPC_PEERING \ --prefix-length=16 \ --network=my-vpc-network \ --project=my-project
Private Verbindung erstellen
Konsole
- Rufen Sie in der Google Cloud Console die Seite „VPC-Netzwerke“ auf.
- Wählen Sie das VPC-Netzwerk aus, das Sie verwenden möchten.
- Wählen Sie den Tab Private Dienstverbindung aus.
- Wählen Sie den Tab Private Verbindungen zu Diensten aus.
- Klicken Sie auf Verbindung erstellen, um eine private Verbindung zwischen Ihrem Netzwerk und einem Dienstersteller herzustellen.
- Wählen Sie für Zugewiesene Bereiche einen oder mehrere vorhandene zugewiesene Bereiche aus, die nicht von anderen Diensterstellern verwendet werden, und klicken Sie dann auf OK.
- Klicken Sie auf VERKNÜPFEN, um die Verbindung herzustellen.
gcloud
Erstellen Sie eine private Verbindung.
gcloud services vpc-peerings connect \ --service=servicenetworking.googleapis.com \ --ranges=google-managed-services-[VPC_NETWORK_NAME] \ --network=[VPC_NETWORK_NAME] \ --project=[PROJECT_ID]
Ersetzen Sie
[VPC_NETWORK_NAME]
durch den Namen Ihres VPC-Netzwerks und[PROJECT_ID]
durch die ID des Projekts, das Ihr VPC-Netzwerk enthält.Der Befehl initiiert einen lange laufenden Vorgang und erstellt einen Vorgangsnamen.
Prüfen Sie, ob der Vorgang erfolgreich war.
gcloud services vpc-peerings operations describe \ --name=[OPERATION_NAME]
Ersetzen Sie
[OPERATION_NAME]
durch den Vorgangsnamen, der im vorherigen Schritt zurückgegeben wurde.
Sie können mehr als einen zugewiesenen Bereich angeben, wenn Sie eine private Verbindung erstellen. Wenn beispielsweise ein Bereich aufgebraucht ist, können Sie zusätzliche zugewiesene Bereiche zuordnen. Der Dienst verwendet IP-Adressen aus allen bereitgestellten Bereichen in der von Ihnen angegebenen Reihenfolge.
Benutzerdefinierte Routen exportieren
Aktualisieren Sie eine vorhandene VPC-Netzwerk-Peering-Verbindung, um anzupassen, ob das VPC-Netzwerk benutzerdefinierte Routen aus dem Peering-VPC-Netzwerk exportiert oder in dieses importiert.
Ihr Netzwerk importiert benutzerdefinierte Routen nur dann, wenn das Peering-Netzwerk auch benutzerdefinierte Routen exportiert. Genauso erhält das Peering-Netzwerk nur dann benutzerdefinierte Routen, wenn es diese importiert.
Console
- Rufen Sie in der Google Cloud Console die Seite „VPC-Netzwerk-Peering“ auf.
Zur Seite „VPC-Netzwerk-Peering“ - Wählen Sie die zu aktualisierende Peering-Verbindung aus.
- Klicken Sie auf BEARBEITEN.
- Aktualisieren Sie Ihre Einstellungen für benutzerdefinierte Routen, indem Sie Benutzerdefinierte Routen importieren oder Benutzerdefinierte Routen exportieren auswählen bzw. die Auswahl aufheben.
- Klicken Sie auf SPEICHERN.
gcloud
Aktualisieren Sie die Peering-Verbindung, um Ihre Import- bzw. Exporteinstellungen für benutzerdefinierte Routen anzupassen.
gcloud compute networks peerings update [PEERING-NAME] \ --network=[MY-LOCAL-NETWORK] \ [--[no-]import-custom-routes] \ [--[no-]export-custom-routes]
Rolle roles/servicenetworking.serviceAgent
zuweisen
gcloud beta services identity create \
--service=servicenetworking.googleapis.com \
--project=project-id
gcloud projects add-iam-policy-binding project-id \
--member="service-account-prefix@service-networking.iam.gserviceaccount.com" \
--role="roles/servicenetworking.serviceAgent"