Cloud DNS FQDN wychodzące przekierowanie DNS

1. Wprowadzenie

ef2d068c413a15bd.png

W tym samouczku dowiesz się, jak skonfigurować wychodzące strefy przekazywania Cloud DNS, używając pełnej i jednoznacznej nazwy domeny (FQDN) jako miejsca docelowego przekazywania. Ta funkcja umożliwia kierowanie ruchu DNS na adresy IP rozpoznane na podstawie nazwy DNS, a nie na adresy IP zakodowane na stałe w konfiguracji strefy przekazywania. Jest to szczególnie przydatne, gdy zmieniają się adresy IP wewnętrznego narzędzia do rozpoznawania nazw DNS, ponieważ możesz zaktualizować rekord DNS dla pełnej i jednoznacznej nazwy domeny, a Cloud DNS automatycznie wprowadzi zmiany.

Po ukończeniu tego laboratorium dowiesz się, jak skonfigurować strefy przekazywania Cloud DNS, które korzystają z tych funkcji:

  • Docelowa pełna i jednoznaczna nazwa domeny, która pasuje do strefy prywatnej z rekordami A/AAAA.
  • Docelowa pełna i jednoznaczna nazwa domeny obsługiwana przez zasady routingu Cloud DNS (geolokalizacja lub ważony algorytm karuzelowy) w celu zapewnienia regionalnego powiązania lub dystrybucji ruchu.

Omówienie przekazywania pełnej i jednoznacznej nazwy domeny

Przekazywanie Cloud DNS umożliwia rozstrzyganie prywatnych nazw DNS hostowanych poza Google Cloud Platform (np. lokalnie lub w innych chmurach) z zasobów Google Cloud Platform. Tradycyjnie obsługiwało to przekazywanie do listy docelowych adresów IP. Przekierowanie FQDN rozszerza tę funkcję, umożliwiając określenie pełnej i jednoznacznej nazwy domeny jako celu przekierowania w strefie przekierowania.

Gdy podana jest pełna i jednoznaczna nazwa domeny, Cloud DNS rozpoznaje ją na adresy IP za pomocą wewnętrznego wyszukiwania, które korzysta z logiki rozpoznawania sieci źródłowej. Oznacza to, że docelowa pełna i jednoznaczna nazwa domeny może pasować do strefy prywatnej, zasad routingu DNS (geolokalizacja lub ważony algorytm karuzelowy) lub nawet do publicznej nazwy domeny w internecie. Cloud DNS przekazuje zapytanie do rozpoznanego docelowego adresu IP.

Co utworzysz

Przekierowanie regionalnej pełnej i jednoznacznej nazwy domeny za pomocą nowej strefy prywatnej

Skonfigurujesz ustawienia, które zapewnią regionalne powiązanie ruchu DNS. Wymaga to utworzenia prywatnej strefy DNS i skonfigurowania w niej zasady routingu opartego na geolokalizacji, a następnie połączenia strefy przekazywania z tym docelowym w pełni kwalifikowanym adresem domeny. Dzięki temu ruch z określonego regionu (np. us-east1) jest przekierowywany na odpowiedni regionalny serwer DNS.

Przekazywanie pełnej i jednoznacznej nazwy domeny za pomocą istniejącej strefy prywatnej

Dowiesz się, jak utworzyć strefę przekazywania, która jest kierowana na w pełni kwalifikowaną nazwę domeny obsługiwaną przez rekord A/rekord AAAA w istniejącej prywatnej strefie DNS. Pokazuje to przekazywanie zapytań do statycznie zdefiniowanych adresów IP rozpoznawanych przy użyciu docelowego przekazywania pełnej i jednoznacznej nazwy domeny.

Czego się nauczysz

Pojęcie przekazywania pełnej i jednoznacznej nazwy domeny

Przekierowanie pełnej i jednoznacznej nazwy domeny rozszerza przekierowanie DNS, ponieważ umożliwia określenie docelowego przekierowania pełnej i jednoznacznej nazwy domeny zamiast tylko adresów IP jako docelowych przekierowań zapytań wychodzących.

Zalety przekierowania pełnej i jednoznacznej nazwy domeny

Dowiesz się, że ta funkcja eliminuje konieczność ręcznego aktualizowania adresów IP resolvera DNS backendu, gdy się one zmieniają, ponieważ Cloud DNS automatycznie wykrywa zmiany w rekordzie DNS FQDN. Umożliwia też bardziej elastyczne skalowanie infrastruktury DNS, ponieważ serwery DNS mogą znajdować się za wspólną nazwą lub skalować się dynamicznie.

Integracja z zasadami routingu Cloud DNS

Dowiesz się, jak przekazywanie w pełni kwalifikowanych nazw domen można łączyć z zasadami routingu Cloud DNS (geolokalizacja lub ważony algorytm karuzelowy), aby uzyskać regionalne powiązanie, zoptymalizować wydajność w przypadku wdrożeń w różnych lokalizacjach geograficznych i rozdzielać ruch na podstawie skonfigurowanych wag.

Składnia poleceń Google Cloud CLI

Poznasz polecenie gcloud dns managed-zones create i odpowiednie flagi (--forwarding-targets, --private-forwarding-targets) do konfigurowania stref przekazywania FQDN.

Wymagania wstępne

Aby ukończyć to ćwiczenie, potrzebujesz:

2. Przygotowania

Opisy scenariuszy przekazywania pełnej i jednoznacznej nazwy domeny

Przekazywanie w Cloud DNS w przypadku w pełni kwalifikowanych nazw domen obsługuje kilka scenariuszy użycia:

  • Strefa prywatna z rekordem A/AAAA: jeśli pełna i jednoznaczna nazwa domeny pasuje do rekordu A/AAAA w strefie prywatnej, rozpoznane adresy IP są dodawane do listy przekazywania, a działanie jest identyczne z przekazywaniem bezpośrednio do docelowych adresów IP.
  • Strefa prywatna z zasadami geolokalizacji: zasady geolokalizacji umożliwiają określenie geolokalizacji źródła i podanie odpowiednich odpowiedzi, weryfikując dystrybucję ruchu na podstawie położenia geograficznego. Jest to kluczowe w przypadku regionalnego przekierowywania DNS i powiązania.
  • Strefa prywatna z zasadą ważonego algorytmu karuzelowego (WRR): zasady WRR umożliwiają określanie różnych wag dla poszczególnych adresów IP w przypadku nazwy DNS, co pozwala sprawdzić, czy ruch jest rozdzielany zgodnie ze skonfigurowanymi wagami.
  • Strefa publiczna z rekordem A/AAAA: jeśli pełna i jednoznaczna nazwa domeny nie pasuje do żadnej nazwy prywatnej widocznej w tej samej sieci, Cloud DNS próbuje ją rozpoznać za pomocą publicznego internetu.

Omówienie polecenia Google Cloud CLI do przekazywania opartego na pełnej i jednoznacznej nazwie domeny

Aby utworzyć strefę przekazywania z docelowym przekazywaniem FQDN za pomocą poleceń gcloud CLI, użyj polecenia gcloud dns managed-zones create. Kluczowe flagi do określania docelowej pełnej i jednoznacznej nazwy domeny to --forwarding-targets lub --private-forwarding-targets. Szczegółowe informacje o standardowych i prywatnych metodach routingu znajdziesz w tym dokumencie.

  • --forwarding-targets: lista adresów IPv4/IPv6 lub jedna nazwa domeny docelowego serwera nazw, do którego strefa będzie przekazywać zapytania. Ignorowane w przypadku widoczności publicznej. Adresy inne niż RFC1918 będą przekazywane do miejsca docelowego przez internet. Adresy RFC1918 będą przekazywane przez sieć VPC.
  • --private-forwarding-targets: lista adresów IPv4/IPv6 lub jedna nazwa domeny docelowego serwera nazw, do którego strefa będzie przekazywać zapytania. Ignorowane w przypadku widoczności publicznej. Wszystkie adresy określone dla tego parametru będą dostępne przez VPC.

Przykładowa składnia:

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

Pamiętaj, że zamiast --forwarding-targets możesz wpisać --private-forwarding-targets.

Konfigurowanie projektu Google Cloud Platform

Zaloguj się w gcloud CLI.

gcloud auth login

Utwórz projekt.

gcloud projects create my-codelab-project

Włącz interfejs Cloud DNS API. Zastosowanie tej zmiany może potrwać kilka minut.

gcloud services enable dns.googleapis.com

W tym ćwiczeniu w Codelabs używamy domyślnej sieci VPC, która jest tworzona w nowym projekcie. Możesz też utworzyć nową sieć.

3. Konfigurowanie przekierowywania regionalnych pełnych i jednoznacznych nazw domen (z nową strefą prywatną)

Ten scenariusz pokazuje, jak skonfigurować regionalne przekierowywanie DNS, aby ruch z określonego regionu był przekierowywany do serwera DNS w tym samym regionie.

Tworzenie prywatnej strefy DNS

Najpierw utwórz prywatną strefę DNS (np.foo.com), która będzie hostować pełną i jednoznaczną nazwę domeny oraz powiązaną z nią zasadę routingu opartego na geolokalizacji. Ta strefa musi być widoczna w Twojej sieci domyślnej.

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

Utwórz zbiór rekordów zasad routingu opartego na geolokalizacji w strefie prywatnej

Następnie w my-zone utwórz zestaw rekordów (np.geo.foo.com) i zastosuj zasadę routingu opartego na geolokalizacji. W tym przykładzie skonfigurowano adresy IP dla regionów asia-east1 i asia-west1.

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"

Uwaga: jeśli geofencing jest wyłączony (domyślnie i zalecane), zapytania będą kierowane do najbliższego sprawnego regionu, jeśli cel w pierwotnym regionie jest niesprawny.

Tworzenie strefy przekierowywania z docelową pełną i jednoznaczną nazwą domeny

Utwórz strefę przekazywania (geo.test.com.) widoczną w tej samej sieci domyślnej i ustaw geo.foo.com. (pełną i jednoznaczną nazwę domeny z zasadami routingu na podstawie geolokalizacji) jako jej miejsce docelowe przekazywania.

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

Wszystkie zapytania DNS pasujące do geo.test.com są teraz przekazywane do rozpoznanego adresu IP (np.192.168.0.1 lub 192.168.0.2) domeny geo.foo.com na podstawie regionu źródłowego zapytania.

4. Konfigurowanie przekierowania pełnej i jednoznacznej nazwy domeny (w przypadku istniejącej strefy prywatnej)

Masz już prywatną strefę DNS

Załóżmy, że masz już prywatną strefę DNS o nazwie my-zone (foo.com.), która jest widoczna w sieci default.

Utwórz rekord zasobu DNS w tej strefie prywatnej

Utwórz rekord typu A dla a.foo.com w istniejącej strefie my-zone.

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

Utwórz strefę przekierowywania i określ docelową pełną i jednoznaczną nazwę domeny

Podobnie jak w przypadku regionalnej pełnej i jednoznacznej nazwy domeny utwórz strefę przekierowywania i jako cel przekierowywania podaj a.foo.com.

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

Wszystkie zapytania DNS pasujące do a.test.com będą przekazywane do rozpoznanych adresów IP 1.2.3.4 domeny a.foo.com.

5. Czyszczenie danych

Zanim będzie można usunąć strefę prywatną, należy najpierw usunąć wszystkie zestawy rekordów zasobów w tej strefie (z wyjątkiem rekordów NS i SOA, które są generowane automatycznie i muszą zawsze istnieć w strefie prywatnej).

Usuń zasadę routingu opartego na geolokalizacji w strefie prywatnej.

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

Usuń rekord A w strefie prywatnej.

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

Usuń strefę prywatną.

gcloud dns managed-zones delete "my-zone"

Usuń strefę przekierowania z zasady routingu opartej na geolokalizacji.

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

Usuń strefę przekierowania dla rekordu A.

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

6. Gratulacje

Gratulacje! Udało Ci się nauczyć korzystać z przekazywania wychodzących zapytań DNS do serwera DNS z pełną nazwą domeny.

Więcej informacji

Dokumentacja