1. Einführung
In diesem Codelab erfahren Sie, wie Sie ausgehende Cloud DNS-Weiterleitungszonen mit einem voll qualifizierten Domainnamen (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 hartzucodieren. Das ist besonders nützlich, wenn sich die IP-Adressen Ihrer Backend-DNS-Resolver ä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 mit folgenden Elementen konfigurieren:
- Ein FQDN-Ziel, das mit einer privaten Zone mit A/AAAA-Einträgen übereinstimmt.
- Ein FQDN-Ziel, das von Cloud DNS-Routingrichtlinien (Standortbestimmung oder gewichtetes Round Robin) für die regionale Affinität oder Trafficverteilung unterstützt wird.
Übersicht über die FQDN-Weiterleitung
Mit der Cloud DNS-Weiterleitung können Sie private DNS-Namen, die außerhalb der Google Cloud-Plattform gehostet werden (z. B. lokal oder in anderen Clouds), von Google Cloud-Ressourcen aus auflösen. Bisher wurde die Weiterleitung an eine Liste von Ziel-IP-Adressen unterstützt. Bei der FQDN-Weiterleitung können Sie einen FQDN als Weiterleitungsziel in einer Weiterleitungszone angeben.
Wenn ein FQDN angegeben wird, löst Cloud DNS ihn mithilfe einer internen Suche in IP-Adressen auf, bei der die Auflösungslogik des Quellnetzwerks verwendet wird. Das bedeutet, dass das FQDN-Ziel mit einer privaten Zone, einer DNS-Routing-Richtlinie (Standortermittlung oder gewichteter Round Robin) oder sogar mit einem öffentlichen Internet-Domainnamen übereinstimmen kann. Cloud DNS leitet die Abfrage dann an die aufgelöste Ziel-IP-Adresse weiter.
Umfang
Regionale FQDN-Weiterleitung mit einer neuen privaten Zone
Sie erstellen eine Konfiguration, die eine regionale Affinität für DNS-Traffic ermöglicht. Dazu müssen Sie eine private DNS-Zone erstellen, eine Geolokalisierungs-Routing-Richtlinie darin konfigurieren und dann eine Weiterleitungszone mit diesem FQDN-Ziel verknüpfen. 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 lernen, eine Weiterleitungszone zu erstellen, die auf einen FQDN ausgerichtet ist, der von einem A/AAAA-Eintrag in einer vorhandenen privaten DNS-Zone unterstützt wird. Hier wird die Weiterleitung von Abfragen an statisch definierte IP-Adressen veranschaulicht, 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 nur IP-Adressen als Weiterleitungsziele für ausgehende Abfragen angeben können.
Vorteile der FQDN-Weiterleitung
Sie erfahren, dass durch diese Funktion manuelle Aktualisierungen nicht mehr erforderlich sind, 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 freigegebenen Namen oder dynamisch skaliert werden können.
Integration mit Cloud DNS-Routingrichtlinien
Sie erfahren, wie die FQDN-Weiterleitung mit Cloud DNS-Routingrichtlinien (Standortbestimmung oder gewichtete Round Robin) kombiniert werden kann, um eine regionale Affinität zu erreichen, die Leistung für geografisch verteilte Bereitstellungen zu optimieren und den Traffic basierend auf konfigurierten Gewichtungen zu verteilen.
Syntax von Google Cloud CLI-Befehlen
Sie lernen den Befehl gcloud dns managed-zones create
und die zugehörigen Flags (--forwarding-targets
, --private-forwarding-targets
) zum Einrichten von FQDN-Weiterleitungszonen kennen.
Voraussetzungen
Für dieses Codelab benötigen Sie Folgendes:
- Ein Google-Konto
- Google Cloud-Projekt mit aktivierter Abrechnung
- Das gcloud-Befehlszeilentool ist installiert und konfiguriert.
- Grundlegende Kenntnisse zu Cloud DNS und DNS-Konzepten
2. Einrichtung
FQDN-Weiterleitungsszenarien
Die Cloud DNS-Weiterleitung von FQDNs 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 entspricht der direkten Weiterleitung an Ziel-IP-Adressen.
- Private Zone mit Standortbestimmungsrichtlinie: Mit Standortbestimmungsrichtlinien können Sie den Standort der Quelle angeben und entsprechende Antworten bereitstellen, um die geografische Verteilung des Traffics zu überprüfen. Dies ist entscheidend für die regionale DNS-Weiterleitung und -Affinität.
- Private Zone mit WRR-Richtlinie (gewichtetes Round Robin): Mit WRR-Richtlinien können Sie unterschiedliche Gewichtungen pro IP-Adresse für einen DNS-Namen angeben und prüfen, ob der Traffic gemäß den konfigurierten Gewichtungen verteilt wird.
- Öffentliche Zone mit A/AAAA-Eintrag: Wenn der FQDN nicht mit einem 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 mithilfe von gcloud CLI-Befehlen eine Weiterleitungszone mit einem FQDN-Weiterleitungsziel erstellen möchten, verwenden Sie den Befehl gcloud dns managed-zones create
. Die wichtigsten Flags für die Angabe eines FQDN-Ziels sind --forwarding-targets
oder --private-forwarding-targets
. Weitere Informationen zu Standard- und privaten Routingmethoden finden Sie im Dokument.
--forwarding-targets
: Liste von IPv4-/IPv6-Adressen oder ein Domainname des Ziel-Nameservers, an den die Zone Anfragen weiterleitet. Wird für die öffentliche Sichtbarkeit ignoriert. Adressen, die nicht RFC 1918 entsprechen, werden über das Internet an das Ziel weitergeleitet. RFC 1918-Adressen werden über das VPC weitergeleitet.--private-forwarding-targets
: Liste von IPv4-/IPv6-Adressen oder ein Domainname des Ziel-Nameservers, 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 auch --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.
3. Regionale FQDN-Weiterleitung mit neuer privater Zone einrichten
In diesem Szenario wird gezeigt, wie eine regionale DNS-Weiterleitung erreicht wird, damit 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 Routingrichtlinie für die Standortbestimmung 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
Einen Eintragssatz für die Geolokalisierungs-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 Geolokalisierungs-Routing-Richtlinie 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 Abfragen an die nächstgelegene intakte Region weitergeleitet, wenn ein Ziel in der ursprünglichen Region nicht intakt 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 Geolokalisierungs-Routing-Richtlinie) 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 an die aufgelöste IP-Adresse (z. B. 192.168.0.1 oder 192.168.0.2) von geo.foo.com weitergeleitet, je nach Quellregion der Abfrage.
4. FQDN-Weiterleitung mit vorhandener privater Zone einrichten
Sie haben eine private DNS-Zone.
Angenommen, Sie haben bereits eine private DNS-Zone mit dem Namen my-zone (foo.com), die für das Netzwerk default sichtbar ist.
Erstellen Sie einen DNS-Ressourceneintrag in dieser privaten Zone.
Erstellen Sie einen A-Eintrag für a.foo.com in der 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 ähnlich wie beim regionalen FQDN-Szenario 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
Jede DNS-Abfrage, die mit a.test.com übereinstimmt, wird 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 zuerst alle Ressourceneinträge in der privaten Zone gelöscht werden. Eine Ausnahme bilden NS- und SOA-Einträge, die automatisch generiert werden und immer in der privaten Zone vorhanden sein müssen.
Löschen Sie die Geolokalisierungs-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 gelernt, die ausgehende DNS-Weiterleitung für FQDNs zu verwenden.