Zugriff auf private Dienste konfigurieren

Der Zugriff auf private Dienste ist eine private Verbindung zwischen Ihrem VPC-Netzwerk und einem Netzwerk von Google oder einem Drittanbieter. Google oder der Drittanbieter (Entitäten, die Dienste anbieten) werden auch als Dienstersteller bezeichnet. Die private Verbindung aktiviert VM-Instanzen in Ihrem VPC-Netzwerk und die Dienste, auf die Sie ausschließlich über interne IP-Adressen zugreifen. VM-Instanzen erfordern keinen Internetzugang oder externe IP-Adressen, um verfügbare Dienste über den Zugriff auf private Dienste zu erreichen.

So verwenden Sie den Zugriff auf private Dienste:

Informationen zu anderen Optionen für den privaten Zugriff finden Sie unter Optionen für den privaten Zugriff auf Dienste.

Hinweise

Sie müssen die folgenden Voraussetzungen erfüllen, um eine private Verbindung zu erstellen:

Berechtigungen

Projektinhaber und IAM-Mitglieder mit der Rolle Compute-Netzwerkadministrator (roles/compute.networkAdmin) können zugewiesene IP-Adressbereiche erstellen und private Verbindungen verwalten.

Weitere Informationen zu Compute Engine-Rollen finden Sie unter Compute Engine-IAM-Rollen und -Berechtigungen.

IP-Adressbereich für den zugewiesenen Bereich auswählen

Durch das Erstellen eines zugewiesenen Bereichs wird ein IP-Adressbereich für die Verwendung durch den Dienstersteller reserviert. Berücksichtigen Sie bei der Auswahl eines Bereichs für Ihre Zuweisung Folgendes:

  • Sehen Sie in der Dokumentation des Diensterstellers nach, ob er Anforderungen oder Empfehlungen für die Größe des zugewiesenen Bereichs hat.

    Für Google-Dienste ist die Mindestgröße ein einzelner /24-Block. Die empfohlene Größe ist ein /16-Block.

  • Wählen Sie einen zugewiesenen Bereich aus, der vollständig von aktuellen und zukünftigen Subnetzbereichen getrennt ist, einschließlich Subnetzbereiche von Netzwerken, die über VPC-Netzwerk-Peering verbunden sind, und Subnetzbereiche von VPC-Spokes, die mit demselben Network Connectivity Center-Hub verbunden sind.

  • Wählen Sie einen Bereich, der nicht genau mit den Zielen von benutzerdefinierten statischen oder dynamischen Routen übereinstimmt oder diese enthält.

    Wenn ein Dienstersteller einen nicht verwendeten Teil eines zugewiesenen Bereichs als Kandidat für neue Ressourcen auswählt, werden alle benutzerdefinierten Routenziele ausgeschlossen, die genau mit dem zugewiesenen Bereich übereinstimmen oder in diesen passen. Wenn ein VPC-Netzwerk einen zugewiesenen Bereich und benutzerdefinierte Routen mit Zielen enthält, die mit dem zugewiesenen Bereich übereinstimmen oder darin passen, wird der nutzbare Teil des zugewiesenen Bereichs reduziert. Diese Konfiguration kann zu unerwarteten Fehlern des Typs Zuweisung erschöpft führen.

    Wenn Sie beispielsweise einen zugewiesenen Bereich für 10.0.0.0/16 erstellen, gilt Folgendes:

    • Wenn eine benutzerdefinierte Route mit einem Ziel für 10.0.0.0/16 existiert oder später erstellt wird, gilt der gesamte 10.0.0.0/16-Bereich als nicht verfügbar. Wenn ein Dienstersteller versucht, den zugewiesenen Bereich zu verwenden, gibtGoogle Cloud den Fehler „Zuweisung erschöpft“ zurück.

    • Wenn eine benutzerdefinierte Route mit einem Ziel für 10.0.0.0/20 existiert oder später erstellt wird, gilt der 10.0.0.0/20-Teil des zugewiesenen Bereichs 10.0.0.0/16 als nicht verfügbar. Wenn ein Dienstersteller versucht, den zugewiesenen Bereich zu verwenden, und der verfügbare Teil Ihres zugewiesenen Bereichs für einen Dienstersteller nicht ausreicht, gibt Google Cloud den Fehler „Zuweisung erschöpft“ zurück.

    • Wenn eine benutzerdefinierte Route mit einem Ziel für 10.0.0.0/8 existiert oder später erstellt wird, wirkt sich dies nicht auf die Verfügbarkeit des zugewiesenen Bereichs 10.0.0.0/16 aus.

  • Wählen Sie einen Bereich, der nicht mit Ihren anderen IP-Adressanforderungen in Konflikt steht:

    • Einige Google- und Drittanbieterprodukte verwenden 172.17.0.0/16 für das Routing innerhalb des Gastbetriebssystems. Das Standard-Docker-Bridge-Netzwerk verwendet beispielsweise diesen Bereich. Wenn Sie ein Produkt verwenden, das 172.17.0.0/16 verwendet, verwenden Sie für den Zugriff auf private Dienste nicht 172.17.0.0/16 in einem zugewiesenen Bereich.
    • Wenn Sie ein VPC-Netzwerk im automatischen Modus verwenden, können Sie keinen zugewiesenen Bereich erstellen, der mit 10.128.0.0/9 übereinstimmt oder sich damit überschneidet. Google verwendet den Bereich 10.128.0.0/9 für automatisch erstellte Subnetze, einschließlich jener in zukünftigen Regionen.
  • Wählen Sie einen CIDR-Block aus, der groß genug ist, um Ihre derzeitigen und zukünftigen Anforderungen zu erfüllen.

    Wenn Sie später feststellen, dass der Bereich nicht ausreichend groß ist, erweitern Sie den Bereich nach Möglichkeit. Sie können zwar einem einzigen Dienstersteller mehrere Zuordnungen zuweisen, Google erzwingt jedoch ein Kontingent für die Anzahl der IP-Adressbereiche, die Sie zuweisen können (nicht jedoch die Größe (Netzmaske) jedes Bereichs).

Zugewiesenen Bereich erstellen

In den folgenden Schritten wird beschrieben, wie Sie einen zugewiesenen IP-Adressbereich erstellen.

Wenn ein Google-Dienst einen Bereich in Ihrem Namen zuordnet, verwendet der Dienst das folgende Format zur Benennung der Zuordnung: google-managed-services-CONSUMER_NETWORK_NAME. Wenn diese Zuweisung vorhanden ist, verwenden Google-Dienste die vorhandene, anstatt eine andere zu erstellen. Sie können dieselbe Namenskonvention verwenden, die Google verwendet, um anderen Nutzern oder Google-Diensten zu signalisieren, dass bereits eine Zuweisung für Google vorhanden ist.

Console

  1. Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.

    Zur Seite VPC-Netzwerke

  2. Wählen Sie das VPC-Netzwerk aus, für das eine Verbindung zu einem Dienstersteller hergestellt werden soll.

  3. Wählen Sie den Tab Zugriff auf private Dienste aus.

  4. Wählen Sie auf dem Tab Zugriff auf private Dienste den Tab Diensten zugewiesene IP-Bereiche aus.

  5. Klicken Sie auf IP-Bereich zuweisen.

  6. Geben Sie Werte für Name und Beschreibung für den zugewiesenen Bereich ein.

  7. Konfigurieren Sie den IP-Adressbereich für die Zuweisung:

    • Wenn Sie einen bestimmten IP-Adressbereich festlegen möchten, wählen Sie Benutzerdefiniert aus und geben einen CIDR-Block ein, z. B. 192.168.0.0/16.
    • Wenn Sie Google einen verfügbaren Bereich auswählen lassen möchten, wählen Sie Automatisch aus und geben Sie eine Präfixlänge ein, z. B. 16.
  8. Klicken Sie auf Zuweisen, um den zugewiesenen Bereich zu erstellen.

gcloud

Verwenden Sie den Befehl gcloud compute addresses create, um einen zugewiesenen Bereich in Ihrem VPC-Netzwerk zu erstellen.

  • Legen Sie einen Adressbereich und eine Präfixlänge (Subnetzmaske) mit den Flags --addresses und --prefix-length fest. Wenn Sie beispielsweise den CIDR-Block 192.168.0.0/16 zuordnen möchten, geben Sie 192.168.0.0 für die Adresse und 16 für die Präfixlänge an.

        gcloud compute addresses create RESERVED_RANGE_NAME \
            --global \
            --purpose=VPC_PEERING \
            --addresses=192.168.0.0 \
            --prefix-length=16 \
            --description="DESCRIPTION" \
            --network=VPC_NETWORK
        
    • Wenn Sie nur eine Präfixlänge (Subnetzmaske) angeben möchten, verwenden Sie einfach das Flag prefix-length. Wenn Sie den Adressbereich weglassen, wähltGoogle Cloud automatisch einen nicht verwendeten Adressbereich in Ihrem VPC-Netzwerk aus. Im folgenden Beispiel wird ein nicht verwendeter IP-Adressbereich mit einer Präfixlänge von 16 Bit ausgewählt.
        gcloud compute addresses create RESERVED_RANGE_NAME \
            --global \
            --purpose=VPC_PEERING \
            --prefix-length=16 \
            --description="DESCRIPTION" \
            --network=VPC_NETWORK
        

    Ersetzen Sie Folgendes:

    • RESERVED_RANGE_NAME: ein Name für den zugewiesenen Bereich, z. B. my-allocated-range

    • DESCRIPTION: eine Beschreibung für den Bereich, z. B. allocated for my-service

    • VPC_NETWORK: der Name Ihres VPC-Netzwerks, z. B. my-vpc-network

    Im folgenden Beispiel wird eine private Verbindung zu Google erstellt, damit die VM-Instanzen im VPC-Netzwerk my-network den Zugriff auf private Dienste verwenden können, um die Google-Dienste zu erreichen, die sie unterstützen.

    gcloud compute addresses create google-managed-services-my-network \
        --global \
        --purpose=VPC_PEERING \
        --prefix-length=16 \
        --description="peering range for Google" \
        --network=my-network
    

Terraform

Verwenden Sie zum Erstellen eines zugewiesenen Bereichs in Ihrem VPC-Netzwerk die Ressource google_compute_global_address.

resource "google_compute_global_address" "private_ip_address" {
  name          = "private-ip-address"
  purpose       = "VPC_PEERING"
  address_type  = "INTERNAL"
  prefix_length = 16
  network       = google_compute_network.peering_network.id
}

Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.

Wenn Ihnen ein Fehler mit der Berechtigung compute.globalAddresses.list für das Projekt angezeigt wird, finden Sie weitere Informationen unter Dienstkontoberechtigungen.

Zugewiesene IP-Adressbereiche auflisten

Verwenden Sie den Befehl gcloud compute addresses list, um zugewiesene IP-Adressbereiche aufzulisten.

gcloud compute addresses list --global --filter="purpose=VPC_PEERING"

Private Verbindung erstellen

Nachdem Sie einen zugewiesenen Bereich erstellt haben, können Sie eine private Verbindung zu einem Dienstersteller erzeugen. Die private Verbindung richtet eine VPC-Netzwerk-Peering-Verbindung zwischen Ihrem VPC-Netzwerk und dem Netzwerk des Diensterstellers ein.

Beachten Sie beim Erstellen einer privaten Verbindung Folgendes:

  • Wenn ein einzelner Dienstersteller mehrere Dienste anbietet, benötigen Sie nur eine private Verbindung für alle Dienste des Erstellers.
  • Wenn ein einzelner Dienstersteller mehrere Dienste anbietet und Sie steuern möchten, welche zugewiesenen Bereiche für verschiedene Dienstressourcen verwendet werden, können Sie mehrere VPC-Netzwerke mit jeweils eigenen privaten Verbindungen verwenden. Bei dieser Konfiguration können Sie beim Erstellen einer neuen verwalteten Dienstressource ein bestimmtes Netzwerk auswählen, damit die zugehörigen zugewiesenen Bereiche für die neue Ressource verwendet werden.
  • Verwenden Sie nicht denselben zugewiesenen Bereich für mehrere Dienstersteller. Wenn Sie eine Verbindung zu mehreren Diensterstellern herstellen, verwenden Sie für jeden Dienstersteller einen eindeutigen zugewiesenen Bereich. Durch die Verwendung verschiedener zugewiesener Bereiche werden IP-Adressüberschneidungen vermieden und Sie können Ihre Netzwerkeinstellungen wie Routen und Firewallregeln für jeden Dienstersteller verwalten.

Console

  1. Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.

    Zur Seite VPC-Netzwerke

  2. Wählen Sie das VPC-Netzwerk aus, für das eine Verbindung zu einem Dienstersteller hergestellt werden soll.

  3. Wählen Sie den Tab Zugriff auf private Dienste aus.

  4. Wählen Sie auf dem Tab Zugriff auf private Dienste den Tab Private Verbindungen zu Diensten aus.

  5. Klicken Sie auf Verbindung erstellen, um eine private Verbindung zwischen Ihrem Netzwerk und einem Dienstersteller herzustellen.

  6. Wählen Sie für Zugewiesene Bereiche einen oder mehrere vorhandene zugewiesene Bereiche aus, die nicht von anderen Diensterstellern verwendet werden.

  7. Klicken Sie auf Verbinden, um die Verbindung zu erstellen.

gcloud

  1. Führen Sie den Befehl gcloud services vpc-peerings connect aus.

    gcloud services vpc-peerings connect \
        --service=servicenetworking.googleapis.com \
        --ranges=RESERVED_RANGE_NAME \
        --network=VPC_NETWORK
    

    Dabei gilt:

    • RESERVED_RANGE_NAME: der Name eines oder mehrerer zugewiesener Bereiche

    • VPC_NETWORK: der Name des VPC-Netzwerks

    Der Befehl initiiert einen lange laufenden Vorgang und gibt einen Vorgangsnamen zurück.

  2. Mit dem Befehl gcloud services vpc-peerings operations describe können Sie prüfen, 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.

Terraform

Verwenden Sie zum Erstellen einer privaten Verbindung die Ressource google_service_networking_connection.

resource "google_service_networking_connection" "default" {
  network                 = google_compute_network.peering_network.id
  service                 = "servicenetworking.googleapis.com"
  reserved_peering_ranges = [google_compute_global_address.private_ip_address.name]
}

Private Verbindungen auflisten

Nachdem Sie eine private Verbindung erstellt haben, können Sie diese auflisten, um zu prüfen, ob sie existiert. Die Liste zeigt auch die zugewiesenen Bereiche an, die jeder Verbindung zugeordnet sind. Wenn Sie sich beispielsweise nicht erinnern können, welchen zugewiesenen Bereich Sie einer Verbindung zugeordnet haben, finden Sie diesen in dieser Liste.

Console

  1. Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.

    Zur Seite VPC-Netzwerke

  2. Wählen Sie das VPC-Netzwerk mit den Verbindungen aus.

  3. Wählen Sie den Tab Zugriff auf private Dienste aus.

  4. Wählen Sie auf dem Tab Zugriff auf private Dienste den Tab Private Verbindungen zu Diensten aus, in dem alle privaten Verbindungen des Netzwerks aufgeführt sind.

gcloud

Führen Sie den Befehl gcloud services vpc-peerings list aus.

gcloud services vpc-peerings list \
    --network=VPC_NETWORK

Ersetzen Sie VPC_NETWORK durch den Namen Ihres VPC-Netzwerks.

Private Verbindung ändern

Sie können einen zugewiesenen Bereich nicht ändern, aber Sie können eine private Verbindung aktualisieren, um zugewiesene Bereiche hinzuzufügen oder zu entfernen, ohne den Traffic zu beeinträchtigen.

  • Bereiche hinzufügen: Beim Skalieren können Sie einen zugewiesenen Bereich hinzufügen oder ersetzen, wenn der vorhandene Bereich fast aufgebraucht ist. Wenn Sie einer privaten Verbindung einen weiteren zugewiesenen Bereich hinzufügen, stehen dem Dienstersteller mehr IP-Adressen zur Verfügung, wenn er neue Dienstressourcen für einen von ihm bereitgestellten Dienst erstellt. Sie können einen bestimmten zugewiesenen Bereich innerhalb einer privaten Verbindung nicht für die Verwendung durch einen bestimmten Dienst reservieren.

    Weitere Informationen zum Hinzufügen oder Ersetzen von Bereichen finden Sie unter IP-Adressbereich erschöpft.

  • Bereiche entfernen: Wenn Sie einen Bereich aus einer privaten Verbindung entfernen, gilt Folgendes:

    • Der zugewiesene Bereich ist der privaten Verbindung nicht mehr zugeordnet. Er ist aber nicht gelöscht.

    • Vorhandene Diensterstellerressourcen können den entfernten Bereich weiterhin nutzen.

    • Der Zugriff auf private Dienste verwendet die entfernten Bereiche nicht, um neue Subnetze zuzuweisen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.

    Zur Seite VPC-Netzwerke

  2. Wählen Sie das VPC-Netzwerk mit den Verbindungen aus.

  3. Wählen Sie den Tab Zugriff auf private Dienste aus.

  4. Wählen Sie auf dem Tab Zugriff auf private Dienste den Tab Private Verbindungen zu Diensten aus, in dem alle privaten Verbindungen des Netzwerks aufgeführt sind.

  5. Klicken Sie in der Liste auf einen Verbindungsnamen.

  6. Wählen Sie in der Liste Zugewiesene Bereiche die zugewiesenen Bereiche aus, die Sie der privaten Verbindung zuordnen möchten. Entfernen Sie die Häkchen für alle zugewiesenen Bereiche, die Sie aus der privaten Verbindung entfernen möchten.

  7. Klicken Sie auf OK.

gcloud

Verwenden Sie den Befehl gcloud services vpc-peerings update, um der vorhandenen privaten Verbindung zugeordnete, zugewiesene IP-Adressbereiche hinzuzufügen oder zu entfernen.

gcloud services vpc-peerings update \
    --service=servicenetworking.googleapis.com \
    --ranges=RESERVED_RANGE_NAME \
    --network=VPC_NETWORK \
    [--force]

Dabei gilt:

  • RESERVED_RANGE_NAME: eine Liste mit einem oder mehreren Namen zugewiesener Bereiche, die der privaten Verbindung zugewiesen werden sollen

    RESERVED_RANGE_NAME ersetzt die vorherige Liste von zugewiesenen Bereichen. Wenn Sie einen Bereich weglassen, der zuvor mit dieser privaten Verbindung verknüpft war, wird er aus der Verbindung entfernt. Verwenden Sie das Flag --force, um einen Bereich zu entfernen.

  • VPC_NETWORK: der Name des VPC-Netzwerks

Zugewiesenen IP-Adressbereich löschen

Prüfen Sie vor dem Löschen eines zugewiesenen IP-Adressbereichs, ob der Bereich von einer privaten Verbindung verwendet wird.

Wenn der zugewiesene IP-Adressbereich verwendet wird, ändern Sie zuerst die private Verbindung, um den Bereich zu entfernen. Löschen Sie anschließend den zugewiesenen IP-Adressbereich.

Wenn Sie eine zugewiesene IP-Adresse löschen, die verwendet wird, und die private Verbindung nicht ändern, gilt Folgendes:

  • Vorhandene Verbindungen bleiben aktiv. Es gibt jedoch keinen Grund, warum Ihr VPC-Netzwerk nicht IP-Adressen verwenden sollte, die sich mit dem Netzwerk des Diensterstellers überschneiden.

  • Wenn Sie den einzigen zugewiesenen IP-Adressbereich löschen, der einer privaten Verbindung zugeordnet ist, kann der Dienst keine neuen Subnetze erstellen, da es keinen zugewiesenen IP-Adressbereich zur Auswahl gibt.

  • Wenn Sie später einen zugewiesenen IP-Adressbereich erstellen, der mit dem gelöschten Bereich übereinstimmt oder sich damit überschneidet, schlägt das Hinzufügen des Bereichs zu einer privaten Verbindung fehl.

Um diese Probleme zu vermeiden, ändern Sie immer Ihre privaten Verbindungen, wenn Sie einen verwendeten zugewiesenen IP-Adressbereich löschen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.

    Zur Seite VPC-Netzwerke

  2. Wählen Sie das VPC-Netzwerk aus, das die Zuweisungen enthält, die gelöscht werden sollen.

  3. Wählen Sie den Tab Zugriff auf private Dienste aus.

  4. Wählen Sie auf dem Tab Zugriff auf private Dienste den Tab Diensten zugewiesene IP-Bereiche aus.

  5. Wählen die Zuweisung aus, die gelöscht werden soll.

  6. Klicken Sie auf Freigeben, um den zugewiesenen IP-Adressbereich wieder dem Pool der verfügbaren internen IP-Adressen des Netzwerks hinzuzufügen.

    Wenn der zugewiesene IP-Adressbereich weiter einer bestehenden Verbindung zugewiesen ist, müssen Sie zusätzlich eine Bestätigung eingeben, bevor die Zuweisung freigegeben werden kann.

  7. Klicken Sie noch einmal auf Freigeben, um den Löschvorgang zu bestätigen.

gcloud

Sie können die Zuweisung löschen, indem Sie deren Namen angeben.

gcloud compute addresses delete NAME \
    --global

Ersetzen Sie NAME durch den Namen des zugewiesenen Bereichs, den Sie löschen möchten.

Eine private Verbindung löschen

Führen Sie die Schritte in diesem Abschnitt aus, um eine private Verbindung zu löschen. Versuchen Sie nicht, eine private Verbindung zu löschen, indem Sie die zugehörige VPC-Netzwerk-Peering-Verbindung direkt löschen.

Bevor Sie eine private Verbindung löschen, müssen Sie alle Dienstinstanzen löschen, auf die Sie über die Verbindung zugreifen.

  • Das Verhalten beim Löschen von Dienstinstanzen kann je nach Dienst variieren. Die Ressourcen des Dienstes werden möglicherweise sofort oder nach einer Wartezeit gelöscht. Wenn es eine Wartezeit gibt, können Sie die private Verbindung erst löschen, wenn die Wartezeit abgelaufen ist und die Ressourcen des Diensterstellers gelöscht wurden.

    Wenn Sie beispielsweise eine Cloud SQL-Instanz löschen, erhalten Sie eine Erfolgsantwort, aber der Dienst wartet vier Tage, bevor die Diensterstellerressourcen gelöscht werden. Die Wartezeit macht es möglich, dass Sie eine Wiederherstellung der Ressourcen beantragen können, wenn Sie sich entscheiden, den Dienst doch nicht zu löschen. Wenn Sie versuchen, die Verbindung während der Wartezeit zu löschen, schlägt das Löschen mit der Meldung fehl, dass die Ressourcen noch vom Dienstersteller verwendet werden.

  • Sie können keine private Verbindung löschen, die von einem Producer-VPC-Spoke verwendet wird. Wenn Sie die Verbindung löschen möchten, müssen Sie zuerst den Ersteller-VPC-Spoke löschen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.

    Zur Seite VPC-Netzwerke

  2. Wählen Sie das VPC-Netzwerk aus, das die Verbindungen enthält, die gelöscht werden sollen.

  3. Wählen Sie den Tab Zugriff auf private Dienste aus.

  4. Wählen Sie auf dem Tab Zugriff auf private Dienste den Tab Private Verbindungen zu Diensten aus.

  5. Wählen Sie die private Verbindung aus, die gelöscht werden soll.

  6. Klicken Sie zum Löschen auf Löschen.

  7. Klicken Sie noch einmal auf Löschen, um den Löschvorgang zu bestätigen.

gcloud

Verwenden Sie den Befehl gcloud services vpc-peerings delete, um die VPC-Netzwerk-Peering-Verbindung einer privaten Verbindung zu löschen.

gcloud services vpc-peerings delete \
    --service=servicenetworking.googleapis.com \
    --network=VPC_NETWORK

Ersetzen Sie VPC_NETWORK durch den Namen Ihres VPC-Netzwerks.

Private DNS-Zonen für Dienstersteller freigeben

Private Cloud DNS-Zonen sind normalerweise nur in Ihrem VPC-Netzwerk zugänglich. Wenn ein Diensterstellernetzwerk Namen aus Ihrer privaten Zone auflösen soll, können Sie DNS-Peering zwischen den beiden Netzwerken konfigurieren.

Wenn Sie DNS-Peering konfigurieren, geben Sie ein VPC-Netzwerk und ein DNS-Suffix an. Wenn der Dienstersteller eine Adresse mit diesem DNS-Suffix auflösen muss, leitet der Dienstersteller diese Abfragen an Ihr VPC-Netzwerk weiter, damit die Auflösung vorgenommen wird.

Diese unterstützten Dienste unterstützen DNS-Peering, mit Ausnahme von Cloud SQL.

Wenn Sie DNS-Peering aktivieren möchten, müssen Sie in Ihrem Projekt die Cloud DNS API aktivieren.

Peer-DNS mit einem Dienstersteller

gcloud

Verwenden Sie den Befehl gcloud services peered-dns-domains create, um DNS-Peering zwischen Ihrem VPC-Netzwerk und dem Netzwerk des Dienstanbieters einzurichten.

gcloud services peered-dns-domains create PEERING_NAME \
    --network=VPC_NETWORK \
    --dns-suffix=DNS_SUFFIX

Dabei gilt:

  • PEERING_NAME: ein Name für diese DNS-Peering-Konfiguration.

  • VPC_NETWORK: der Name Ihres VPC-Netzwerks, das über den Zugriff auf private Dienste mit dem Dienstersteller verbunden ist.

  • DNS_SUFFIX: das DNS-Suffix, das Sie per Peering mit dem Dienstersteller verbinden möchten. Sie müssen einen vollständigen DNS-Domainnamen angeben, einschließlich des Punkts. example.com. ist z. B. ein gültiges DNS-Suffix.

Terraform

Verwenden Sie zum Einrichten des DNS-Peerings zwischen Ihrem VPC-Netzwerk und dem Netzwerk des Dienstanbieters die Ressource google_service_networking_peered_dns_domain.


## Uncomment this block after adding a valid DNS suffix

# resource "google_service_networking_peered_dns_domain" "default" {
#   name       = "example-com"
#   network    = google_compute_network.peering_network.name
#   dns_suffix = "example.com."
#   service    = "servicenetworking.googleapis.com"
# }

DNS-Peering-Konfigurationen auflisten

gcloud

Führen Sie den Befehl gcloud services peered-dns-domains list aus.

gcloud services peered-dns-domains list \
    --network=VPC_NETWORK

Ersetzen Sie VPC_NETWORK durch den Namen Ihres VPC-Netzwerks.

DNS-Peering-Konfiguration löschen

gcloud

Führen Sie den Befehl gcloud services peered-dns-domains delete aus.

gcloud services peered-dns-domains delete PEERING_NAME \
    --network=VPC_NETWORK

Dabei gilt:

  • PEERING_NAME: der Name der DNS-Peering-Konfiguration

  • VPC_NETWORK: der Name des VPC-Netzwerks

Hybridkonnektivität konfigurieren

Standardmäßig erlernt das Netzwerk des Diensterstellers nur die Subnetzrouten aus Ihrem VPC-Netzwerk. Daher wird jede Anfrage, die nicht aus einem Subnetz-IP-Bereich stammt, vom Dienstersteller verworfen.

So konfigurieren Sie die Verbindung zwischen Ihren lokalen Hosts und dem Netzwerk des Diensterstellers:

  • Aktualisieren Sie die Peering-Verbindung in Ihrem VPC-Netzwerk, um benutzerdefinierte Routen zum Netzwerk des Diensterstellers zu exportieren. Beim Exportieren von Routen werden alle zulässigen statischen und dynamischen Routen, die sich in Ihrem VPC-Netzwerk befinden, z. B. Routen zu Ihrem lokalen Netzwerk, an das Netzwerk des Diensterstellers gesendet. Das Netzwerk des Diensterstellers importiert sie automatisch und kann dann über das VPC-Netzwerk Traffic zurück an Ihr lokales Netzwerk senden.

  • Achten Sie darauf, dass die Präfixe, die die zugewiesenen IP-Bereiche für den Zugriff auf private Dienste enthalten, Ihrem lokalen Netzwerk korrekt beworben werden. Informationen dazu, wie Sie benutzerdefinierte IPv4-Präfixe mit Cloud Router angeben können, finden Sie unter Angebotene Routen.

  • Prüfen Sie, ob der VLAN-Anhang oder der Cloud VPN-Tunnel im selben VPC-Netzwerk (oder freigegebene VPC-Netzwerk) wie die private Verbindung endet, da das VPC-Netzwerk-Peering kein transitives Routing bietet.

Fehlerbehebung

Die folgenden Abschnitte enthalten Informationen zur Fehlerbehebung für den Zugriff auf private Dienste.

Wie viel von meiner Zuweisung wird verwendet?

Wenn Sie eine private Verbindung mit einem Dienstersteller erzeugen, weisen Sie einen IP-Adressbereich zu, den dieser verwenden kann. Wenn Sie mehrere Dienste von einem Dienstersteller verwenden, reserviert jeder Dienst einen Teil der IP-Adressen aus diesem zugewiesenen Bereich. Sie können prüfen, welche Dienste welche IP-Adressen verwenden, damit Sie beispielsweise sehen können, welche Dienste große Blöcke von IP-Adressen verwenden und die Ausschöpfung der IP-Adressen vermeiden.

Mit Network Analyzer können Sie das Zuweisungsverhältnis für Ihre zugewiesenen Bereiche aufrufen. Weitere Informationen finden Sie unter Zusammenfassung der IP-Adressnutzung für den Zugriff auf private Dienste.

So sehen Sie alternativ, welcher Dienst einen bestimmten IP-Adressbereich verwendet:

  1. Sie listen Ihre privaten Verbindungen auf.
  2. Danach suchen Sie den Peering-Verbindungsnamen, der Sie mit dem relevanten Dienstersteller verbindet.
  3. Sie listen die Routen für Ihr VPC-Netzwerk auf.
  4. Sie suchen die Routen mit einem nächsten Hop, der dem Peering-Verbindungsnamen entspricht. Der Zielbereich der Routen gibt an, welche IP-Adressen die jeweiligen Dienste nutzen.

IP-Adressbereich aufgebraucht

Wenn Sie für eine bestimmte private Verbindung den zugewiesenen IP-Adressbereich aufgebraucht haben, gibt Google Cloud diesen Fehler zurück: Failed to create subnetwork. Couldn't find free blocks in allocated IP ranges.

Dieser Fehler wird möglicherweise angezeigt, weil der zugewiesene Bereich für Ihre Nutzung nicht ausreicht oder weil eine benutzerdefinierte statische oder dynamische Route verhindert, dass der zugewiesene Bereich vollständig genutzt wird. Weitere Informationen zu Routingaspekten finden Sie unter IP-Adressbereich für den zugewiesenen Bereich auswählen.

Sie können die bestehende Zuweisung erweitern oder neue hinzufügen. Die erweiterte Zuweisung muss ein zusammenhängender IP-Adressbereich sein, der den vorhandenen Bereich umfasst. Das Erweitern einer Zuweisung wird empfohlen, da die Größe einer Zuweisung nicht begrenzt ist. Die Anzahl der Zuweisungen, die Sie erstellen können, ist dagegen begrenzt.

Eine bestehende Zuweisung erweitern:

  1. Sie listen Ihre privaten Verbindungen auf und notieren den Namen des zugewiesenen Bereichs, den Sie erweitern möchten.
  2. Löschen Sie den vorhandenen zugewiesenen Bereich, den Sie erweitern möchten.
  3. Sie erstellen einen neuen zugewiesenen Bereich. Dazu verwenden Sie den Namen des gelöschten Bereichs. Dabei geben Sie einen IP-Adressbereich an, der den gelöschten IP-Adressbereich enthält. Auf diese Weise können vorhandene Peering-Ressourcen, die den alten zugewiesenen Bereich nutzen, weiterhin dieselben IP-Adressen verwenden, ohne dass es Konflikte mit Ressourcen in Ihrem VPC-Netzwerk gibt. Wenn der zuvor zugewiesene Bereich beispielsweise 192.168.0.0/20 war, erstellen Sie einen neuen zugewiesenen Bereich

So fügen Sie einer vorhandenen privaten Verbindung zugewiesene Bereiche hinzu:

  1. Erstellen Sie einen neuen zugewiesenen Bereich. Dieser Bereich muss nicht an vorhandene zugewiesene Bereiche angrenzen.
  2. Fügen Sie den zugewiesenen Bereich zur vorhandenen privaten Verbindung hinzu.

Dienstkontoberechtigungen

Wenn beim Erstellen eines zugewiesenen Bereichs ein Fehler bezüglich der Berechtigung compute.globalAddresses.list für ein Projekt angezeigt wird oder wenn beim Erstellen, Auflisten oder Ändern privater Verbindungen Fehler wie Error 400: Precondition check failed auftreten, liegt möglicherweise ein Problem mit den IAM-Rollen für Ihr Dienstkonto der Service Networking API vor. Dieses Dienstkonto wird automatisch erstellt, nachdem Sie die Service Networking API aktiviert haben. Es kann einige Zeit dauern, bis das Konto bereitgestellt und auf der IAM-Seite angezeigt wird.

Console

So prüfen Sie, ob das Dienstkonto die richtige IAM-Rolle hat:

  1. Rufen Sie in der Google Cloud Console die Seite IAM auf.

    IAM aufrufen

  2. Klicken Sie auf das Kästchen Von Google bereitgestellte Rollenzuweisungen einschließen.

  3. Suchen Sie in der Spalte Name das Hauptkonto Service Networking-Dienst-Agent und klicken Sie dann in der entsprechenden Zeile auf Hauptkonto bearbeiten.

  4. Prüfen Sie im Feld Rolle, ob die Rolle Service Networking-Dienst-Agent (roles/servicenetworking.serviceAgent) vorhanden ist.

  5. Wenn die Rolle Service Networking-Dienst-Agent nicht vorhanden ist, klicken Sie entweder auf Rolle hinzufügen oder auf Weitere Rolle hinzufügen.

  6. Klicken Sie auf Rolle auswählen.

  7. Geben Sie im Textfeld Filter Service Networking Service Agent ein.

  8. Wählen Sie Service Networking-Dienst-Agent aus der Liste aus und klicken Sie dann auf Speichern.

gcloud

Verwenden Sie den Befehl gcloud projects add-iam-policy-binding, um ein Dienstkonto für die Service Networking API zu erstellen.

gcloud projects add-iam-policy-binding HOST_PROJECT_NAME \
    --member=serviceAccount:service-HOST_PROJECT_NUMBER@service-networking.iam.gserviceaccount.com \
    --role=roles/servicenetworking.serviceAgent

Dabei gilt:

  • HOST_PROJECT_NAME: der Name des Hostprojekts.
  • HOST_PROJECT_NUMBER: die Nummer des Hostprojekts.

Die Peering-Subnetzroute bleibt bestehen, nachdem der zugewiesene Bereich aktualisiert wurde

Nachdem Sie den zugewiesenen IP-Adressbereich einer privaten Dienstverbindung aktualisiert haben, wird die alte Peering-Subnetzroute möglicherweise noch in der Routingtabelle Ihres VPC-Netzwerks angezeigt. Die Route bleibt bestehen, da der IP-Adressbereich noch verwendet wird.

So beheben Sie das Problem:

Die Peering-Subnetzroute wird automatisch entfernt, wenn der IP-Adressbereich nicht mehr verwendet wird. Zwischen dem Löschen der Ressource und dem vollständigen Löschen der Ressource durch den Dienstersteller kann es eine Verzögerung geben. Wenn der alte IP-Adressbereich beispielsweise von einer Cloud SQL-Instanz verwendet wird, kann es bis zu vier Tage dauern, bis der Dienstersteller die Instanz vollständig gelöscht hat. Die Peering-Subnetzroute wird entfernt, nachdem der Löschvorgang abgeschlossen ist.

Neue private Verbindung kann nicht erstellt werden

Wenn Sie versuchen, eine neue private Verbindung zu erstellen, nachdem Sie die VPC-Netzwerk-Peering-Verbindung gelöscht haben, die mit einer vorherigen privaten Verbindung verknüpft war, gibt Google Cloudmöglicherweise einen Fehler zurück. Informationen zur Fehlerbehebung finden Sie in den folgenden Fehlermeldungen.

Um dieses Problem zu vermeiden, folgen Sie der Anleitung zum Löschen einer privaten Verbindung, anstatt die zugehörige VPC-Netzwerk-Peering-Verbindung direkt zu löschen.

  • Fehler beim Ändern zugewiesener Bereiche:

    ERROR: Cannot modify allocated ranges in CreateConnection. Please use UpdateConnection. Existing allocated IP ranges: ALLOCATED_RANGE_NAMES.

    Gehen Sie folgendermaßen vor, wenn dieser Fehler angezeigt wird:

    1. Erstellen Sie die gelöschte private Verbindung neu und verwenden Sie die Namen der zugewiesenen Bereiche, die vom Fehler zurückgegeben werden. Sie müssen beim Neuerstellen der Verbindung dieselben zugewiesenen Bereichsnamen verwenden, die entsprechenden IP-Adressbereiche (CIDR-Blöcke) können jedoch gleich oder unterschiedlich sein.

      Informationen zum Erstellen der privaten Verbindung finden Sie unter Private Verbindung erstellen.

    2. Ändern Sie bei Bedarf die private Verbindung, um zugewiesene Bereiche hinzuzufügen oder zu entfernen. Möglicherweise möchten Sie andere zugewiesene Bereiche verwenden als die zugewiesenen Bereiche, die Sie beim Neuerstellen der privaten Verbindung im vorherigen Schritt angegeben haben.

      Informationen zum Ändern der privaten Verbindung finden Sie unter Private Verbindung ändern.

  • Vorübergehender interner Fehler:

    ERROR: (gcloud.services.vpc-peerings.connect) The operation "operations/OPERATION_ID"
    resulted in a failure "encountered some transient internal error, please try again later"

    Wenn Sie diese Fehlermeldung erhalten, wenden Sie sich an den Cloud-Support.