EC2: o DNS público de uma instância está estável? Posso confiar que não está mudando?

38

Eu iniciei minha primeira instância e estou usando-a como um servidor da web. Vejo que tem um DNS público (um URL público), por exemplo:

ec2-123-45-6-789.compute-1.amazonaws.com

Eu posso ir com sucesso para este servidor no meu navegador, atingi-lo via cURL, etc.

Eu quero usar este servidor da web para um serviço de back-end em um aplicativo que estou criando, por isso coloquei esse URL na configuração do meu aplicativo e ele funciona muito bem.

Mas quando eu paro e reinicio manualmente minha instância, vejo que o DNS público é alterado. Eu li que isso acontece quando você explicitamente parar e reiniciar, mas não acontece se você apenas "reiniciar".

Eu não pretendo parar explicitamente e reiniciar esse servidor, mas minha pergunta é: esse DNS público nunca mudará por conta própria por algum motivo? Por exemplo, se a máquina falhar anormalmente, ou o que for.

Em outras palavras, é seguro enviar um aplicativo que esteja conectado a esse URL?

    
por Aseem Kishore 10.11.2011 / 03:47

1 resposta

62

O nome DNS público sempre corresponde ao endereço IP público.

O endereço IP público permanece o mesmo para uma instância até ser encerrado ou interrompido. Uma reinicialização não altera o endereço IP público.

Se uma instância do EC2 estiver em uma VPC, ela manterá o mesmo endereço IP público em uma parada e início.

Se uma instância do EC2 que não está em um VPC for interrompida e iniciada novamente, ela provavelmente receberá um endereço IP público diferente.

Instâncias podem falhar. Quando você inicia uma nova instância para substituir uma instância com falha ou terminada, ela provavelmente receberá um endereço IP público diferente.

Como as instâncias podem falhar e você pode querer alterar o tamanho de uma instância (com uma parada / início), não é recomendável "enviar um aplicativo que esteja conectado a [o endereço IP público]" (ou nome DNS ). Uma vez que sua instância é interrompida / finalizada / falhou, outro usuário pode obter esse endereço IP atribuído a sua instância e todo o tráfego será direcionado para ela.

Recomenda-se o uso de endereços IP elásticos para associar serviços públicos à sua instância. Você consegue manter o endereço IP Elástico e pode atribuí-lo a qualquer instância que desejar ao longo do tempo, mesmo que seja a mesma instância após uma parada / início.

Cada Endereço IP Elástico vem com um nome DNS público, mas provavelmente seria melhor mapear seu próprio nome de host para o endereço IP Elástico, para que o nome faça mais sentido para os seres humanos.

Aqui está um guia para endereços IP elásticos:

http://aws.amazon.com/articles/1346

Aqui está um artigo que escrevi sobre as diferenças entre reinicializar e parar / iniciar uma instância:

Rebooting vs. Stop/Start of Amazon EC2 Instance
http://alestic.com/2011/09/ec2-reboot-stop-start

Este é um artigo que eu escrevi e que fornece um motivo pelo qual você pode querer interromper / iniciar uma instância, mesmo que você não ache que o fará hoje:

Moving an EC2 Instance to a Larger Size
http://alestic.com/2011/02/ec2-change-type

    
por 10.11.2011 / 04:12