Por que não consigo resolver nomes de domínio na minha conexão de emparelhamento da VPC?

8 minuto de leitura
0

Não consigo resolver nomes de domínio na minha conexão de emparelhamento do Amazon Virtual Private Cloud (Amazon VPC).

Resolução

Observação: os cenários a seguir pressupõem que a VPC esteja configurada com AmazonProvidedDNS. Se você estiver usando DNS personalizado e não conseguir resolver os nomes de domínio, faça o seguinte:

  • Adicione os registros no DNS personalizado.
    -ou-
  • Configure o DNS para encaminhar determinadas consultas ao DNS fornecido pela Amazon. O DNS fornecido pela Amazon é o endereço IP .2 do CIDR da VPC.

Cenário 1: resolução para o DNS público de uma instância do Amazon EC2 criada na VPC emparelhada

O Amazon Elastic Compute Cloud (Amazon EC2) atribui um nome DNS público e privado na criação da instância. Os seguintes nomes de domínio são atribuídos às instâncias por padrão:

  • DNS privado: ip-172-31-19-128.ec2.internal (para a região us-east-1) ou ip-172-31-12-97.us-west-2.compute.internal (para outras regiões).
  • DNS público: ec2-54-147-16-116.compute-1.amazonaws.com ou ec2-35-88-61-144.us-west-2.compute.amazonaws.com.

Se você configurar a opção DHCP, definida com um nome de domínio personalizado, como “example.com”, a instância do EC2 usará esse nome de domínio. Por exemplo, ip-172-31-12-97.us-west-2.example.com.

A resolução para um DNS privado de qualquer instância na AWS é feita para um endereço IP privado da VPC em que você criou a instância:

$ dig ip-172-31-12-97.us-west-2.compute.internal +short
172.31.12.97

A resolução para o DNS público da instância de outra instância criada na VPC emparelhada é feita para o endereço IP público da instância:

$ dig ec2-35-88-61-144.us-west-2.compute.amazonaws.com +short
35.88.61.144

Você pode resolver o nome de domínio público para o endereço IP privado da instância do EC2. Para fazer isso, ative uma das seguintes opções na conexão de emparelhamento de VPC:

  • Resolução do DNS do solicitante
    -ou-
  • Resolução do DNS do aceitador

Para obter mais informações, consulte Turn on DNS resolution for a VPC peering connection (Ativar resolução de DNS para uma conexão de emparelhamento da VPC).

Depois de ativar a resolução de DNS, você pode resolver o DNS público para o endereço IP privado da instância. Por exemplo: 

$ dig ec2-35-88-61-144.us-west-2.compute.amazonaws.com +short
172.31.12.97

Se a resolução de DNS não funcionar depois da ativação da resolução de DNS no emparelhamento da VPC, use as etapas a seguir para solucionar o problema.

Etapas de solução de problemas

1.    Verifique a VPC de origem e a ID da VPC de destino.

2.    Verifique se há uma conexão de peering ativa entre as VPCs de origem e de destino usando o emparelhamento de VPC.

3.    Verifique a configuração de DNS para a conexão de emparelhamento. Certifique-se de que a resolução de DNS esteja ativada para VPCs de solicitantes e de aceitadores.

4.    Verifique se o nome de domínio público para o qual você está resolvendo existe. Verifique a VPC de destino para garantir que exista uma instância com o IP público mencionado no nome de domínio.

5.    Verifique se a configuração de DNS na VPC é AmazonProvidedDNS ou CustomDNS. Se estiver usando DNS personalizado, verifique se ele resolve o nome de domínio da instância pública. Se o DNS personalizado não conseguir resolver o nome de domínio, siga um destes procedimentos:

Adicione um registro do DNS estático.

-ou-

Redirecione a consulta para AmazonProvidedDNS.

Cenário 2: resolução para o nome de domínio dos serviços criados em uma VPC emparelhada

Se você criar um serviço com um nome de domínio, poderá resolver esse nome de domínio de uma instância em qualquer VPC emparelhada. Nomes de domínio criados para esses serviços são registros públicos e podem ser resolvidos de qualquer lugar.

Por exemplo, os seguintes registros de nome de domínio podem ser resolvidos publicamente:

  • testCLB-520693273.us-east-1.elb.amazonaws.com
  • test-87913728ca9b8a68.elb.us-east-1.amazonaws.com
  • vpce-057d3426e21755b8a-svk1k3tm.ssm.us-east-1.vpce.amazonaws.com

Observação: mesmo que o nome de domínio seja para um balanceador de carga privado, o registro é público e é resolvido para o endereço IP privado.

Nomes de domínio de endpoint de serviço, como ssm.us-east-1.amazonaws.com, são resolvidos para o endereço IP público. Isso ocorre mesmo quando existe um endpoint de interface criado na VPC emparelhada com a opção private DNS (DNS privado) ativada. Além disso, esses nomes são resolvidos para endereços IP privados somente se consultados de dentro da VPC na qual você criou o endpoint da interface. Para resolver os nomes de domínio do endpoint em endereços IP privados de endpoint de uma VPC emparelhada, você deverá ter criado a arquitetura de DNS correta.

No exemplo a seguir, o endpoint da VPC da interface é configurado na VPC A. Para resolver o nome do domínio do serviço para os endereços IP do endpoint da VPC da interface na VPC A da VPC B:

  1. Crie um endpoint de interface para o serviço com o PrivateDNS desativado.
  2. Crie uma zona hospedada privada usando o nome de domínio do serviço (por exemplo, ssm.us-east-1.amazonaws.com) da conta em que o endpoint de interface é criado.
  3. Certifique-se de que os nomes de host de DNS e a resolução de DNS estejam ativados para ambas as VPCs usadas na conexão de emparelhamento.
  4. Crie um registro de alias apontando o nome do domínio do serviço para o endpoint regional do DNS do endpoint de interface: vpce-057d3426e21755b8a-svk1k3tm.ssm.us-east-1.vpce.amazonaws.com. Como alternativa,crie um registro apontando o nome do domínio do serviço para os endereços IP privados do endpoint da VPC de interface criado na VPC A.
  5. Associe a zona hospedada privada que você criou à VPC emparelhada (VPC B). Se a VPC B for entre contas, consulte Como associo uma zona hospedada privada do Route 53 a uma VPC em uma outra conta da AWS?

Etapas de solução de problemas

1.    Verifique a VPC de origem e a ID da VPC de destino.

2.    Verifique se há uma conexão de peering ativa entre a VPC de origem e de destino.

3.    Certifique-se de que os nomes de host de DNS e a resolução de DNS estejam ativados para ambas as VPCs usadas na conexão de emparelhamento.

4.    Verifique se o DNS configurado na VPC é AmazonProvidedDNS ou CustomDNS. Se você estiver usando um DNS personalizado, verifique se o DNS personalizado pode resolver o nome de domínio. Se o DNS personalizado não conseguir resolver o nome de domínio, adicione um registro de DNS estático ou configure o DNS personalizado para encaminhar a consulta para AmazonProvidedDNS.

5.    Verifique se as duas VPCs emparelhadas estão associadas à mesma zona hospedada privada em que o registro do nome de domínio foi criado.

6.    Certifique-se de que os registros estejam apontando para endereços IP corretos do domínio específico da região do endpoint da VPC ou do endpoint de interface.

Cenário 3: nome de domínio personalizado criado em zona hospedada privada

Você criou uma zona hospedada privada para um nome de domínio personalizado que é usado para resolver o domínio para um registro criado na zona hospedada privada. A VPC A está associada a uma zona hospedada privada. A VPC B tem uma conexão de emparelhamento com a VPC A. Você deseja resolver o nome de domínio personalizado da VPC B para a VPC A.

Para resolver, associe a VPC B à zona hospedada privada para o domínio personalizado no qual você criou o registro. Depois de fazer a associação, você pode resolver o nome de domínio personalizado em uma zona hospedada privada com base em recursos em ambas as VPCs emparelhadas.

Etapas de solução de problemas

1.    Verifique a VPC de origem e a ID da VPC de destino.

2.    Verifique se o DNS configurado na VPC é AmazonProvidedDNS ou CustomDNS. Se você estiver usando DNS personalizado, não será possível resolver para registros hospedados em zonas hospedadas privadas. Para corrigir isso, adicione um registro de nome de domínio estático no DNS personalizado. Ou configure o DNS personalizado para encaminhar a consulta para AmazonprovidedDNS.

3.    Se você estiver usando o DNS fornecido pela Amazon, verifique o domínio que está tentando resolver e onde ele está hospedado (Amazon Route 53 ou on-premises). Se o local for on-premises, certifique-se de que o endpoint do resolvedor de saída usado para encaminhar a consulta ao DNS on-premises esteja configurado corretamente.

4.    Se hospedado em uma zona hospedada privada do Route 53, verifique se a VPC de origem está associada à zona hospedada privada. A VPC de origem é o local de onde você está tentando resolver o nome de domínio personalizado.

5.    Certifique-se de que o FQDN que você está tentando resolver tenha um registro criado na zona hospedada privada.


AWS OFICIAL
AWS OFICIALAtualizada há um ano