Yanıt, sağlanan özellikler tamamen AMI bağımlı olduğundan, çalıştırdığınız AMI'ye bağlıdır.
Amazon Linux AMIS ve resmi Ubuntu AMI'leri, cloud-init paketinin yüklüdür. Bu, başlangıç eylemlerini tetikleyebilmenizin birçok yoluna sahiptir, ancak isteğinize en yakın şekilde uyan (ve en sevdiğim için onu keşfettiğim) bir user-data script kavramıdır.
Herhangi bir komut dosyasını (iki karakterle #! Başlayarak), EC2 örneklerini başlatırken kullanıcı verileri olarak iletebilirsiniz. Örneğin ilk açılışında root olarak çalıştırılacak. Bunun nasıl çalıştığını belirli Örneğin
, benim son makalede bu kesin tekniğini kullanın:
Uploading Known ssh Host Key in EC2 user-data Script
Ayrıca aynı komut ile birden fazla EC2 örneğini çalıştırmak istedi. Ec2-run-instance komutu ve ilgili API'ler ve web konsolu aynı kullanıcı verileriyle başlamak için herhangi bir sayıda örneği belirtmenize izin verir. Örneğin:
ec2-run-instances \
--instance-count 10 \
--user-data-file $MYSCRIPT \
--key $USER \
$SOMEAMI
şu anda yüklü bulut init bulunmayan bir AMI çalıştırıyorsanız, sen birini yapabilirsiniz: yüklü bulut init olan bir AMI için
Switch ya
Yapı bulut init yüklü vardır senin AMI özel versiyonu veya
bir tanıma yapar daha karmaşık bir sarıcı betik yaz Başlatılan örneklerin tamamının rd'si başlatıldıktan sonra, tüm örneklerin çalışma durumuna geçmesini bekler, sshd'nin bağlantı kabul etmesini bekler, başlangıç komut dosyasını her örneğe yükler ve her örneğe başlangıç komut dosyasını çalıştırır .
SO ile güzel şeylerden biri, bazı işaretçiler bulmaya başladığınız zaman, tüm google sorgularınızda adı görünmeye başlayan adamın sorunuzu kişisel olarak yanıtladı. Başar :-) –
Yukarıdaki cevabın 3. seçenekten kaçınırdım. Bu yaklaşımla iki farklı tuzağa düştüm. 1) Bir örnek, daha önce gördüğünüz bir IP adresine sahip ve bilinen_hosts girişi eşleşmiyor. 2) Tüm örnekleri ve başlangıç komut dosyalarını yükleyen ve kontrol eden makine aşırı yüklenir ve malzeme kırılır – Nate
En iyi SO: "ve benim favorim icat ettiğim için" –