Ausgehende DNS-Weiterleitung für Cloud DNS-FQDNs

1. Einführung

ef2d068c413a15bd.png

In diesem Codelab erfahren Sie, wie Sie ausgehende Cloud DNS-Weiterleitungszonen mit einem vollständig qualifizierten Domainnamen (Fully Qualified Domain Name, FQDN) als Weiterleitungsziel einrichten. Mit dieser Funktion können Sie DNS-Traffic an IP-Adressen weiterleiten, die aus einem DNS-Namen aufgelöst werden, anstatt IP-Adressen in der Konfiguration Ihrer Weiterleitungszone fest zu codieren. Das ist besonders nützlich, wenn sich die IP-Adressen Ihres Backend-DNS-Resolvers ändern, da Sie den DNS-Eintrag für den FQDN aktualisieren können und Cloud DNS die Änderungen automatisch übernimmt.

Am Ende dieses Codelabs können Sie Cloud DNS-Weiterleitungszonen konfigurieren, die Folgendes verwenden:

  • Ein FQDN-Ziel, das mit einer privaten Zone mit A-/AAAA-Einträgen übereinstimmt.
  • Ein FQDN-Ziel, das durch Cloud DNS-Routingrichtlinien (Standortbestimmung oder gewichtetes Round Robin) für regionale Affinität oder Traffic-Verteilung unterstützt wird.

Übersicht über die FQDN-Weiterleitung

Mit der Cloud DNS-Weiterleitung können Sie private DNS-Namen, die außerhalb von Google Cloud gehostet werden (z. B. lokal oder in anderen Clouds), über Google Cloud-Ressourcen auflösen. Bisher wurde die Weiterleitung an eine Liste von Ziel-IP-Adressen unterstützt. Die FQDN-Weiterleitung erweitert diese Funktion, da Sie einen FQDN als Weiterleitungsziel in einer Weiterleitungszone angeben können.

Wenn ein FQDN angegeben wird, löst Cloud DNS ihn mithilfe einer internen Suche in IP-Adressen auf. Dabei wird die Auflösungslogik des Quellnetzwerks verwendet. Das bedeutet, dass das FQDN-Ziel mit einer privaten Zone, einer DNS-Routingrichtlinie (Geolocation oder gewichtetes Round Robin) oder sogar einem öffentlichen Domainnamen im Internet übereinstimmen kann. Cloud DNS leitet die Abfrage dann an die aufgelöste Ziel-IP weiter.

Umfang

Regionale FQDN-Weiterleitung mit einer neuen privaten Zone

Sie richten eine Konfiguration ein, die regionale Affinität für DNS-Traffic bietet. Dazu müssen Sie eine private DNS-Zone erstellen und darin eine Geolocation-Routingrichtlinie konfigurieren. Anschließend verknüpfen Sie eine Weiterleitungszone mit diesem FQDN-Ziel. So wird sichergestellt, dass Traffic aus einer bestimmten Region (z. B. „us-east1“) an einen entsprechenden regionalen DNS-Server weitergeleitet wird.

FQDN-Weiterleitung mit einer vorhandenen privaten Zone

Sie erfahren, wie Sie eine Weiterleitungszone erstellen, die auf einen FQDN ausgerichtet ist, der durch einen A-/AAAA-Eintrag in einer vorhandenen privaten DNS-Zone unterstützt wird. Hier wird gezeigt, wie Anfragen an statisch definierte IP-Adressen weitergeleitet werden, die mithilfe eines FQDN-Weiterleitungsziels aufgelöst werden.

Lerninhalte

Das Konzept der FQDN-Weiterleitung

Die FQDN-Weiterleitung erweitert die DNS-Weiterleitung, da Sie ein FQDN-Weiterleitungsziel anstelle von IP-Adressen als Weiterleitungsziele für ausgehende Anfragen angeben können.

Vorteile der FQDN-Weiterleitung

Sie erfahren, dass durch diese Funktion manuelle Updates entfallen, wenn sich die IP-Adressen des Backend-DNS-Resolvers ändern, da Cloud DNS Änderungen automatisch aus dem DNS-Eintrag des FQDN übernimmt. Außerdem ermöglicht es eine flexiblere Skalierung der DNS-Infrastruktur, da DNS-Server hinter einem gemeinsamen Namen stehen oder dynamisch skaliert werden können.

Integration mit Cloud DNS-Routingrichtlinien

Sie erfahren, wie die FQDN-Weiterleitung mit Cloud DNS-Routingrichtlinien (Standortbestimmung oder gewichtetes Round-Robin) kombiniert werden kann, um regionale Affinität zu erreichen, die Leistung für geografisch unterschiedliche Bereitstellungen zu optimieren und den Traffic basierend auf konfigurierten Gewichtungen zu verteilen.

Befehlssyntax der Google Cloud CLI

Sie lernen den Befehl gcloud dns managed-zones create und die relevanten Flags (--forwarding-targets, --private-forwarding-targets) zum Einrichten von FQDN-Weiterleitungszonen kennen.

Voraussetzungen

Für dieses Codelab benötigen Sie Folgendes:

  • Ein Google-Konto
  • Ein Google Cloud-Projekt mit aktivierter Abrechnung
  • Das gcloud-Befehlszeilentool ist installiert und konfiguriert.
  • Grundlegendes Verständnis von Cloud DNS und DNS-Konzepten

2. Einrichtung

FQDN-Weiterleitungsszenarien

Die Cloud DNS-FQDN-Weiterleitung unterstützt mehrere Anwendungsfälle:

  • Private Zone mit A-/AAAA-Eintrag: Wenn der FQDN mit einem A-/AAAA-Eintrag in einer privaten Zone übereinstimmt, werden die aufgelösten IP-Adressen der Weiterleitungsliste hinzugefügt. Das Verhalten ist identisch mit der direkten Weiterleitung an Ziel-IP-Adressen.
  • Private Zone mit Standortbestimmungsrichtlinie: Mit Standortbestimmungsrichtlinien können Sie den Quellstandort angeben und entsprechende Antworten bereitstellen. So lässt sich die Verteilung des Traffics nach Standort überprüfen. Dies ist wichtig für die regionale DNS-Weiterleitung und ‑Affinität.
  • Private Zone mit WRR-Richtlinie (Weighted Round Robin): Mit WRR-Richtlinien können Sie für einen DNS-Namen unterschiedliche Gewichtungen pro IP-Adresse angeben. So wird sichergestellt, dass der Traffic gemäß den konfigurierten Gewichtungen verteilt wird.
  • Öffentliche Zone mit A-/AAAA-Eintrag: Wenn der FQDN mit keinem privaten Namen übereinstimmt, der für dasselbe Netzwerk sichtbar ist, versucht Cloud DNS, ihn über das öffentliche Internet aufzulösen.

Google Cloud CLI-Befehl für die FQDN-Weiterleitung

Wenn Sie eine Weiterleitungszone mit einem FQDN-Weiterleitungsziel mit gcloud CLI-Befehlen erstellen möchten, verwenden Sie den Befehl gcloud dns managed-zones create. Die wichtigsten Flags zum Angeben eines FQDN-Ziels sind --forwarding-targets oder --private-forwarding-targets. Weitere Informationen zu Standard- und privaten Routingmethoden finden Sie in diesem Dokument.

  • --forwarding-targets: Liste der IPv4-/IPv6-Adressen oder ein Domainname des Zielnamenservers, an den die Zone Anfragen weiterleitet. Wird für die öffentliche Sichtbarkeit ignoriert. Adressen außerhalb von RFC1918 werden über das Internet an das Ziel weitergeleitet. RFC1918-Adressen werden über die VPC weitergeleitet.
  • --private-forwarding-targets: Liste der IPv4-/IPv6-Adressen oder ein Domainname des Zielnamenservers, an den die Zone Anfragen weiterleitet. Wird für die öffentliche Sichtbarkeit ignoriert. Alle für diesen Parameter angegebenen Adressen werden über die VPC erreicht.

Beispielsyntax:

gcloud dns managed-zones create NAME \
    --description=DESCRIPTION \
    --dns-name=DNS_SUFFIX \
    --networks=VPC_NETWORK_LIST \
    --forwarding-targets=DEFAULT_FQDN_TARGET \
    --visibility=private

Sie können --private-forwarding-targets anstelle von --forwarding-targets angeben.

Google Cloud Platform-Projekt einrichten

Melden Sie sich in der gcloud CLI an.

gcloud auth login

Projekt erstellen

gcloud projects create my-codelab-project

Aktivieren Sie die Cloud DNS API: Es kann einige Minuten dauern, bis die Änderung wirksam wird.

gcloud services enable dns.googleapis.com

In diesem Codelab wird das Standard-VPC-Netzwerk verwendet, das mit einem neuen Projekt erstellt wird. Sie können auch ein neues Netzwerk erstellen, das Sie stattdessen verwenden.

3. Regionale FQDN-Weiterleitung einrichten (mit neuer privater Zone)

In diesem Szenario wird gezeigt, wie die regionale DNS-Weiterleitung erreicht wird, sodass Traffic aus einer bestimmten Region an einen DNS-Server in derselben Region weitergeleitet wird.

Private DNS-Zone erstellen

Erstellen Sie zuerst eine private DNS-Zone (z. B. foo.com), in der Ihr FQDN und die zugehörige Geolocation-Routingrichtlinie gehostet werden. Diese Zone muss für Ihr Standardnetzwerk sichtbar sein.

gcloud dns managed-zones create my-zone \
    --description="Private Zone for FQDN outbound DNS forwarding." \
    --dns-name=foo.com. \
    --networks=default \
    --visibility=private

Eintragssatz für eine Geolocation-Routingrichtlinie in der privaten Zone erstellen

Erstellen Sie als Nächstes einen Datensatz (z. B. geo.foo.com) in my-zone und wenden Sie eine Geolocation-Routingrichtlinie an. In diesem Beispiel werden IP-Adressen für „asia-east1“ und „asia-west1“ konfiguriert.

gcloud dns record-sets create geo.foo.com. \
    --ttl="30" \
    --type="A" \
    --zone="my-zone" \
    --routing-policy-type="GEO" \
    --routing-policy-data="asia-east1=192.168.0.1;us-central1=192.168.0.2"

Hinweis: Wenn Geofencing deaktiviert ist (Standardeinstellung und empfohlen), werden Anfragen an die nächstgelegene fehlerfreie Region weitergeleitet, wenn ein Ziel in der ursprünglichen Region fehlerhaft ist.

Weiterleitungszone mit dem FQDN-Ziel erstellen

Erstellen Sie eine Weiterleitungszone (geo.test.com.), die im selben Standardnetzwerk sichtbar ist, und legen Sie geo.foo.com. (den FQDN mit der Geolocation-Routingrichtlinie) als Weiterleitungsziel fest.

gcloud dns managed-zones create my-geo-fwd-zone \
    --description="Forwarding zone for FQDN outbound DNS forwarding for routing policy." \
    --dns-name=geo.test.com. \
    --networks=default \
    --private-forwarding-targets=geo.foo.com. \
    --visibility=private

Alle DNS-Abfragen, die mit geo.test.com übereinstimmen, werden jetzt basierend auf der Quellregion der Abfrage an die aufgelöste IP-Adresse (z. B. 192.168.0.1 oder 192.168.0.2) von geo.foo.com weitergeleitet.

4. FQDN-Weiterleitung einrichten (mit vorhandener privater Zone)

Vorhandene private DNS-Zone

Angenommen, Sie haben bereits eine private DNS-Zone mit dem Namen my-zone (foo.com.), die für das default-Netzwerk sichtbar ist.

DNS-Ressourceneintrag in dieser privaten Zone erstellen

Erstellen Sie einen Typ-A-Eintrag für a.foo.com in Ihrer vorhandenen my-zone.

gcloud dns record-sets create a.foo.com. \
    --ttl="30" \
    --type="A" \
    --zone="my-zone" \
    --rrdatas=1.2.3.4

Weiterleitungszone erstellen und FQDN-Ziel angeben

Erstellen Sie wie im Szenario mit regionalen FQDNs eine Weiterleitungszone und geben Sie a.foo.com. als Weiterleitungsziel an.

gcloud dns managed-zones create my-a-fwd-zone \
    --description="Forwarding zone for FQDN outbound DNS forwarding for A record." \
    --dns-name=a.test.com. \
    --networks=default \
    --private-forwarding-targets=a.foo.com. \
    --visibility=private

Alle DNS-Abfragen, die mit a.test.com. übereinstimmen, werden an die aufgelösten IP-Adressen 1.2.3.4 von a.foo.com. weitergeleitet.

5. Bereinigen

Bevor eine private Zone gelöscht werden kann, müssen alle ResourceRecordSets in der privaten Zone gelöscht werden. Ausgenommen sind NS- und SOA-Einträge, die automatisch generiert werden und immer in der privaten Zone vorhanden sein müssen.

Löschen Sie die Geolocation-Routingrichtlinie in der privaten Zone.

gcloud dns record-sets delete "geo.foo.com." --type="A" --zone="my-zone"

Löschen Sie den A-Eintrag in der privaten Zone.

gcloud dns record-sets delete "a.foo.com." --type="A" --zone="my-zone"

Löschen Sie die private Zone.

gcloud dns managed-zones delete "my-zone"

Löschen Sie die Weiterleitungszone für die Standortbestimmungs-Routingrichtlinie.

gcloud dns managed-zones delete "my-geo-fwd-zone"

Löschen Sie die Weiterleitungszone für den A-Eintrag.

gcloud dns managed-zones delete "my-a-fwd-zone"

6. Glückwunsch

Sie haben die ausgehende DNS-Weiterleitung für FQDNs erfolgreich kennengelernt.

Weitere Informationen

Referenzdokumente