Frage EC2: Ist der öffentliche DNS-Stable einer Instanz? Kann ich mich darauf verlassen, dass es sich nicht ändert?


Ich habe meine erste Instanz gestartet und verwende sie als Webserver. Ich sehe, dass es einen öffentlichen DNS (eine öffentliche URL) hat, z.B .:

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

Ich kann erfolgreich zu diesem Server in meinem Browser gehen, es über cURL usw. treffen

Ich möchte diesen Webserver für einen Back-End-Dienst in einer App verwenden, die ich gerade erstelle. Daher habe ich diese URL in die Konfiguration meiner App gestellt, und sie funktioniert hervorragend.

Aber wenn ich meine Instanz manuell stoppe und neu starte, sehe ich, dass sich der öffentliche DNS ändert! Ich habe gelesen, dass dies passiert, wenn Sie explizit stoppen und neu starten, aber nicht passiert, wenn Sie nur "neu starten".

Ich habe nicht vor, diesen Server jemals explizit zu stoppen und neu zu starten, aber meine Frage ist: Wird sich dieser öffentliche DNS jemals aus irgendeinem Grund selbst ändern? Z.B. wenn die Maschine abnormal abstürzt, oder was auch immer.

Mit anderen Worten, ist es sicher, eine App zu versenden, die mit dieser URL verbunden ist?


38
2017-11-10 02:47


Ursprung




Antworten:


Der öffentliche DNS-Name stimmt immer mit der öffentlichen IP-Adresse überein.

Die öffentliche IP-Adresse bleibt für eine Instanz gleich, bis sie beendet oder gestoppt wird. Ein Neustart ändert die öffentliche IP-Adresse nicht.

Wenn sich eine EC2-Instanz in einer VPC befindet, behält sie die gleiche öffentliche IP-Adresse während eines Stopps und Starts bei.

Wenn eine EC2-Instanz, die nicht in einer VPC enthalten ist, gestoppt und dann erneut gestartet wird, erhält sie wahrscheinlich eine andere öffentliche IP-Adresse.

Instanzen können fehlschlagen. Wenn Sie eine neue Instanz zum Ersetzen einer fehlgeschlagenen oder beendeten Instanz starten, erhält sie wahrscheinlich eine andere öffentliche IP-Adresse.

Da Instanzen fehlschlagen können und Sie möglicherweise die Größe einer Instanz (mit einem Stopp / Start) ändern möchten, wird nicht empfohlen, eine App zu versenden, die mit [der öffentlichen IP-Adresse] (oder DNS-Name) verbunden ist. Sobald Ihre Instanz gestoppt / beendet / fehlgeschlagen ist, könnte ein anderer Benutzer diese IP-Adresse ihrer Instanz zuweisen und der gesamte Datenverkehr würde an sie gehen.

Es wird empfohlen, elastische IP-Adressen zu verwenden, um öffentliche Dienste mit Ihrer Instanz zu verknüpfen. Sie erhalten die Elastic-IP-Adresse und können diese im Laufe der Zeit beliebigen Instanzen zuweisen, selbst wenn es sich um dieselbe Instanz nach einem Stopp / Start handelt.

Jede Elastic IP-Adresse wird mit einem öffentlichen DNS-Namen geliefert, aber Sie sollten Ihren eigenen Hostnamen wahrscheinlich besser der Elastic IP-Adresse zuordnen, damit der Name für den Menschen sinnvoller ist.

Hier finden Sie eine Anleitung zu Elastic IP Addresses:

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

Hier ist ein Artikel, den ich geschrieben habe, der über die Unterschiede zwischen Neustart und Start / Stopp einer Instanz spricht:

Neustart vs. Stopp / Start der Amazon EC2-Instanz
http://alestic.com/2011/09/ec2-reboot-stop-start

Hier ist ein Artikel, den ich geschrieben habe, der einen Grund angibt, warum Sie eine Instanz stoppen / starten möchten, obwohl Sie nicht glauben, dass Sie das heute tun werden:

Verschieben einer EC2-Instanz in eine größere Größe
http://alestic.com/2011/02/ec2-change-type


62
2017-11-10 03:12



Gut pro Info habe ich meine ec2-Instanz neu gestartet und gerade entdeckt, dass die öffentlichen DNS zu einer neuen IP geändert werden. Vielleicht ist die Instanz dazwischen abgestürzt, aber ich bin mir nicht sicher. - Nicolas Manzini
Amazon empfiehlt nur, dass elastische IPs für Load Balancer verwendet werden. Wenn Sie also einen privaten Dienst auf einer ec2-Instanz haben, müssen Sie die ips manuell aktualisieren. docs.aws.amazon.com/AWSEC2/latest/UserGuide/... - Jesse
@Jesse ELBs (Elastic Load Balancer) verwenden keine Elastic IP-Adressen. In der Tat ändern ELBs die IP-Adressen ständig und können nicht dauerhaft gemacht werden. Elastische IPs werden auf EC2-Instanzen angewendet und sind genau das, was für die ursprüngliche Frage benötigt wird. - Eric Hammond