Private Verbindung zu Google APIs und Google-Diensten einrichten

Auf dieser Seite wird beschrieben, wie Sie private Verbindungen von Hosts in einem VPC-Netzwerk oder lokalen Netzwerk zu Google APIs und Google-Diensten einrichten, die von VPC Service Controls unterstützt werden. Konzepte für den privaten Google-Zugriff und Beispiele für Topologiediagramme finden Sie unter Privater Google-Zugriff mit VPC Service Controls.

Wenn Sie den privaten Google-Zugriff innerhalb eines Dienstperimeters auf Google APIs und Google-Dienste beschränken möchten, die von VPC Service Controls unterstützt werden, müssen Anfragen Ihrer Hosts an Domainname restricted.googleapis.com statt an *.googleapis.com gesendet werden. Die Domain restricted.googleapis.com wird in einen VIP-Bereich 199.36.153.4/30 (virtuelle IP-Adresse) aufgelöst. Auf diesen IP-Adressbereich kann nicht über das Internet zugegriffen werden.

Hinweis

  • Sie müssen APIs aktivieren, auf die Sie zugreifen möchten. Dies ist in der Google Cloud Console auf der Seite APIs & Dienste möglich.
  • Prüfen Sie, ob Sie die erforderliche Rolle zum Erstellen oder Aktualisieren von Subnetzen haben. Projektinhaber, -bearbeiter und IAM-Mitglieder mit der Rolle Netzwerkadministrator können Subnetze erstellen oder aktualisieren und IP-Adressen zuweisen. Weitere Informationen zu Rollen finden Sie in der Dokumentation zu IAM-Rollen.
  • Prüfen Sie, ob ein VPC-Netzwerk für den privaten Google-Zugriff und den privaten Google-Zugriff für lokale Hosts eingerichtet ist. Es werden VPC-Netzwerke im automatischen und im benutzerdefinierten Modus unterstützt. Legacy-Netzwerke werden nicht unterstützt.
  • VM-Instanzen in einem VPC-Netzwerk müssen eine private IP-Adresse (keine öffentliche IP-Adresse) haben und sich in einem Subnetz befinden, in dem privater Google-Zugriff aktiviert ist.
  • Für lokale Hosts muss ein Cloud VPN-Tunnel oder eine Cloud Interconnect-Verbindung zu Ihrem VPC-Netzwerk vorhanden sein.

Übersicht über das Verfahren

Führen Sie zum Einrichten einer privaten Verbindung die folgenden Aufgaben aus:

  • Konfigurieren Sie Routen für die Ziel-199.36.153.4/30. Weitere Informationen finden Sie unter Routen konfigurieren.
  • Konfigurieren Sie Firewallregeln, um den entsprechenden Traffic zum eingeschränkten IP-Adressbereich von Google APIs zuzulassen. Weitere Informationen finden Sie unter Firewallregeln konfigurieren.
  • Konfigurieren Sie DNS so, dass der Traffic zu den Google APIs auf den IP-Adressbereich der eingeschränkten Google APIs aufgelöst wird. Weitere Informationen finden Sie unter DNS konfigurieren.

Route zu restricted.googleapis.com konfigurieren

Verwenden Sie restricted.googleapis.com (199.36.153.4/30), um Zugriff auf Cloud und Developer APIs zu gewähren, die VPC Service Controls unterstützen. Für den privaten Google-Zugriff und den privaten Google-Zugriff für lokale Hosts muss Ihr VPC-Netzwerk eine Route dem Ziel 199.36.153.4/30 enthalten, dessen nächster Hop das Standard-Internetgateway ist. Obwohl der nächste Hop ein Standard-Internetgateway ist, bleibt der an 199.36.153.4/30 gesendete Traffic im Netzwerk von Google.

Wenn Ihr VPC-Netzwerk keine Standardroute hat, deren nächster Hop das Standard-Internetgateway ist, können Sie eine benutzerdefinierte statische Route mit dem Ziel 199.36.153.4/30 erstellen. Deren nächster Hop muss das Standard-Internetgateway sein.

Zusätzlich zur benutzerdefinierten statischen Route erfordert der private Google-Zugriff für lokale Hosts ein benutzerdefiniertes Route Advertisement, damit Hosts im lokalen Netzwerk Informationen über die eingeschränkte VIP erhalten. Sie können eine benutzerdefinierte dynamische Route mithilfe von Cloud Router erstellen, um die eingeschränkte VIP freizugeben.

Weitere Informationen zum Arbeiten mit VPC-Routen finden Sie unter Routen verwenden in der VPC-Dokumentation.

Benutzerdefinierte statische Route in einem VPC-Netzwerk konfigurieren

Fügen Sie eine benutzerdefinierte statische Route hinzu, um den Zugriff auf von Google verwaltete Dienste zu ermöglichen, die von VPC Service Controls unterstützt werden.

  • Fügen Sie eine benutzerdefinierte Route hinzu, die den Zugriff auf von Google verwaltete Dienste ermöglicht, die durch VPC Service Controls geschützt sind.

    gcloud compute routes create ROUTE_NAME \
      --network=NETWORK_NAME \
      --destination-range=199.36.153.4/30 \
      --next-hop-gateway=default-internet-gateway
    

    Dabei gilt:

    • ROUTE_NAME ist ein Name die benutzerdefinierten Route.
    • NETWORK_NAME ist der Name des VPC-Netzwerks.

Eingeschränkte Route zu Hosts in einem lokalen Netzwerk ankündigen

Wenn Sie den privaten Google-Zugriff für lokale Hosts verwenden, konfigurieren Sie Routen so, dass der Google API-Traffic über Ihre Cloud VPN- oder Cloud Interconnect-Verbindung weitergeleitet wird. Verwenden Sie das benutzerdefinierte Route Advertisement, um die eingeschränkte VIP (199.36.153.4/30) für das lokale Netzwerk freizugeben. Auf diesen IP-Adressbereich können nur lokale Hosts zugreifen, die Ihr VPC-Netzwerk über private IP-Adressen erreichen können.

Sie können dieses benutzerdefinierte Route Advertisement einem Cloud Router hinzufügen (für alle BGP-Sitzungen auf dem Router) oder eine ausgewählte BGP-Sitzung auswählen (für einen einzelnen Cloud VPN-Tunnel oder VLAN-Anhang).

So erstellen Sie für alle BGP-Sitzungen auf einem vorhandenen Cloud Router ein benutzerdefiniertes Route Advertisement für den eingeschränkten Bereich:

Console


  1. Rufen Sie in der Google Cloud Console die Seite „Cloud Router” auf.
    Zur Liste der Cloud Router
  2. Wählen Sie den zu aktualisierenden Cloud Router aus.
  3. Klicken Sie auf der Detailseite des Cloud Routers auf Bearbeiten.
  4. Erweitern Sie den Abschnitt Beworbene Routen.
  5. Wählen Sie für Routen die Option Benutzerdefinierte Routen erstellen aus.
  6. Wählen Sie zum Advertising der für den Cloud Router verfügbaren Subnetze die Option Alle für den Cloud Router sichtbaren Subnetze bewerben aus. Wenn Sie diese Option aktivieren, entspricht dies dem Standardverhalten des Cloud Routers.
  7. Wählen Sie Benutzerdefinierte Route hinzufügen aus, um eine beworbene Route hinzuzufügen.
  8. Konfigurieren Sie die Bewerbung der Route.
    • Quelle: Wählen Sie Benutzerdefinierter IP-Bereich aus.
    • IP-Adressbereich: Geben Sie 199.36.153.4/30 an.
    • Beschreibung: Fügen Sie eine Beschreibung von Restricted Google APIs IPs hinzu.
  9. Nachdem Sie Routen hinzugefügt haben, klicken Sie auf Speichern.

gcloud


Führen Sie den Befehl update mit dem Flag --set-advertisement-ranges oder --add-advertisement-ranges aus, um die benutzerdefinierten IP-Bereiche anzugeben:

  • Verwenden Sie das Flag --set-advertisement-ranges, um benutzerdefinierte IP-Bereiche festzulegen. Alle vorhandenen benutzerdefinierten Advertisings werden ersetzt. Im folgenden Beispiel wird der Cloud Router my-router so aktualisiert, dass er für alle Subnetze und den eingeschränkten IP-Adressbereich 199.36.153.4/30 von Google APIs wirbt:

    gcloud compute routers update my-router \
        --advertisement-mode CUSTOM \
        --set-advertisement-groups ALL_SUBNETS \
        --set-advertisement-ranges 199.36.153.4/30
    
  • Mit dem Flag --add-advertisement-ranges können Sie benutzerdefinierte IP-Bereiche an ein vorhandenes Advertisement anhängen. Für dieses Flag muss der Advertisement-Modus von Cloud Router bereits auf custom eingestellt sein. Im folgenden Beispiel wird die benutzerdefinierte IP Restricted Google APIs IPs dem Advertisement des Cloud Routers hinzugefügt:

    gcloud compute routers update my-router \
        --add-advertisement-ranges 199.36.153.4/30
    

So erstellen Sie für eine bestimmte BGP-Sitzung auf einem vorhandenen Cloud Router ein benutzerdefiniertes Route Advertisement für den eingeschränkten Bereich:

Console


  1. Rufen Sie in der Google Cloud Console die Seite „Cloud Router” auf.
    Zur Liste der Cloud Router
  2. Klicken Sie auf den Cloud Router, der die zu aktualisierende BGP-Sitzung enthält.
  3. Klicken Sie auf der Detailseite des Cloud Routers auf die zu aktualisierende BGP-Sitzung.
  4. Wählen Sie auf der Seite BGP-Sitzungsdetails Bearbeiten aus.
  5. Wählen Sie für Routen die Option Benutzerdefinierte Routen erstellen aus.
  6. Wählen Sie Alle für den Cloud Router sichtbaren Subnetze bewerben aus. Damit können Sie weiterhin die Subnetze bewerben, die für den Cloud Router zur Verfügung stehen. Wenn Sie diese Option aktivieren, entspricht dies dem Standardverhalten des Cloud Routers.
  7. Wählen Sie Benutzerdefinierte Route hinzufügen aus, um eine beworbene Route zu erstellen.
  8. Konfigurieren Sie die Bewerbung der Route.
    • Quelle: Wählen Sie Benutzerdefinierter IP-Bereich, um einen benutzerdefinierten IP-Bereich anzugeben.
    • IP-Adressbereich: Geben Sie 199.36.153.4/30 an.
    • Beschreibung: Fügen Sie eine Beschreibung von Restricted Google APIs IPs hinzu.
  9. Wenn Sie keine weiteren Routen hinzufügen möchten, klicken Sie auf Speichern.

gcloud


Führen Sie den Befehl update-bgp-peer mit dem Flag --set-advertisement-ranges oder --add-advertisement-ranges aus, um die benutzerdefinierten IP-Bereiche anzugeben:

  • Verwenden Sie das Flag --set-advertisement-ranges, um benutzerdefinierte IP-Bereiche festzulegen. Alle vorhandenen benutzerdefinierten Advertisings werden ersetzt. Im folgenden Beispiel wird die BGP-Sitzung my-bgp-session auf dem Cloud Router my-router aktualisiert, um alle Subnetze sowie den benutzerdefinierten IP-Bereich 199.36.153.4/30 zu bewerben:

    gcloud compute routers update-bgp-peer my-router \
        --peer-name my-bgp-session \
        --advertisement-mode CUSTOM \
        --set-advertisement-groups ALL_SUBNETS \
        --set-advertisement-ranges 199.36.153.4/30
    
  • Mit dem Flag --add-advertisement-ranges können Sie benutzerdefinierte IP-Bereiche an vorhandene IP-Bereiche anhängen. Für dieses Flag muss der Advertisement-Modus von Cloud Router bereits auf custom eingestellt sein. Im folgenden Beispiel wird der IP-Bereich 199.36.153.4/30 der eingeschränkten Google APIs dem Advertisement von Cloud Router hinzugefügt:

    gcloud compute routers update-bgp-peer my-router \
        --peer-name my-bgp-session \
        --add-advertisement-ranges 199.36.153.4/30
    

    Weitere Informationen zu benutzerdefiniertem Advertisement finden Sie unter Benutzerdefiniertes Route Advertisement.

Firewallregeln konfigurieren

Für den privaten Google-Zugriff verwenden VM-Instanzen interne IP-Adressen und erfordern keine externen IP-Adressen, um geschützte Google API-Ressourcen zu erreichen. VM-Instanzen können jedoch externe IP-Adressen haben oder die Anforderungen für den Internetzugriff anderweitig erfüllen. Zusätzlich zu benutzerdefinierten Routen können Sie den ausgehenden Traffic von VM-Instanzen in Ihrem VPC-Netzwerk beschränken, indem Sie Firewallregeln erstellen, die ausgehenden Traffic ablehnen.

Standardmäßig wird VM-Instanzen durch die implizierte Firewallregel zum Zulassen von ausgehendem Traffic ermöglicht, Traffic an ein beliebiges Ziel zu senden, wenn eine entsprechende Route vorhanden ist. Sie können zuerst eine Regel für ausgehenden Traffic erstellen, um den gesamten ausgehenden Traffic zu blockieren. Sie können dann Regeln für ausgehenden Traffic mit höherer Priorität erstellen, die Traffic zu ausgewählten Zielen in Ihrem VPC-Netzwerk und zum IP-Adressbereich 199.36.153.4/30 (restricted.googleapis.com) zulassen. Die gesamte Kommunikation mit restricted.googleapis.com erfolgt über den TCP-Port 443.

Weitere Informationen zum Arbeiten mit VPC-Firewallregeln finden Sie in der VPC-Dokumentation unter Firewallregeln verwenden.

Konfigurieren Sie Ihre lokalen Firewallregeln so, dass der Traffic von den lokalen Hosts den IP-Bereich 199.36.153.4/30 erreichen kann.

DNS konfigurieren

Für die allgemeine Verwendung von VPC Service Controls empfehlen wir Ihnen, Antwortrichtlinien von Cloud DNS LINK 1 zu verwenden, um DNS für Ihre VPC-Netzwerke zu konfigurieren. Wenn Sie Cloud DNS verwenden, müssen Sie keine verwaltete private Zone erstellen, um DNS zu konfigurieren. In einer Antwortrichtlinie wird das passthru-Verhalten verwendet, um Namen wie www.googleapis.com in dem Beispiel *.googleapis.com hinter dem Platzhalternamen zuzulassen. Weitere Informationen finden Sie unter Antwortrichtlinien und Regeln verwalten.

Sie können auch verwaltete private Zonen für Ihre VPC-Netzwerke verwenden. Private Cloud DNS-Zonen ermöglichen das Hosten einer DNS-Zone, auf die über autorisierte VPC-Netzwerke zugegriffen werden kann. Wenn Sie die Weiterleitung von bestimmten lokalen Nameservern konfigurieren möchten, können Sie die IP-Adressen der eingeschränkten Google APIs verwenden. Sie können dann eine private Zone für googleapis.com mit einem DNS-A-Eintrag erstellen, der restricted.googleapis.com und entsprechende CNAME-Einträge für jeden *.googleapis.com-Namen zuordnet. Weitere Informationen finden Sie unter Zonen verwalten.

Für den lokalen Zugriff können Sie eine Cloud DNS-Weiterleitungsregel für eingehenden Traffic konfigurieren, damit lokale Nameserver eine von Cloud verwaltete Zone abfragen können. Alternativ können Sie einen lokalen Nameserver konfigurieren. z. B. mit BIND:

DNS mit Cloud DNS konfigurieren

Verwenden Sie Cloud DNS, um die DNS-Auflösung für VM-Instanzen in Ihrem VPC-Netzwerk, Hosts in einem lokalen Netzwerk oder beides zu aktivieren. Wenn Sie eine freigegebene VPC verwenden, lesen Sie die Informationen in der Cloud DNS-Dokumentation unter Private Zonen und freigegebene VPCs. Wenn Sie eine freigegebene VPC verwenden, müssen Sie außerdem dafür sorgen, dass das Hostprojekt des freigegebenen VPC-Netzwerks im selben Dienstperimeter enthalten ist wie Projekte, die eine Verbindung zu dem Netzwerk herstellen.

Sie können DNS mit Cloud DNS mithilfe von Antwortrichtlinien oder privaten Zonen konfigurieren.

Antwortrichtlinien zum Konfigurieren von Cloud DNS verwenden

Bestimmte Namen an eingeschränkte VIP-Adressen weiterleiten

Sie können eine Antwortrichtlinie mit lokalen CNAME-Daten für jede Zone konfigurieren, um Google API-Anfragen in eingeschränkte Google APIs zu übersetzen. Namen, die nicht angegeben sind, werden weiterhin mithilfe des regulären DNS-Namens aufgelöst.

Sie können beispielsweise eine Antwortrichtlinie für pubsub.googleapis.com erstellen, die lokale CNAME-Daten für eine Zone enthält, um Google API-Anfragen in restricted.googleapis.com zu übersetzen. In der Zwischenzeit wird www.googleapis.com, das nicht angegeben ist, weiterhin mit regulärem DNS aufgelöst.

In der folgenden Beispielkonfiguration erstellen Sie eine Richtlinie und wenden sie auf ein bestimmtes VPC-Netzwerk an.

gcloud

  1. Führen Sie zum Erstellen einer Antwortrichtlinie den Befehl gcloud beta dns response-policies create aus:

    gcloud beta dns response-policies create RESPONSE_POLICY_NAME \
        --networks=NETWORK \
        --description=DESCRIPTION
    

    Dabei gilt:

    • RESPONSE_POLICY_NAME: Der Name oder die ID der Antwortrichtlinie, die Sie löschen möchten, z. B. myresponsepolicy
    • NETWORK: Eine durch Kommas getrennte Liste der Netzwerknamen, die mit der Antwortrichtlinie verknüpft werden sollen, z. B. network1,network2
    • DESCRIPTION: Eine Beschreibung der Antwortrichtlinie, z. B. My new response policy
  2. Führen Sie den Befehl gcloud beta dns response-policies rules create aus, um der Richtlinie eine Regel hinzuzufügen:

    gcloud beta dns response-policies rules create RESPONSE_POLICY_RULE_NAME \
        --response-policy=RESPONSE_POLICY_NAME \
        --dns-name=pubsub.googleapis.com. \
        --local-data=name="pubsub.googleapis.com.",type="A",ttl=300,rrdatas="199.36.153.4|199.36.153.5|199.36.153.6|199.36.153.7"
    

    Dabei gilt:

    • RESPONSE_POLICY_RULE_NAME: Ein Name für die Antwortrichtlinienregel, die Sie erstellen möchten, z. B. myresponsepolicyrule
    • RESPONSE_POLICY_NAME: Der Name der Antwortrichtlinie, z. B. myresponsepolicy

API

  1. Erstellen Sie eine Antwortrichtlinie über eine URL:

    {
      kind: "dns#responsePolicy",
      response_policy_name: RESPONSE_POLICY_NAME,
      description: RESPONSE_POLICY_DESCRIPTION,
      networks: [
        {
          network_url: URL_TO_NETWORK;
        }
      ]
    }
    

    Dabei gilt:

    • RESPONSE_POLICY_NAME: Ein Name für die Antwortrichtlinie
    • RESPONSE_POLICY_DESCRIPTION ist eine Beschreibung der Antwortrichtlinie
    • URL_TO_NETWORK ist die URL, für die Sie die Antwortrichtlinie erstellen

  2. Fügen Sie der Richtlinie eine Regel hinzu:

    {
      kind: "dns#responsePolicyRules",
      rule_name: RULE_NAME,
      dns_name: DNS_NAME,
      local_data: [
        {
          name: "pubsub.googleapis.com.",
          type: "A",
          ttl: 300,
          rrdata: ["199.36.153.4", "199.36.153.5", "199.36.153.6", "199.36.153.7"]
        }
      ]
    }
    

    Dabei gilt:

    • RULE_NAME ist ein Name für die Regel, die Sie erstellen, z. B. pubsub
    • DNS_NAME ist der DNS-Name, für den Sie die Regel erstellen, z. B. pubsub.googleapis.com.. Beachten Sie den abschließenden Punkt.

Alle Namen mit einigen Ausnahmen an eingeschränkte VIP-Adressen weiterleiten

Sie können mit Regeln bestimmte DNS-Antworten von einer Richtlinienregel ausnehmen, die eine gesamte Domain oder einen großen IP-Adressblock abdeckt. Dieses Konzept wird als Passthrough-Verhalten bezeichnet. Mit dem Passthrough-Verhalten können Sie Namen, die keine Unterstützung für Dienststeuerelemente bieten, hinter dem Platzhalternamen zulassen.

Sie können beispielsweise festlegen, dass www.googleapis.com hinter dem Platzhalternamen im Beispiel *.googleapis.com zulässig ist. Die genaue Übereinstimmung für www hat Vorrang vor dem Platzhalter *.

In der folgenden Beispielkonfiguration erstellen Sie eine Richtlinie mit einem angegebenen Namen und wenden sie auf ein bestimmtes VPC-Netzwerk an. Mit der Regel kann www.googleapis.com den Platzhalter *.googleapis.com umgehen.

gcloud

  1. Führen Sie zum Erstellen einer Antwortrichtlinie den Befehl gcloud beta dns response-policies create aus:

    gcloud beta dns response-policies create RESPONSE_POLICY_NAME \
        --networks=NETWORK \
        --description=DESCRIPTION
    

    Dabei gilt:

    • RESPONSE_POLICY_NAME: Der Name oder die ID der Antwortrichtlinie, die Sie löschen möchten, z. B. myresponsepolicy
    • NETWORK: Eine durch Kommas getrennte Liste der Netzwerknamen, die mit der Antwortrichtlinie verknüpft werden sollen, z. B. network1,network2
    • DESCRIPTION: Eine Beschreibung der Antwortrichtlinie, z. B. My new response policy
  2. Führen Sie den Befehl gcloud beta dns response-policies rules create aus und setzen Sie das Flag --behavior auf bypassResponsePolicy, um eine Umgehungsregel zur Richtlinie hinzuzufügen:

    gcloud beta dns response-policies rules create RESPONSE_POLICY_RULE_NAME \
        --response-policy=RESPONSE_POLICY_NAME \
        --dns-name=DNS_NAME \
        --behavior=bypassResponsePolicy
    

    Dabei gilt:

    • RESPONSE_POLICY_RULE_NAME: Ein Name für die Antwortrichtlinienregel, die Sie erstellen möchten, z. B. myresponsepolicyrule
    • RESPONSE_POLICY_NAME: Der Name der Antwortrichtlinie, z. B. myresponsepolicy
    • DNS_NAME: Der DNS- oder Domainname, z. B. www.googleapis.com

API

  1. Erstellen Sie eine Antwortrichtlinie:

    {
      kind: "dns#responsePolicy",
      response_policy_name: RESPONSE_POLICY_NAME,
      description: RESPONSE_POLICY_DESCRIPTION,
      networks: [
        {
          network_url: URL_TO_NETWORK;
        }
      ]
    }
    

    Dabei gilt:

    • RESPONSE_POLICY_NAME: Ein Name für die Antwortrichtlinie, z. B. my-response-policy
    • RESPONSE_POLICY_DESCRIPTION: Eine Beschreibung der Antwortrichtlinie, z. B. my response policy
    • URL_TO_NETWORK ist die URL, für die Sie die Antwortrichtlinie erstellen
  2. Fügen Sie der Richtlinie eine Regel hinzu:

    {
      kind: "dns#responsePolicyRules",
      rule_name: RULE_NAME,
      dns_name: DNS_NAME,
      local_data: [
        {
          name: "*.googleapis.com.",
          type: "A",
          ttl: 300,
          rrdata: ["restricted.googleapis.com."]
        }
      ]
    }
    {
      kind: "dns#responsePolicyRules",
      rule_name: "www-passthru",
      dns_name: "www.googleapis.com.",
      behavior: BYPASS_RESPONSE_POLICY
    }
    

    Dabei gilt:

    • RULE_NAME ist ein Name für die Regel, die Sie erstellen, z. B. googleapis
    • DNS_NAME ist der Platzhalter-DNS-Name, für den Sie die Regel erstellen, z. B. *.googleapis.com.. Beachten Sie den abschließenden Punkt.

Cloud DNS mit privaten Zonen konfigurieren

Konfigurieren Sie Cloud DNS mit privaten Zonen, wenn Sie keine Antwortrichtlinien verwenden können.

  1. Erstellen Sie für Ihr VPC-Netzwerk eine verwaltete private Zone.

    gcloud beta dns managed-zones create ZONE_NAME \
     --visibility=private \
     --networks=https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME \
     --description=DESCRIPTION \
     --dns-name=googleapis.com
    

    Dabei gilt:

    • ZONE_NAME ist ein Name für die Zone, die Sie erstellen. Beispiel: vpc. Dieser Name wird in den folgenden Schritten verwendet.
    • PROJECT_ID ist die ID des Projekts, in dem Ihr VPC-Netzwerk gehostet wird.
    • NETWORK_NAME ist der Name des VPC-Netzwerks.
    • DESCRIPTION ist eine optionale menschenlesbare Beschreibung der verwalteten Zone.
  2. Starten Sie eine Transaktion.

    gcloud dns record-sets transaction start --zone=ZONE_NAME
    

    Ersetzen Sie ZONE_NAME durch den Namen der Zone, die Sie im ersten Schritt erstellt haben.

  3. Fügen Sie DNS-Einträge hinzu.

    gcloud dns record-sets transaction add --name=*.googleapis.com. \
        --type=CNAME restricted.googleapis.com. \
        --zone=ZONE_NAME \
        --ttl=300
    

    Ersetzen Sie ZONE_NAME durch den Namen der Zone, die Sie im ersten Schritt erstellt haben.

    gcloud dns record-sets transaction add --name=restricted.googleapis.com. \
        --type=A 199.36.153.4 199.36.153.5 199.36.153.6 199.36.153.7 \
        --zone=ZONE_NAME \
        --ttl=300
    

    Ersetzen Sie ZONE_NAME durch den Namen der Zone, die Sie im ersten Schritt erstellt haben.

  4. Führen Sie die Transaktion aus.

    gcloud dns record-sets transaction execute --zone=ZONE_NAME
    

    Ersetzen Sie ZONE_NAME durch den Namen der Zone, die Sie im ersten Schritt erstellt haben.

  5. Optional. Führen Sie die folgenden Schritte aus, damit lokale Hosts die eingeschränkte VIP erreichen können:

    1. Erstellen Sie eine DNS-Richtlinie und aktivieren Sie die eingehende DNS-Weiterleitung, um die Namensauflösungsdienste des VPC-Netzwerks extern in Systemen in lokalen Netzwerken verfügbar zu machen.

      gcloud beta dns policies create POLICY_NAME \
       --networks=https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME \
       --enable-inbound-forwarding \
       --description=DESCRIPTION
      

      Dabei gilt:

      • POLICY_NAME ist der Name der Richtlinie, die Sie erstellen. Beispiel: apipolicy.
      • PROJECT_ID ist die ID des Projekts, in dem Ihr VPC-Netzwerk gehostet wird.
      • NETWORK_NAME: der Name des VPC-Netzwerks
      • DESCRIPTION ist eine optionale menschenlesbare Beschreibung der verwalteten Zone.
    2. Verweisen Sie in Ihrem lokalen Netzwerk mit dem lokalen DNS auf die Forwarder-IP-Adresse von Cloud DNS. Verwenden Sie den Befehl compute addresses list, um die IP-Adresse zur Weiterleitung zu ermitteln:

      gcloud compute addresses list --filter='name ~ ^dns-forwarding.*' \
       --format='csv[no-heading](address, subnetwork)'
      

DNS mit BIND konfigurieren

Wenn Sie für die DNS-Auflösung BIND verwenden, können Sie es so konfigurieren, dass Google API-Anfragen an die eingeschränkten Google APIs aufgelöst werden. Hier sehen Sie ein Beispiel für eine BIND-Konfiguration, in der sogenannte Antwortrichtlinienzonen (Response Policy Zones, RPZ) verwendet werden, um dieses Verhalten zu erzeugen:

  1. Fügen Sie /etc/bind/named.conf die folgenden Zeilen hinzu:

    include "/etc/bind/named.conf.options";
    include "/etc/bind/named.conf.local";
    
  2. Fügen Sie /etc/bind/named.conf.options die folgenden Zeilen hinzu:

    options {
      directory "/var/cache/bind";
    
      dnssec-validation no;
    
      auth-nxdomain no;    # conform to RFC 1035
      listen-on-v6 { any; };
      listen-on { any; };
      response-policy { zone "googleapis.zone"; };
      allow-query { any;};
    };
    
  3. Fügen Sie /etc/bind/named.conf.local die folgenden Zeilen hinzu:

    include "/etc/bind/named.conf.default-zones";

    zone "googleapis.zone" { type master; file "/etc/bind/db.googleapis.zone"; allow-query {none;}; };

  4. Fügen Sie /etc/bind/db.googleapis.zone die folgenden Zeilen hinzu:

    $TTL 1H
    @                       SOA LOCALHOST. noreply.localhost(1 1h 15m 30d 2h)
                            NS  LOCALHOST.

    *.googleapis.com CNAME restricted.googleapis.com. restricted.googleapis.com CNAME rpz-passthru.

DNS in Sonderfällen konfigurieren

Wenn Sie in bestimmten Fällen DNS konfigurieren müssen, beachten Sie Folgendes:

  • Benutzerdefiniertes BIND wird bei Verwendung von Dataflow nicht unterstützt. Wenn Sie die DNS-Auflösung bei Verwendung von Dataflow mit VPC Service Controls anpassen möchten, nutzen Sie private Zonen von Cloud DNS anstelle benutzerdefinierter BIND-Server. Zur Verwendung einer eigenen lokalen DNS-Auflösung können Sie eine lokale DNS-Weiterleitungsmethode von Google Cloud verwenden.
  • Möglicherweise müssen Sie auch DNS für gcr.io konfigurieren, wenn Sie beispielsweise Google Kubernetes Engine (GKE) verwenden. Weitere Informationen finden Sie unter Container Registry für private GKE-Cluster einrichten.