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é que seja finalizado ou parado. 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 por meio de uma parada e inicialização.
Se uma instância do EC2 que não esteja em uma VPC for interrompida e iniciada novamente, 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 finalizada, provavelmente receberá um endereço IP público diferente.
Como as instâncias podem falhar e porque você pode alterar o tamanho de uma instância (com uma parada / inicialização), não é recomendável "enviar um aplicativo conectado ao [endereço IP público]" (ou nome DNS). Depois que sua instância for interrompida / finalizada / com falha, outro usuário poderá obter esse endereço IP atribuído à instância e todo o tráfego será direcionado a eles.
É recomendável usar endereços IP elásticos para associar serviços públicos à sua instância. Você mantém o endereço IP Elastic 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 / partida.
Cada endereço IP Elastic vem com um nome DNS público, mas é melhor mapear seu próprio nome de host para o endereço IP Elastic, para que o nome faça mais sentido para os seres humanos.
Aqui está um guia para os endereços IP elásticos:
http://aws.amazon.com/articles/1346
Aqui está um artigo que escrevi que fala sobre as diferenças entre reiniciar e parar / iniciar uma instância:
Reinicialização x Parada / Início da instância do Amazon EC2
http://alestic.com/2011/09/ec2-reboot-stop-start
Aqui está um artigo que escrevi que fornece um motivo pelo qual você pode querer parar / iniciar uma instância, mesmo que você não pense que irá hoje:
Movendo uma instância do EC2 para um tamanho maior
http://alestic.com/2011/02/ec2-change-type