2012-02-15 12 views
14

Ho appena iniziato con AWS EC2 e non sono completamente sicuro di averlo capito.Ho bisogno di aiuto per la duplicazione delle istanze Amazon AWS EC2

Da quello che ho letto, un'istanza è fondamentalmente un server virtuale e dovresti essere in grado di "duplicare" in qualche modo quel server virtuale dalla console AWS. Quindi utilizzare Load Balancer o Elastic IP per instradare le richieste a una o l'altra.

Il problema si presenta quando provo a "duplicare" la mia istanza. Ho provato un milione di cose, ma l'unica cosa che mi ha avvicinato è stata la creazione di un AMI della mia istanza corrente, quindi il lancio di un'istanza da quella, ma quando l'ho fatto, la nuova istanza era fondamentalmente la configurazione predefinita del server. Nessuno dei miei file era lì.

Cosa sto sbagliando?

+1

Dove stai archiviando i tuoi file che ti aspetteresti di far parte dell'AMI? Sull'istanza stessa o su un volume EBS? – Daan

risposta

2

Nelle istanze, fare clic sull'immagine che si desidera duplicare e quindi passare all'azione di istanza (è vicino alla parte superiore) e creare ami.

Ciò crea un'istantanea dell'immagine come è adesso. Quindi, quando è necessario aggiungere più potenza, è sufficiente avviare l'ami e fare in modo che il bilanciamento del carico distragga il traffico tra quelle di ami.

Nota a margine, a meno che non sia realmente necessario, non suggerirei di memorizzare i dati sull'ii se questo cambia e si prevede di usarlo su un altro ami lanciato. Dovrai continuare a utilizzare le snapshot di ami per aggiornarlo con i nuovi dati, quindi puoi invece trovare un modo per mantenere lo stato da qualche altra parte (non sono sicuro dei tuoi dati ma puoi considerare un database, s3 o un altro server che questi server può montare per ottenere gli stessi dati).

Spero che questo aiuti!

+0

Grazie! Quindi la tua raccomandazione sarebbe quella di memorizzare il mio codice (ho usato il "server Web di istanza Single EC2 di Amazon con modello di istanza di database Amazon RDS" per iniziare) su S3, e quindi montarlo in qualche modo sull'AMI? Come potrei fare per farlo? Scusa, la prima volta che utilizzi AWS è confuso da morire. –

+1

Sì, questo è quello che faccio. Ci sono tanti modi per farlo, se accedi a google s3 ___ (inserisci qui il tuo linguaggio di programmazione), troverai gli strumenti per farlo. Se non ti piace, puoi usare altri strumenti per sincronizzare automaticamente con s3 (fuori dal tuo programma). Personalmente, non sto usando s3, sto usando github per estrarre il nuovo codice ogni volta che iniziano le mie app. – Lostsoul

+0

È davvero confuso, ti suggerisco di iniziare con la micro instance (sarà slooow ma economica) e sperimentare. Ricorda che se pasticci qualcosa, puoi sempre terminare l'istanza e ricominciare. – Lostsoul

11

Non si "duplica" realmente l'istanza. Tu lo copi di più come un "progetto". Quindi, quando si avvia un'istanza in un secondo momento, è possibile basare l'istanza sull'istantanea o sul "progetto".

L'ELB può essere configurato per puntare a qualsiasi istanza desiderata, quindi quando si avvia un nuovo server da questa istantanea/"blueprint" può essere automaticamente aggiunto all'ELB.

Ora che è chiarito, per rispondere alla domanda:

  1. vorrei fare in modo di utilizzare EBS sostenuto le istanze. Li puoi trovare dappertutto. Ma non S3 sostenuto. Se l'EBS è supportato, il volume esatto con tutte le tue configurazioni sarà lì.

  2. Mi piacerebbe assicurarmi che l'istanza sia configurata come ti piace e ha gli script corretti installati per quando si avvia. Vorresti che i tuoi servizi iniziassero, i file di configurazione estratti dai repository, ecc. I file di configurazione dovrebbero essere lì, ma non ci farei affidamento. Se li hai in un repository e poi fai uno script di avvio per estrarli e copiarli dove vuoi, sarai molto più in forma.

  3. Con l'istanza in esecuzione e selezionati, cliccare sulle azioni di istanza a discesa e fare clic su "Crea AMI"

  4. L'istanza verrà riavviato. Perciò stai attento.

  5. Avvia una nuova istanza. E scegli l'AMI/istantanea creata # 3.

  6. Fatto. Controlla questo https://stackoverflow.com/a/8919031/667608 che potrebbe aiutare con quanto sopra.

Oh, un'altra cosa, se avete dei volumi EBS attaccati, saranno anche essere copiati, ma sarà necessario montarli una volta che l'avvio del server.

+0

cosa può andare storto con il riavvio in step4? –

+2

Se si sta utilizzando l'istanza in produzione, ecc. Ora Amazon ha un'opzione per non riavviarsi, ma non garantisce che i volumi non saranno danneggiati. Userò questa opzione solo se sai che non ci sono molti processi che scrivono su disco al momento del riavvio. – chantheman

+1

Tutto ciò che è in esecuzione sarà morto mentre si riavvia – chantheman

0

Creare un AMI del server Web utilizzando l'istanza supportata EBS. Questo servirà da modello per l'esecuzione di più istanze di server Web in seguito.

Per i codici di app, a seconda della strategia e della quantità di file da trasferire, è possibile estrarli da S3 o git o magari utilizzando un filesystem centralizzato come NFS.

Configurare l'ELB, aggiungere ad esso una o più istanze del server Web. CNAME i tuoi dati pubblici di ELB sul tuo www.domain.com.

Problemi correlati