DNS público do Amazon EC2 é inútil?

12

Parece que o DNS público, por exemplo, ec2-xxxx.compute-1.amazonaws.com será alterado quando você parar ou encerrar a instância.

Portanto, isso significa que eles têm a mesma vida útil do endereço IP público do ec2 . Por que devo usar esse DNS público? Eles não são fáceis de lembrar e são sem sentido ..

Ryan
fonte
1
Em certos casos, onde você pode configurar apenas registros CNAME., O DNS público entra em ação.
Shyam Sundar CS
@ CS3, você pode fazer isso usando um registro A na instância. Como o IP e o DNS públicos têm a mesma vida útil.
21712 Ryan
Os registros 'A' podem ser mapeados para endereços IP. Mas se a mesma máquina expuser serviços diferentes com o mesmo endereço, os CNAMEs podem ajudar a transmitir nomes de domínio significativos. (Por exemplo: ftp.domain.tld, www.domain.tld).
Shyam Sundar CS
Há apenas uma diferença entre o DNS público e o IP público. Veja minha resposta abaixo.
Eric Hammond
Eu tenho exatamente a mesma pergunta 3 anos depois. Minha conclusão ... o DNS público é bastante inútil. Se eles tivessem atribuído um DNS público exclusivo, mas permanentemente corrigido (por exemplo, um guid), eu seria capaz de parar / iniciar minha instância, sabendo que minhas conexões SSH e SFTP que eu já configurei ainda funcionarão. Parece que essa coisa simples é impossível sem a compra de um endereço IP elástico .. que é um grande desperdício para uma instância que é iniciada apenas ocasionalmente.
Greg Woods,

Respostas:

28

O nome DNS público (endereço IP elástico ou não) é exatamente o mesmo que usar o endereço IP público (IP elástico ou não) com a seguinte diferença importante:

Se você consultar o nome DNS público de fora do EC2, ele será resolvido para o endereço IP público. Se você consultar o nome DNS público de dentro do EC2, ele será resolvido para o endereço IP privado.

Você pode usar esse truque com ou sem endereços IP elásticos. Eu recomendo o uso de endereços IP Elastic, pois mantém o nome DNS público o mesmo, mesmo após parar / iniciar ou mover o serviço para outra instância do EC2. Por esse motivo, você sempre pode usar o nome DNS público do endereço IP Elastic e ele será resolvido para o endereço IP interno da instância atual à qual o IP Elastic está associado.

Você pode estender isso usando uma entrada DNS CNAME na qual mapeia seu nome de host preferido para o nome DNS externo do IP Elastic.

Aqui está um artigo que escrevi sobre o uso desse recurso para economizar dinheiro e acelerar o desempenho da rede com a comunicação interna do EC2, sem ter que acompanhar o endereço IP interno atual de cada instância em todas as outras instâncias: http://alestic.com/2009 / 06 / ec2-elastic-ip-internal

Além dessa diferença, concordo que você também pode usar o endereço IP público em vez do nome DNS público porque:

  1. Você economiza tempo ao não fazer uma pesquisa de DNS

  2. Você evita riscos de segurança que ocasionalmente surgem no protocolo DNS.

então suponho que, na realidade, existem mais duas diferenças ...

Eric Hammond
fonte
7

Você usaria o endereço público do EC2 para fazer coisas como o SSHing nesse servidor, ou para interconectar instâncias do EC2 ou qualquer outra coisa.

Se você precisar de um endereço consistente (por exemplo, aponte para os usuários), provisionaria um Elastic Load Balancer ou um Elastic IP para ficar na frente de suas instâncias.

Além disso, no EC2, o DNS público resolve para o IP interno da instância, mas fora do EC2 ele resolve para o IP externo. Às vezes, isso pode ser útil, pois a comunicação entre nós do EC2 usando o IP privado economiza seu dinheiro.

ceejayoz
fonte
1
Não responde à pergunta. O que você disse, também pode ser feito usando endereços IP.
Shyam Sundar CS
2
@ Yoga Se você não precisar, não use. O que exatamente você quer aqui?
ceejayoz
2
ceejayoz respondeu à pergunta no terceiro parágrafo (resolução do DNS dentro e fora do EC2). Eu expandi isso na minha resposta, que se concentra apenas nessa diferença.
Eric Hammond
@EricHammond Para ser justo, eu estava editando isso quando o Yoga postou.
ceejayoz
5

Bem, eles só mudam quando você interrompe a instância. Se a sua instância tiver vida longa, basta apontar um CNAME para ela e ela funcionará. Eles não são completamente inúteis, são apenas transitórios.

coredump
fonte