Setelah cloud-init menjalankan skrip data pengguna pada boot pertama instance EC2, file state mungkin ditulis sehingga cloud-init tidak akan menjalankan skrip lagi pada reboot berikutnya. Ada kasus di mana saya ingin menghapus file status ini sehingga skrip data pengguna akan berjalan kembali. Dimana itu?
amazon-ec2
cloud-init
Mike
sumber
sumber
curl
ke layanan metadata untuk mendapatkan id instance saat ini tidak perlu karena/var/lib/cloud/instance
sudah menjadi symlink ke instance saat ini di bawah/var/lib/cloud/instances
. :-)Anda dapat meletakkan skrip Anda di /etc/rc.local, yang akan menjalankan skrip di setiap reboot.
sumber
/etc/rc.local
tidak ada hubungannya dengan data pengguna EC2.Anda juga dapat mengonfigurasi data pengguna Anda untuk dijalankan kembali pada setiap boot, alih-alih menghapus file status. Anda harus menggunakan
cloud_final_modules
skrip data pengguna Anda untuk menjalankan kembali skrip data pengguna dan untuk itu Anda harus menyesuaikan uderdata agar memiliki beberapa file dalam data pengguna. Contoh file data pengguna akan seperti:Ini akan membuat skrip data pengguna untuk dieksekusi pada langkah terakhir dari setiap proses boot. Di sini hanya satu baris yang
bin/echo "Hello World" >> /tmp/userdata-test.txt
harus dieksekusi, ganti ini dengan skrip shell Anda yang perlu dijalankan setiap kali mesin di-boot.sumber