La risposta dipende un po 'dall'AMI in esecuzione, poiché le funzioni fornite sono interamente dipendenti da AMI.
Amazon AMIS di Linux e AMI di Ubuntu ufficiali hanno installato il pacchetto cloud-init. Questo ha un certo numero di modi in cui puoi attivare le azioni di avvio, ma quello che soddisfa la tua richiesta più da vicino (e il mio preferito perché l'ho inventato) è il concetto di user-data script.
È sufficiente passare qualsiasi script (che inizia con i due caratteri #!) Come dati utente all'avvio delle istanze EC2. Verrà eseguito come root al primo avvio dell'istanza.
Per un esempio specifico di come funziona, io uso questa tecnica esatta nel mio recente articolo: Uploading Known ssh Host Key in EC2 user-data Script
È inoltre voleva correre più di un'istanza EC2 con lo stesso copione. Il comando ec2-run-instances e le relative API e console Web consentono di specificare un numero qualsiasi di istanze da avviare con gli stessi dati utente. Per esempio:
ec2-run-instances \
--instance-count 10 \
--user-data-file $MYSCRIPT \
--key $USER \
$SOMEAMI
Se è attualmente in esecuzione di un AMI che non ha cloud-init installata, si potrebbe fare una delle:
Passare a un AMI che ha cloud-init installata, o
compilare una versione personalizzata del vostro AMI in cui è installato il cloud-init, o
Scrivi uno script wrapper più complicato che fa un reco di tutti gli ID di istanza dopo che sono stati avviati, attende che tutte le istanze passino allo stato di esecuzione, attende che sshd accetti le connessioni, carica lo script di avvio su ogni istanza ed esegue lo script di avvio su ogni istanza .
fonte
2012-04-12 16:55:09
Una delle cose carine di SO è che quando inizi a trovare alcuni suggerimenti, il ragazzo il cui nome inizia ad apparire in tutte le tue query su Google risponde alla tua domanda personalmente. Impressionante :-) –
Eviterei l'opzione 3 della risposta di cui sopra. Ho incontrato due diverse insidie con questo approccio. 1) Un'istanza ha un indirizzo IP che hai già visto e la voce known_hosts non corrisponde. 2) La macchina che carica e controlla tutte le istanze e gli script di avvio viene sovraccaricata e le cose si rompono – Nate
La migliore citazione di SO: "e la mia preferita perché l'ho inventata" –