2013-04-09 13 views
11

EC2 komut satırı API'sini kullanarak yeni AWS EC2 örneği oluştururken, bazı kullanıcı verilerini yeni örneğe iletiyorum.Kullanıcı verilerimin EC2 örneğine geçip geçmediğini nasıl kontrol edebilirim?

Şimdi bu kullanıcı verilerinin yürütülüp yürütülmediğini nasıl anladım?

Nasıl kontrol etmeliyim? böylece bir ideal olarak özetlendiği gibi kullanıcı verileri komut çıkışı-Gerçek zamanlı erişim sağlamak istiyoruz, genellikle aktif sürecine kanca yolu yoktur olarak Amazon EC2 üzerinde

+0

AMI bağlıdır ile kalıcı bir pencere açmalı Sistem günlüğünü alın, bulut init destekliyorsa, idam edilecek. Aksi takdirde, meta veri istekleri aracılığıyla erişilebilir olacak ve oradan işlem yapmanız gerekir. – datasage

+0

@datasage: bulut destekli AMI kullanıyorum. – Pravin

cevap

2

ayıklama kullanıcı veri komut, gerçekten biraz garip Eric Hammond makale Logging user-data Script Output on EC2 Instances: uzaktan görüntüleyebilmek için

son Ubuntu Amis hala konsol çıkışa kullanıcı veri komut göndermek, ancak artık örneğinde syslog mevcuttur. Konsol çıktısı, örnek çizgilerinden, yeniden başlatıldıktan veya sonlandırıldıktan sonra yalnızca birkaç dakika sonra güncelleştirilir; bu, kullanıcı verileri komut dosyasının çıktısını görmek için beklemenize ve anlık görüntüden sonra çıkabilen yakalama çıktısına neden olabilir .

hemen Loggly gibi uzak bir günlüğü tesisine günlükleri taşımak isteyen Kurulumunuza olabilir bağlı, ancak bu takdirde o inşaat büyük olsa besbelli (tür bir tavuk/yumurta sorun olabilir yeterince erken yüklü elde AMI zaten böyle yapılandırılmış olur).

+0

S3cms ve s3fs komutlarını kullanıcı verilerinin bir parçası olarak E2 örneğine geçirebilir miyim? – Pravin

+0

@Pravin - Elbette, kullanıcı veri betikleri sıradan kabuk betikleridir, yani temelde komut satırında yapabileceğiniz her şeyi yapabilirsiniz. yerel bir kabuk dosyasında. Tabii ki 's3fs' gibi gereksinimlerinizin AM2 örneğinde kurulu olduğundan emin olmanız gerekir, yani AMI tarafından zaten sağlanmış veya sırayla kullanmadan önce kullanıcı veri betiğinden kendiniz sağlanmıştır. –

+0

: - AMI üzerinde s3cmd yükledim ve bu önceden yapılandırılmış AMI'yi kullanarak yeni örnekler oluşturuyorum. Bunun için kullanıcı verilerini yeni örnek oluşturma ve S3'ten dosya indirme olarak geçiyorum. Ancak bu betik sadece dizin oluşturur, S3'ten dosya indirmez. Sadece aşağıdaki bağlantıya bakın http://stackoverflow.com/questions/16130952/passing-s3cmd-commands-as-user-data-to-ec2 – Pravin

1

kullanıcı verileri çalışır olmadığını görmek için EC2 en/tmp dizininde bir dosya oluşturmak mı:

bob.txt:

ec2-run-instances -f bob.txt -t t1.micro -g ServerPolicy ami-05cf5c6d -v

+0

s3cmd ve s3fs komutlarını ec2 örneğine kullanıcı verileri olarak iletebilir miyim? – Pravin

+0

Komut dosyalarınız, önceden yüklenmiş ve yüklü olduğu sürece, önyüklemede (fazın başında) uzak makinede yürütülür. –

11
:

#!/bin/sh 
echo 'Woot!' > /home/ec2-user/user-script-output.txt 

Sonra ile başlatmak

Aşağıdaki adımları uygulayarak doğrulama edebilirsiniz:

    0 Sen tüm günlük en kullanıcı veri komut dosyası ve bunun görebilirsiniz
  1. /var/log/cloud-init-output.log

fırlatma EC2 örneğinde

  • SSH
    • /var/log/cloud-init.log ve
    • içinde kullanıcı veri senaryonun
    • Kontrol günlüğü ayrıca /etc/cloud klasörü oluşturur.

  • 4

    Sadece referans olarak, kullanıcı verilerinin EC2 konsolundan sistem günlüğüne bakarak gerçekleştirilip gerçekleştirilmediğini kontrol edebilirsiniz.Sağ örneğine tıklayın - Örnek Ayarlar -

    enter image description here

    Bu sistem günlükleri

    enter image description here

    İlgili konular