Como solucionar problemas com o roteamento baseado em IP no Route 53?

4 minuto de leitura
0

Vejo resultados inesperados ao testar a resolução de DNS na minha política de roteamento baseado em IP do Amazon Route 53.

Resolução

Exemplo de cenário

Você tem registros de roteamento baseado em IP para clientes com os CIDR 172.32.0.0/16 e 172.33.0.0/16 apontando para dois balanceadores de carga do Elastic Load Balancing (ELB). Um balanceador de carga ELB está localizado na Virgínia (us-east-1) e o outro na Irlanda (eu-west-1). Clientes com CIDR 172.32.0.0/16 resolvem o domínio para o balanceador de carga em us-east-1. Clientes com CIDR 172.33.0.0/16 resolvem o domínio para o balanceador de carga em eu-west-1. No entanto, os clientes não estão recebendo a saída esperada.

Observação: o roteamento baseado em IP não é compatível com zonas hospedadas privadas.

Para solucionar problemas de roteamento baseado em IP, conclua as seguintes etapas:

1.Confirme se você configurou corretamente os registros de recursos baseados em IP da sua zona hospedada do Route 53 para seu caso de uso. Abra o console do Route 53 e verifique o local padrão especificado na configuração da zona hospedada do Route 53.

Observação: 

  • se os blocos CIDR não estiverem especificados na coleção CIDR que corresponda ao endereço IP de origem, o Route 53 responderá com o local padrão “*”.
  • O Route 53 responde com NODATA se o seguinte for verdadeiro:
    Um local padrão “\ *” não foi especificado.
    A consulta se origina de um bloco CIDR que não corresponde a nenhum bloco CIDR especificado na coleção CIDR.
  • O Route 53 combina consultas de DNS que têm um CIDR maior do que o CIDR especificado com o CIDR especificado mais curto na coleção CIDR. Por exemplo, se você especificar 2001:db8::/32 como o CIDR em sua coleção CIDR e receber uma consulta de 2001:0db8:1234::/48, o CIDR corresponderá. Se você especificar 2001:db8:1234::/48 em sua coleção CIDR e receber uma consulta de 2001:db8::/32, o CIDR não corresponderá. O Route 53 responde com o registro do local “*”.

Para cotas de coleta de CIDR e limite de blocos de CIDR, consulte Cotas em registros.

2.Verifique se o cliente resolveu corretamente.

Se o cliente estiver resolvendo na nuvem privada virtual (VPC) e usando o resolvedor VPC DNS .2, o roteamento baseado em IP não funcionará. Isso ocorre porque o resolvedor .2 não oferece suporte à Sub-rede do cliente EDNS (ECS).

Se o cliente estiver resolvendo fora da VPC, execute o seguinte comando para verificar se seu resolvedor de DNS oferece suporte ao EDNS0:

Linux ou macOS

dig TXT o-o.myaddr.google.com -4

Windows

nslookup -type=txt o-o.myaddr.google.com

O exemplo de saída a seguir mostra resolvedores de DNS que não suportam EDNS0:

$ dig TXT o-o.myaddr.google.com -4

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.amzn2.5.2 <<>> TXT o-o.myaddr.google.com -4
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38328
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;o-o.myaddr.google.com. IN TXT

;; ANSWER SECTION:
o-o.myaddr.google.com. 60 IN TXT "3.209.83.70"

O exemplo de saída a seguir mostra os resolvedores de DNS que suportam EDNS0:

$ dig TXT o-o.myaddr.google.com -4 @8.8.8.8

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.amzn2.5.2 <<>> TXT o-o.myaddr.google.com -4 @8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30624
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;o-o.myaddr.google.com. IN TXT

;; ANSWER SECTION:
o-o.myaddr.google.com. 60 IN TXT "172.253.8.137"
o-o.myaddr.google.com. 60 IN TXT "edns0-client-subnet 54.82.0.0/24"

3.Para verificar a resolução do DNS, use o servidor de nomes autoritativo da sua zona hospedada para resolver o registro. Execute o comando a seguir. No comando de exemplo a seguir, substitua example.com pelo seu domínio.

dig A example.com +subnet=172.3.0.0/16 @ns-1875.awsdns-42.co.uk

Ou use dig ou nslookup para verificar se a resolução do DNS funciona conforme o esperado. Nos comandos de exemplo a seguir, substitua example.com pelo seu domínio.

dig example.com @8.8.8.8
nslookup example.com 8.8.8.8

4.Se você configurar registros de verificação de integridade para registros de recursos baseados em IP, use esses registros para verificar o status de integridade. Se uma verificação de integridade falhar em um registro com um local padrão (*), o Route 53 retornará o local padrão como uma resposta de consulta ao DNS.

Informações relacionadas

Roteamento baseado em IP

AWS OFICIAL
AWS OFICIALAtualizada há um ano