EC2: il DNS pubblico di un'istanza è stabile? Posso fare affidamento sul fatto che non cambia?


41

Ho lanciato la mia prima istanza e la sto usando come un web server. Vedo che ha un DNS pubblico (un URL pubblico), ad esempio:

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

Posso andare con successo a questo server nel mio browser, toccarlo tramite cURL, ecc.

Voglio utilizzare questo server Web per un servizio back-end in un'app che sto creando, quindi ho inserito questo URL nella configurazione della mia app e funziona benissimo.

Ma quando mi fermo manualmente e riavvio la mia istanza, vedo che il DNS pubblico cambia! Ho letto che ciò accade quando ti fermi e riavvii esplicitamente, ma non succede se "riavvii".

Non ho intenzione di arrestare e riavviare esplicitamente questo server, ma la mia domanda è: questo DNS pubblico cambierà mai da solo per qualsiasi motivo? Ad esempio se la macchina si arresta in modo anomalo o altro.

In altre parole, è sicuro spedire un'app collegata a questo URL?

Risposte:


67

Il nome DNS pubblico corrisponde sempre all'indirizzo IP pubblico.

L'indirizzo IP pubblico rimane lo stesso per un'istanza fino a quando non viene terminato o arrestato. Un riavvio non modifica l'indirizzo IP pubblico.

Se un'istanza EC2 si trova in un VPC, manterrà lo stesso indirizzo IP pubblico per un arresto e avvio.

Se un'istanza EC2 che non si trova in un VPC viene arrestata e quindi riavviata, probabilmente riceverà un indirizzo IP pubblico diverso.

Le istanze possono fallire. Quando si avvia una nuova istanza per sostituire un'istanza non riuscita o terminata, probabilmente riceverà un indirizzo IP pubblico diverso.

Poiché le istanze possono avere esito negativo e potrebbe essere necessario modificare le dimensioni di un'istanza (con un arresto / avvio), non è consigliabile "spedire un'app cablata a [indirizzo IP pubblico]" (o nome DNS). Una volta che l'istanza viene arrestata / terminata / non riuscita, un altro utente potrebbe ottenere quell'indirizzo IP assegnato alla propria istanza e tutto il traffico verrà indirizzato a loro.

Si consiglia di utilizzare gli indirizzi IP elastici per associare servizi pubblici all'istanza. Puoi mantenere l'indirizzo IP elastico e puoi assegnarlo a qualsiasi istanza che desideri nel tempo, anche se è la stessa istanza dopo uno stop / start.

Ogni indirizzo IP elastico viene fornito con un nome DNS pubblico, ma probabilmente sarebbe meglio mappare il proprio nome host sull'indirizzo IP elastico in modo che il nome abbia più senso per gli umani.

Ecco una guida agli indirizzi IP elastici:

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

Ecco un articolo che ho scritto che parla delle differenze tra riavvio e arresto / avvio di un'istanza:

Riavvio vs. arresto / avvio dell'istanza Amazon EC2
http://alestic.com/2011/09/ec2-reboot-stop-start

Ecco un articolo che ho scritto che fornisce un motivo per cui potresti voler interrompere / avviare un'istanza anche se non pensi che lo farai oggi:

Spostamento di un'istanza EC2 in dimensioni maggiori
http://alestic.com/2011/02/ec2-change-type


Bene per info ho riavviato la mia istanza ec2 e ho appena scoperto che il DNS pubblico è cambiato in un nuovo ip. Forse l'istanza si è bloccata in mezzo ma non ne sono sicuro.
Nicolas Manzini,

Amazon consiglia solo di utilizzare IP elastici per i sistemi di bilanciamento del carico. Quindi, se hai un servizio privato su un'istanza ec2, dovrai aggiornare manualmente l'ip. docs.aws.amazon.com/AWSEC2/latest/UserGuide/…
Jesse

Gli ELB (bilanciatori di carico elastici) @Jesse non utilizzano indirizzi IP elastici. In effetti, gli ELB cambiano continuamente gli indirizzi IP e non possono essere resi permanenti. Gli IP elastici vengono applicati alle istanze EC2 e quindi sono esattamente ciò che è necessario per la domanda originale.
Eric Hammond,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.