EC2: le DNS public d'une instance est-il stable? Puis-je compter sur elle pour ne pas changer?

41

J'ai lancé ma première instance et je l'utilise en tant que serveur Web. Je vois qu'il a un DNS public (une URL publique), par exemple:

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

Je peux avec succès aller à ce serveur dans mon navigateur, le frapper via cURL, etc.

Je souhaite utiliser ce serveur Web pour un service d'arrière-plan 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 de manière explicite, mais cela ne se produit pas si vous ne faites que "redémarrer".

Je ne prévois jamais explicitement d’arrêter et de redémarrer ce serveur, mais ma question est la suivante: ce DNS public changera-t-il jamais pour une raison quelconque? Par exemple, si la machine tombe anormalement en panne, ou autre chose.

En d'autres termes, est-il prudent d'envoyer une application connectée à cette URL?

Aseem Kishore
la source

Réponses:

67

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, elle conservera la même adresse IP publique lors des arrêts et des démarrages.

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 échouer. 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.

Étant donné que les instances peuvent échouer et que vous souhaitez peut-être modifier la taille d'une instance (avec un arrêt / démarrage), il est déconseillé d'expédier une application connectée à [l'adresse IP publique] "(ou son nom DNS). Une fois que votre instance est arrêtée / terminée / en échec, un autre utilisateur peut obtenir l’adresse IP attribuée à son instance et l’ensemble de votre trafic lui irait.

Il est recommandé d’utiliser des adresses IP élastiques pour associer des services publics à votre instance. Vous conservez l'adresse IP Elastic et vous pouvez l'affecter à toute instance de votre choix, même si c'est la même instance après un arrêt / un démarrage.

Chaque adresse IP Elastic est associée à un nom DNS public, mais vous feriez probablement mieux de mapper votre propre nom d’hôte sur l’adresse IP Elastic afin que le nom ait plus de sens pour les humains.

Voici un guide pour les adresses IP élastiques:

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

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

Redémarrage ou arrêt / démarrage de l'instance Amazon EC2
http://alestic.com/2011/09/ec2-reboot-stop-start

Voici un article que j'ai écrit et qui donne une raison pour que vous souhaitiez arrêter / démarrer une instance même si vous ne le pensez pas aujourd'hui:

Déplacement d'une instance EC2 vers une taille plus grande
http://alestic.com/2011/02/ec2-change-type

Eric Hammond
la source
Eh bien, par info, j'ai redémarré mon instance ec2 et viens de découvrir que le DNS public a changé pour une nouvelle adresse IP. Peut-être que l'instance s'est écrasée entre les deux, mais je n'en suis pas sûre.
Nicolas Manzini
Amazon recommande uniquement d'utiliser des adresses IP élastiques pour les équilibreurs de charge. Donc, si vous avez un service privé sur une instance ec2, vous devrez mettre à jour manuellement les ips. docs.aws.amazon.com/AWSEC2/latest/UserGuide/…
Jesse
@Jesse Les ELB (Elastic Load Balancers) n'utilisent pas les adresses IP Elastic. En fait, les ELB changent d’adresse IP à tout moment et ne peuvent pas être rendus permanents du tout. Les IP élastiques sont appliqués aux instances EC2 et correspondent donc exactement à ce qui est nécessaire pour la question initiale.
Eric Hammond