EC2 : le DNS public d'une instance est-il stable ? Puis-je compter sur le fait qu'il ne changera pas ?

J’ai lancé ma première instance et je l’utilise comme serveur web. Je vois qu’elle possède un DNS public (une URL publique), par exemple :

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

Je peux accéder à ce serveur avec succès dans mon navigateur, l’interroger via cURL, etc.

Je veux utiliser ce serveur web comme service back-end dans une application que je suis en train de construire, j’ai donc placé cette URL dans la configuration de mon application, et cela fonctionne très bien.

Mais lorsque j’arrête et redémarre manuellement mon instance, je constate que le DNS public change ! J’ai lu que cela se produit lorsque vous arrêtez et redémarrez explicitement, mais pas si vous faites simplement un « redémarrage ».

Je ne prévois pas d’arrêter et de redémarrer explicitement ce serveur, mais ma question est : ce DNS public changera-t-il de lui-même pour une raison quelconque ? Par exemple, si la machine plante anormalement, ou quoi que ce soit d’autre.

En d’autres termes, est-il sûr de distribuer une application câblée sur cette URL ?

Le nom DNS public correspond toujours à l’adresse IP publique.

L’adresse IP publique reste la même pour une instance jusqu’à ce qu’elle soit terminée ou arrêtée. Un redémarrage ne change pas l’adresse IP publique.

Si une instance EC2 est dans un VPC, alors elle conservera la même adresse IP publique lors d’un arrêt et redémarrage.

Si une instance EC2 qui n’est pas dans un VPC est arrêtée puis redémarrée, elle recevra probablement une adresse IP publique différente.

Les instances peuvent tomber en panne. Lorsque vous démarrez une nouvelle instance pour remplacer une instance en panne ou terminée, elle recevra probablement une adresse IP publique différente.

Parce que les instances peuvent tomber en panne, et parce que vous pourriez vouloir changer la taille d’une instance (avec un arrêt/démarrage), il n’est pas recommandé de « distribuer une application câblée sur [l’adresse IP publique] » (ou le nom DNS). Une fois votre instance arrêtée/terminée/en panne, un autre utilisateur pourrait obtenir cette adresse IP attribuée à son instance et tout votre trafic irait vers lui.

Il est recommandé d’utiliser les adresses IP élastiques (Elastic IP Addresses) pour associer des services publics à votre instance. Vous conservez l’adresse IP élastique et vous pouvez l’attribuer à n’importe quelle instance au fil du temps, même si c’est la même instance après un arrêt/démarrage.

Chaque adresse IP élastique est accompagnée d’un nom DNS public, mais il serait probablement préférable de faire correspondre votre propre nom d’hôte à l’adresse IP élastique afin que le nom soit plus significatif pour les humains.

Voici un guide sur les adresses IP élastiques :

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

Voici un article que j’ai écrit qui traite des différences entre le redémarrage et l’arrêt/démarrage d’une instance :

Redémarrage vs. Arrêt/Démarrage d’une instance Amazon EC2

http://alestic.com/2011/09/ec2-reboot-stop-start

Voici un article que j’ai écrit qui fournit une raison pour laquelle vous pourriez vouloir arrêter/démarrer une instance même si vous ne pensez pas en avoir besoin aujourd’hui :

Migrer une instance EC2 vers une taille supérieure

http://alestic.com/2011/02/ec2-change-type