1. Introdução
Este codelab vai orientar você na configuração de zonas de encaminhamento de saída do Cloud DNS usando um nome de domínio totalmente qualificado (FQDN) como destino de encaminhamento. Esse recurso permite direcionar o tráfego de DNS para endereços IP resolvidos de um nome de DNS, em vez de codificar endereços IP na configuração da zona de encaminhamento. Isso é especialmente útil quando os endereços IP do solucionador de DNS de back-end mudam, já que você pode atualizar o registro DNS para o FQDN, e o Cloud DNS detecta as mudanças automaticamente.
Ao final deste codelab, você vai conseguir configurar zonas de encaminhamento do Cloud DNS que usam o seguinte:
- Um destino FQDN que corresponde a uma zona particular com registros A/AAAA.
- Um destino de FQDN com suporte de políticas de roteamento do Cloud DNS (geolocalização ou round-robin ponderado) para afinidade regional ou distribuição de tráfego.
Visão geral do encaminhamento de FQDN
Com o encaminhamento de DNS do Cloud, você pode resolver nomes DNS particulares hospedados fora do Google Cloud Platform (por exemplo, no local ou em outras nuvens) usando recursos do Google Cloud Platform. Tradicionalmente, ele oferecia suporte ao encaminhamento para uma lista de endereços IP de destino. O encaminhamento de FQDN estende isso permitindo que você especifique um FQDN como um destino de encaminhamento em uma zona de encaminhamento.
Quando um FQDN é especificado, o Cloud DNS o resolve em endereços IP usando uma pesquisa interna, que usa a lógica de resolução da rede de origem. Isso significa que o destino do FQDN pode corresponder a uma zona particular, uma política de roteamento do DNS (geolocalização ou round-robin ponderado) ou até mesmo um nome de domínio público da Internet. O Cloud DNS encaminha a consulta para o IP de destino resolvido.
O que você vai criar
Encaminhamento de FQDN regional com uma nova zona particular
Você vai criar uma configuração que alcança afinidade regional para o tráfego DNS. Isso envolve criar uma zona de DNS particular e configurar uma política de roteamento de geolocalização nela, além de vincular uma zona de encaminhamento a esse FQDN de destino. Isso garante que o tráfego de uma região específica (por exemplo, us-east1) seja encaminhado para um servidor DNS regional correspondente.
Encaminhamento de FQDN com uma zona particular existente
Você vai aprender a criar uma zona de encaminhamento que tem como destino um FQDN com suporte de um registro A/AAAA em uma zona de DNS particular. Isso demonstra o encaminhamento de consultas para endereços IP definidos de forma estática resolvidos usando um destino de encaminhamento de FQDN.
O que você vai aprender
O conceito de encaminhamento de FQDN
Você vai entender que o encaminhamento de FQDN estende o encaminhamento de DNS, permitindo que você especifique um destino de encaminhamento de FQDN em vez de apenas endereços IP como destinos de encaminhamento para consultas de saída.
Benefícios do encaminhamento de FQDN
Você vai aprender que esse recurso elimina a necessidade de atualizações manuais quando os endereços IP do resolvedor de nomes DNS de back-end mudam, já que o Cloud DNS detecta automaticamente as mudanças no registro DNS do FQDN. Ele também permite o escalonamento mais flexível da infraestrutura de DNS, permitindo que os servidores de DNS fiquem atrás de um nome compartilhado ou escalonem dinamicamente.
Integração com as políticas de roteamento do Cloud DNS
Você vai aprender a combinar o encaminhamento de FQDN com as políticas de roteamento do Cloud DNS (geolocalização ou round-robin ponderado) para alcançar afinidade regional, otimizar o desempenho para implantações geograficamente diversas e distribuir o tráfego com base nos pesos configurados.
Sintaxe do comando da CLI do Google Cloud
Você vai conhecer o comando gcloud dns managed-zones create
e as flags relevantes (--forwarding-targets
, --private-forwarding-targets
) para configurar zonas de encaminhamento de FQDN.
Pré-requisitos
Para concluir este codelab, você precisa do seguinte:
- Uma Conta do Google
- Tenha um projeto do Google Cloud com o faturamento ativado.
- A ferramenta de linha de comando gcloud instalada e configurada
- Conhecimento básico sobre o Cloud DNS e os conceitos de DNS
2. Etapas da configuração
Noções básicas sobre cenários de encaminhamento de FQDN
O encaminhamento de FQDN do Cloud DNS é compatível com vários cenários de uso:
- Zona particular com registro A/AAAA: se o FQDN corresponder a um registro A/AAAA em uma zona particular, os endereços IP resolvidos serão adicionados à lista de encaminhamento, e o comportamento será idêntico ao encaminhamento direto para os endereços IP de destino.
- Zona particular com política de geolocalização: as políticas de geolocalização permitem especificar a geolocalização de origem e fornecer respostas correspondentes, verificando a distribuição de tráfego com base na geografia. Isso é fundamental para o encaminhamento e a afinidade regional de DNS.
- Zona particular com política de round-robin ponderado (WRR): as políticas de WRR permitem especificar ponderações diferentes por endereço IP para um nome DNS, verificando se o tráfego é distribuído de acordo com as ponderações configuradas.
- Zona pública com registro A/AAAA: se o FQDN não corresponder a nenhum nome particular visível para a mesma rede, o Cloud DNS vai tentar resolvê-lo usando a Internet pública.
Noções básicas sobre o comando da CLI do Google Cloud para encaminhamento de FQDN
Para criar uma zona de encaminhamento com um destino de encaminhamento de FQDN usando comandos da CLI gcloud, use o comando gcloud dns managed-zones create
. As flags de chave para especificar um destino FQDN são --forwarding-targets
ou --private-forwarding-targets
. Consulte o documento para saber mais sobre os métodos de roteamento padrão e particular.
--forwarding-targets
: lista de endereços IPv4/IPv6 ou um nome de domínio do servidor de nomes de destino para o qual a zona vai encaminhar as consultas. Ignorado para visibilidade pública. Os endereços não RFC1918 serão encaminhados para o destino pela Internet. Os endereços RFC1918 serão encaminhados pela VPC.--private-forwarding-targets
: lista de endereços IPv4/IPv6 ou um nome de domínio do servidor de nomes de destino para o qual a zona vai encaminhar as consultas. Ignorado para visibilidade pública. Todos os endereços especificados para esse parâmetro serão acessados pela VPC.
Exemplo de sintaxe:
gcloud dns managed-zones create NAME \
--description=DESCRIPTION \
--dns-name=DNS_SUFFIX \
--networks=VPC_NETWORK_LIST \
--forwarding-targets=DEFAULT_FQDN_TARGET \
--visibility=private
É possível especificar --private-forwarding-targets
em vez de --forwarding-targets
.
Configurar seu projeto do Google Cloud Platform
Faça login na gcloud CLI.
gcloud auth login
Criar um projeto
gcloud projects create my-codelab-project
Ative a API Cloud DNS. Pode levar alguns minutos para que isso aconteça.
gcloud services enable dns.googleapis.com
Este codelab usa a rede VPC padrão criada com um novo projeto. Você também pode criar uma nova rede para usar.
3. Configurar o encaminhamento FQDN regional (com uma nova zona privada)
Este cenário demonstra como conseguir o encaminhamento de DNS regional, garantindo que o tráfego de uma região específica seja encaminhado para um servidor DNS nessa mesma região.
Criar uma zona de DNS particular
Primeiro, crie uma zona de DNS particular (por exemplo, foo.com.) que hospedará seu FQDN e a política de roteamento de geolocalização associada. Essa zona precisa estar visível para a rede padrão.
gcloud dns managed-zones create my-zone \
--description="Private Zone for FQDN outbound DNS forwarding." \
--dns-name=foo.com. \
--networks=default \
--visibility=private
Criar um conjunto de registros de política de roteamento de geolocalização na zona particular
Em seguida, crie um conjunto de registros (por exemplo, geo.foo.com.) em my-zone e aplique uma política de roteamento de geolocalização. Este exemplo configura endereços IP para asia-east1 e 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"
Observação: se a fronteira geográfica estiver desativada (padrão e recomendado), as consultas serão direcionadas para a região íntegra mais próxima se um destino na região original não estiver em bom estado.
Criar uma zona de encaminhamento com o destino FQDN
Crie uma zona de encaminhamento (geo.test.com.) visível na mesma rede padrão e defina geo.foo.com. (o FQDN com a política de roteamento de geolocalização) como o destino de encaminhamento.
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
Agora, qualquer consulta DNS que corresponda a geo.test.com é encaminhada para o IP resolvido (por exemplo, 192.168.0.1 ou 192.168.0.2) de geo.foo.com com base na região de origem da consulta.
4. Configurar o encaminhamento de FQDN (com uma zona particular atual)
Ter uma zona de DNS particular
Suponha que você já tenha uma zona de DNS particular chamada my-zone (foo.com.) visível para a rede default.
Criar um registro de recurso DNS nessa zona particular
Crie um registro do tipo A para a.foo.com na my-zone.
gcloud dns record-sets create a.foo.com. \
--ttl="30" \
--type="A" \
--zone="my-zone" \
--rrdatas=1.2.3.4
Criar uma zona de encaminhamento e especificar o destino do FQDN
Semelhante ao cenário de FQDN regional, crie uma zona de encaminhamento e especifique a.foo.com. como o destino de encaminhamento.
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
Qualquer consulta DNS que corresponda a a.test.com será encaminhada para os endereços IP resolvidos 1.2.3.4 de a.foo.com.
5. Limpar
Antes de excluir uma zona particular, todos os ResourceRecordSets nela precisam ser excluídos, com exceção dos registros NS e SOA, que são gerados automaticamente e sempre precisam existir na zona particular.
Exclua a política de roteamento de geolocalização na zona particular.
gcloud dns record-sets delete "geo.foo.com." --type="A" --zone="my-zone"
Exclua o registro A na zona particular.
gcloud dns record-sets delete "a.foo.com." --type="A" --zone="my-zone"
Exclua a zona particular.
gcloud dns managed-zones delete "my-zone"
Exclua a zona de encaminhamento da política de roteamento de geolocalização.
gcloud dns managed-zones delete "my-geo-fwd-zone"
Exclua a zona de encaminhamento do registro A.
gcloud dns managed-zones delete "my-a-fwd-zone"
6. Parabéns
Parabéns! Você aprendeu a usar o encaminhamento de DNS de saída FQDN.
Leitura adicional
- Cloud DNS
- Criar uma zona de encaminhamento do Cloud DNS
- Encaminhamento de DNS de saída
- Conceitos de DNS