As políticas de roteamento de DNS direcionam o tráfego com base na consulta (por exemplo, round-robin ou
geolocalização). Para configurar políticas de roteamento, crie ResourceRecordSets
especiais (no sentido de coleta) com valores
especiais de política de roteamento.
Nesta página, você encontra informações sobre como criar, editar e excluir políticas de roteamento de DNS usando o Cloud DNS. Antes de usar esta página, familiarize-se com a visão geral das políticas de DNS.
Para usar políticas de roteamento de DNS, crie um ResourceRecordSet
e escolha uma das
seguintes políticas de roteamento de DNS para aplicar ao ResourceRecordSet
:
Política de roteamento de round-robin ponderado (WRR): use o WRR para especificar ponderações diferentes por
ResourceRecordSet
do nome DNS. As políticas de roteamento de DNS garantem que o tráfego seja distribuído de acordo com as ponderações configuradas. Não é possível combinar uma política de roteamento de WRR com uma política de roteamento de geolocalização.Política de roteamento de geolocalização (GEO): use a GEO para especificar geolocalizações de origem e fornecer respostas correspondentes a essas regiões geográficas. A política de roteamento de geolocalização aplica uma correspondência mais próxima para o local de origem quando a origem do tráfego não corresponde exatamente a nenhum item de política.
A GEO mapeia a origem para DNS público e privado das seguintes maneiras:
- Para DNS público, será usado o endereço IP de origem ou a subrede do cliente do mecanismo de extensão para DNS (EDNS) da consulta.
- Para DNS particular: o local onde a consulta é recebida. Por exemplo, a região da VM de consulta ou o local em que a consulta encaminhada de entrada é recebida.
Quando os sistemas locais enviam consultas DNS ao Cloud DNS usando um ponto de entrada da política do servidor de entrada, o Cloud DNS define o local de origem como a região que contém o túnel da VPN do Cloud ou o anexo de interconexão do Cloud (VLAN) que processou o pacote recebido. O local de origem é definido dessa maneira, independentemente da região do endereço IP interno que serve como ponto de entrada da política do servidor de entrada.
Por exemplo, se um sistema local enviar uma consulta para um ponto de entrada de política de servidor de entrada cujo endereço IP esteja na região
us-west1
, mas o pacote é processado por um túnel da VPN do Cloud ou um anexo de interconexão do Cloud (VLAN) localizado na regiãous-east1
, a região de origem éus-east1
porque essa é a região em que o pacote de entrada foi processado.
As políticas de roteamento de DNS também são compatíveis com vários endereços IP para cada localização geográfica. Quando especificados para uma determinada localização geográfica, vários endereços IP são retornados de acordo com uma política de WRR de ponderação igual. Não é possível combinar uma política de roteamento baseada em área geográfica com uma política de WRR de ponderação personalizada.
Antes de começar
Você já precisa ter criado uma zona gerenciada e concluído os pré-requisitos para criar uma zona.
Criar políticas de roteamento de DNS
Para criar um ResourceRecordSet
e aplicar uma política de roteamento a ele, siga estas
etapas.
Console
No Console do Google Cloud, acesse a página Zonas do Cloud DNS.
Clique no nome da zona gerenciada a que você quer adicionar o registro.
Na página Detalhes da zona, clique em Adicionar conjunto de registros.
Na página Criar conjunto de registros, no campo Nome do DNS, insira o subdomínio da zona DNS, por exemplo,
mail
. O ponto é adicionado automaticamente no final.Selecione o Tipo de registro de recurso, por exemplo,
A
.No campo TTL, insira um valor numérico para o time to live (TTL) do registro de recursos, que é o tempo que ele pode ser armazenado em cache. Esse valor precisa ser um número inteiro positivo.
No menu Unidade TTL, selecione a unidade de tempo. Por exemplo,
30 minutes
.Selecione a Política de roteamento. Você pode selecionar Round-robin ponderado ou Com base em localização geográfica. Se você não quiser anexar uma política de roteamento ao registro, selecione Tipo de registro padrão.
Se você selecionou Round-robin ponderado, na seção Novos rrdata gerenciados, faça o seguinte:
- Insira a ponderação correspondente a esta subseção dos dados do registro de recurso (RR, na sigla em inglês). Essa ponderação precisa ser um número não negativo de 0,0 a 1000,0. A proporção de tráfego roteado para o destino é calculada a partir da proporção da ponderação individual sobre o total em todas as ponderações.
- Com base no tipo de registro selecionado, insira os detalhes relevantes
no próximo campo. Por exemplo, se o tipo de registro for
A
, no campo Endereço IPv4, digite o endereço IP numérico do host, como203.0.113.1
. Para um registroAAAA
, insira o endereço IPv6 do host e assim por diante.
Se você selecionou Com base em localização geográfica, na seção Novos dados gerenciados, faça o seguinte:
- Insira uma região de origem válida do Google Cloud, como
asia-east1
. - Com base no tipo de registro selecionado, insira os detalhes relevantes
no próximo campo. Por exemplo, se o tipo de registro for
A
, no campo Endereço IPv4, digite o endereço IP numérico do host, como203.0.113.1
. Para um registroAAAA
, insira o endereço IPv6 do host e assim por diante.
- Insira uma região de origem válida do Google Cloud, como
Para inserir dados adicionais, dependendo do tipo de registro selecionado, clique em Adicionar item. A tabela a seguir especifica o tipo de registro e os dados adicionais que podem ser inseridos.
Tipo de registro Insira dados adicionais A Endereços IPv4 AAAA Endereços IPv6 CNAME Nomes canônicos MX Registros de troca de e-mails SRV Host/port (<aclass="external" l10n-attrs-original-order="href,class" l10n-encrypted-href="fbj0fi6rS3pPqxfn3YD3etONK6A9Q8tQ5MUfKCg7jl5ONxJ2KV+27oDWYJ43g//U">RFC 2782) </aclass="external">S TXT Dados de texto Para inserir outros dados de RR gerenciados, clique em Adicionar rrdata gerenciados.
Clique em Criar.
gcloud
Execute o comando gcloud dns record-sets create
:
gcloud dns record-sets create RRSET_NAME \ --ttl=TTL \ --type=RRSET_TYPE \ --zone=MANAGED_ZONE \ --routing-policy-type=ROUTING_POLICY_TYPE \ --routing-policy-data=ROUTING_POLICY_DATA
Substitua:
RRSET_NAME
: o nome de DNS que corresponde às consultas recebidas com o nome DNS desta zona como seu sufixo, por exemplo,service.example.com
TTL
: o TTL em segundos que o resolvedor armazena essaResourceRecordSet
em cache, como30
RRSET_TYPE
: o tipo de registro de recurso desseResourceRecordSet
, comoA
.Para ver uma lista de tipos de registro compatíveis, consulte Selecionar tipos de registro de recurso.
MANAGED_ZONE
: a zona gerenciada à qual esteResourceRecordSet
está afiliado, comoservice-zone
; o nome desteResourceRecordSet
precisa ter o nome DNS da zona gerenciada como sufixoROUTING_POLICY_TYPE
: o tipo de política de roteamentoInsira
WRR
para o round-robin ponderado ouGEO
para a localização geográfica. Não é possível modificar esse campo depois que uma política tem um tipo escolhido. Você só pode excluir a política e adicionar uma nova com o tipo diferente.ROUTING_POLICY_DATA
: os dados da política de roteamento- Para
--routing-policy-type=WRR
, insira uma lista delimitada por ponto e vírgula do formato${weight_percent}=${rrdatas}
, como.8=10.128.1.1;.2=10.130.1.1
. Especifique a ponderação como qualquer decimal não negativo. - Para
--routing-policy-type=GEO
, insira uma lista delimitada por ponto e vírgula do formato${region}=${rrdatas}
, comoasia-east1=10.128.1.1;us-central1=10.130.1.1
. É possível especificar vários endereços IP para uma única região repetindo a região.
- Para
API
Use o
método
resourceRecordSets.create
.
Para a política GEO
, use o seguinte método:
POST https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets { "name": "RRSET_NAME.", "type": "RRSET_TYPE", "ttl": TTL, "routingPolicy": { "geoPolicy": { "item": [ { "location": "LOCATION", "rrdatas": ["RR_DATA"] }, { "location": "LOCATION", "rrdatas": ["RR_DATA"] } ], } } }
Para a política WRR
, use o seguinte método:
POST https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets { "name": "RRSET_NAME.", "type": "RRSET_TYPE", "ttl": TTL, "routingPolicy": { "wrrPolicy": { "item": [ { "weight": "WEIGHT", "rrdatas": ["RR_DATA"] }, { "weight": "WEIGHT", "rrdatas": ["RR_DATA"] } ], } } }
Substitua:
PROJECT_ID
: o ID do projetoMANAGED_ZONE
: a zona gerenciada à qual esteResourceRecordSet
está afiliado, comoservice-zone
; o nome desteResourceRecordSet
precisa ter o nome DNS da zona gerenciada como sufixoRRSET_NAME
: o nome de DNS que corresponde às consultas recebidas com o nome DNS desta zona como seu sufixo, por exemplo,service.example.com
RRSET_TYPE
: o tipo de registro de recurso desseResourceRecordSet
, comoA
.TTL
: o TTL em segundos que o resolvedor armazena essaResourceRecordSet
em cache, como30
LOCATION
: para políticas deGEO
, a geolocalização para que você precisa criar a política, comoasia-east
WEIGHT
: para políticasWRR
, insira uma lista delimitada por ponto e vírgula do formato${weight_percent}=${rrdatas}
, como.8=10.128.1.1;.2=10.130.1.1
. Especifique a ponderação como qualquer decimal não negativo.RR_DATA
: um valor arbitrário associado ao conjunto de registros de recursos, como198.51.100.5
; também é possível inserir vários valores,rrdata1
rrdata2
rrdata3
, como198.51.100.1
203.0.113.1
...
Atualizar políticas de roteamento de DNS
Para atualizar a política de roteamento de um ResourceRecordSet
, siga estas
etapas.
Console
No Console do Cloud, acesse a página de zonas do Cloud DNS.
Clique na zona para a qual você quer atualizar a política de roteamento do
ResourceRecordSet
.Na página Detalhes da zona, ao lado do
ResourceRecordSet
que você quer atualizar, clique em editEditar.Depois de fazer as atualizações necessárias, clique em Salvar.
gcloud
Execute o comando gcloud dns record-sets update
:
gcloud dns record-sets update RRSET_NAME \ --ttl=TTL \ --type=RRSET_TYPE \ --zone=MANAGED_ZONE \ --routing-policy-type=ROUTING_POLICY_TYPE \ --routing-policy-data=ROUTING_POLICY_DATA
Substitua:
RRSET_NAME
: o nome de DNS que corresponde às consultas recebidas com o nome DNS desta zona como seu sufixo, por exemplo,service.example.com
TTL
: o TTL em segundos que o resolvedor armazena essaResourceRecordSet
em cache, como30
RRSET_TYPE
: o tipo de registro de recurso desseResourceRecordSet
, comoA
.Para ver uma lista de tipos de registros compatíveis, consulte Como selecionar tipos de registro de recurso.
MANAGED_ZONE
: a zona gerenciada à qual esteResourceRecordSet
está afiliado, comoservice-zone
; o nome desteResourceRecordSet
precisa ter o nome DNS da zona gerenciada como sufixoROUTING_POLICY_TYPE
: o tipo de políticaVocê pode inserir
WRR
para round-robin ponderado ouGEO
para geolocalização. Não é possível modificar esse campo depois que uma política tiver um tipo escolhido. A única maneira de alterá-lo é excluindo a política e adicionando uma nova com o tipo diferente.ROUTING_POLICY_DATA
: os dados da política de roteamento- Para
--routing-policy-type=WRR
, insira uma lista delimitada por ponto e vírgula do formato${weight_percent}:${rrdatas}
, como.8=203.0.113.1;.2=198.51.100.1
. Especifique a ponderação como qualquer decimal não negativo. - Para
--routing-policy-type=GEO
, insira uma lista delimitada por ponto e vírgula do formato${region}=${IP_address}
, comoasia-east1=198.51.100.1;us-central1=203.0.113.1
. É possível especificar vários endereços IP para uma única região repetindo a região.
- Para
API
Use o método resourceRecordSets.patch
. Especifique apenas rrset.rrdatas
ou rrset.routingPolicy
. Se
você especificar routingPolicy
, será necessário especificar o novo campo routingPolicy
inteiro.
Para políticas GEO
, use o seguinte método:
PATCH https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets { "name": "RRSET_NAME.", "type": "RRSET_TYPE", "ttl": TTL, "routingPolicy": { "geoPolicy": { "item": [ { "location": "LOCATION", "rrdatas": ["RR_DATA"] }, { "location": "LOCATION", "rrdatas": ["RR_DATA"] } ], "failover": [ { "location": "LOCATION", "rrdatas": ["RR_DATA"] }, { "location": "LOCATION", "rrdatas": ["RR_DATA"] } ], } } }
Para políticas WRR
, use o seguinte método:
PATCH https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets { "name": "RRSET_NAME.", "type": "RRSET_TYPE", "ttl": TTL, "routingPolicy": { "wrrPolicy": { "item": [ { "weight": "WEIGHT", "rrdatas": ["RR_DATA"] }, { "weight": "WEIGHT", "rrdatas": ["RR_DATA"] } ], } } }
Substitua:
PROJECT_ID
: o ID do projetoMANAGED_ZONE
: a zona gerenciada à qual esteResourceRecordSet
está afiliado, comoservice-zone
; o nome desteResourceRecordSet
precisa ter o nome DNS da zona gerenciada como sufixoRRSET_NAME
: o nome de DNS que corresponde às consultas recebidas com o nome DNS desta zona como seu sufixo, por exemplo,service.example.com
RRSET_TYPE
: o tipo de registro de recurso desseResourceRecordSet
, comoA
.TTL
: o TTL em segundos que o resolvedor armazena essaResourceRecordSet
em cache, como30
LOCATION
: para políticas deGEO
, a geolocalização para que você precisa criar a política, comoasia-east
WEIGHT
: para políticasWRR
, insira uma lista delimitada por ponto e vírgula do formato${weight_percent}=${rrdatas}
, como.8=10.128.1.1;.2=10.130.1.1
. Especifique a ponderação como qualquer decimal não negativo.RR_DATA
: um valor arbitrário associado ao conjunto de registros de recursos, como198.51.100.5
; também é possível inserir vários valores,rrdata1
rrdata2
rrdata3
, como198.51.100.5
203.0.113.1
...
Excluir políticas de roteamento de DNS
Para excluir uma política de roteamento, é necessário excluir o ResourceRecordSet
que
contém a política de roteamento. Para fazer isso, siga estas etapas.
Console
No Console do Cloud, acesse a página de zonas do Cloud DNS.
Clique na zona da qual você quer excluir o
ResourceRecordSet
.Na página Detalhes da zona, ao lado do nome de DNS do
ResourceRecordSet
que você quer excluir, marque a caixa de seleção.Clique em Excluir conjuntos de registros.
gcloud
Execute o comando gcloud dns record-sets delete
:
gcloud dns record-sets delete RRSET_NAME \ --type=RRSET_TYPE \ --zone=MANAGED_ZONE \
Substitua:
RRSET_NAME
: o nome de DNS que corresponde às consultas recebidas com o nome DNS desta zona como seu sufixo, por exemplo,service.example.com
RRSET_TYPE
: o tipo de registro de recurso desseResourceRecordSet
, comoA
.Para ver uma lista de tipos de registros compatíveis, consulte Como selecionar tipos de registro de recurso.
MANAGED_ZONE
: a zona gerenciada à qual esteResourceRecordSet
está afiliado, comoservice-zone
; o nome desteResourceRecordSet
precisa ter o nome DNS da zona gerenciada como sufixo
API
Use o método resourceRecordSets.delete
.
DELETE https://www.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets/RRSET_NAME/RRSET_TYPE
Substitua:
PROJECT_ID
: o ID do projetoMANAGED_ZONE
: a zona gerenciada à qual esteResourceRecordSet
está afiliado, comomy-zone-name
; o nome desteResourceRecordSet
precisa ter o nome DNS da zona gerenciada como sufixoRRSET_NAME
: o nome de DNS que corresponde às consultas recebidas com o nome DNS desta zona como seu sufixo, por exemplo,test.example.com
RRSET_TYPE
: o tipo de registro de recurso desseResourceRecordSet
, comoA
.
A seguir
- Para criar, atualizar, listar e excluir zonas gerenciadas, consulte Gerenciar zonas.
- Para achar soluções de problemas comuns que podem ser encontrados ao usar o Cloud DNS, consulte Solução de problemas.
- Para uma visão geral do Cloud DNS, consulte Visão geral do Cloud DNS.