Soluzione 1:
L'arresto e l'avvio di un'istanza di avvio EBS è molto simile al semplice riavvio dell'istanza con alcune eccezioni, la più importante delle quali è:
-
All'istanza viene assegnato un nuovo indirizzo IP interno.
-
All'istanza viene assegnato un nuovo indirizzo IP pubblico.
-
Se l'istanza non si trova in un VPC, qualsiasi indirizzo IP elastico viene dissociato dall'istanza.
-
Tutti i dati sull'archiviazione temporanea (spesso in /mnt) vengono persi
Ci sono anche alcune implicazioni di fatturazione e disponibilità che ho descritto in questo articolo:
Riavvio e arresto/avvio dell'istanza Amazon EC2
http://alestic.com/2011/09/ec2-reboot-stop-start
Le istanze VPC hanno un comportamento leggermente diverso, incluso il mantenimento degli indirizzi IP elastici tramite stop/start.
Se stai utilizzando un'istanza come server di database e desideri connetterti ad essa utilizzando l'indirizzo IP interno (più economico, più veloce) e non desideri dover riconfigurare i client del database dopo un arresto/avvio, puoi assegnare un indirizzo IP elastico all'istanza e utilizzare il nome DNS dell'IP elastico esterno. Questo si risolverà nell'attuale indirizzo IP interno dopo che avrai riassociato l'indirizzo IP elastico all'istanza riavviata e i tuoi client riprenderanno da dove si erano interrotti.
Vado più in dettaglio su questo approccio in questo articolo:
Utilizzo dell'IP elastico per identificare le istanze interne su Amazon EC2
http://alestic.com/2009/06/ec2-elastic-ip-internal
Come sembra che tu abbia previsto, stop/start è un modo semplice per cambiare l'hardware che alimenta la tua istanza. Ho scritto di questo insieme ad alcune istruzioni e avvertenze in questo articolo:
Spostamento di un'istanza EC2 in un tipo di istanza più grande (o più piccolo).
http://alestic.com/2011/02/ec2-change-type
Per la tua situazione particolare, consiglierei di assegnare un indirizzo IP elastico all'istanza e di modificare il tuo DNS in modo che punti all'indirizzo IP elastico utilizzando un CNAME per il nome DNS esterno. Puoi farlo subito dopo lo stop/start, oppure puoi farlo in anticipo assicurandoti che tutto funzioni prima dello stop/start.
Soluzione 2:
Quindi, sembra che tu non stia utilizzando l'IP elastico, come posso vedere dalle tue informazioni.
Credo che tu debba utilizzare CNAME nel DNS per puntare a questa istanza. Se riavvii la tua macchina allora questo ec2-54-1-1-1.us-west-1.compute.amazonaws.com
Il nome DNS cambierà e il tuo sito smetterà di funzionare.
Per quanto riguarda l'IP interno, cambierà anche, a meno che tu non stia utilizzando VPC, cosa che non stai facendo.
Quindi, se fossi in te, starò molto attento a riavviare questa macchina.
Per quanto riguarda il tempo, non ci vorranno più di un paio di minuti.
Inoltre, se hai iptables in esecuzione sull'istanza database, che consente solo a questo IP interno di connettersi al database, anche questo non funzionerà, poiché il tuo IP interno cambierà.
Quindi, fai attenzione se desideri riavviare questa istanza e pensaci bene.
Soluzione 3:
Il tuo IP/nome host interno cambierà e il tuo IP elastico verrà disconnesso (a meno che tu non sia in un VPC).
Ricollega l'IP elastico dopo aver riavviato l'istanza. Lo faccio regolarmente per modificare le dimensioni delle istanze e stai osservando solo un paio di minuti di inattività.
Verifica che Apache e tutti gli altri servizi siano impostati per l'avvio (chkconfig
se esegui amazon linux ami).