Saya menjalankan aplikasi pada AWS Elastic Beanstalk, dan sepertinya saya perlu membuat lingkungan baru jika saya ingin menggunakan AMI terbaru.
Jika saya tahu apa id AMI terbaru, saya bisa memperbaruinya dalam konfigurasi lingkungan.
Apakah ada tempat di mana saya dapat menemukan ID AMI Elastic Beanstalk terbaru, atau bahkan lebih baik, mungkinkah instans otomatis digantikan oleh versi baru setiap kali versi baru diluncurkan?
amazon-web-services
elastic-beanstalk
Benjamin
sumber
sumber
Jawaban:
Cara yang direkomendasikan dan didukung untuk memutakhirkan lingkungan AWS Beanstalk Anda didokumentasikan di sini dan pembaruan platform terkelola dibahas di sini , jujur saya akan berpegang teguh pada hal itu jika Anda ingin segala sesuatunya mudah (dan itu semua tentang Beanstalk), Anda akan secara teori hanya dapatkan pembaruan tanpa gangguan dan AWS akan mengatur prosesnya sehingga tidak ada waktu henti.
Jadi saya hanya ingin menegaskan kembali bahwa pembaruan platform terkelola mungkin adalah apa yang Anda atau orang lain yang datang ke sini dari Google inginkan, tetapi jika Anda ingin mengetahui AWS terbaru yang disediakan AMI untuk lingkungan Beanstalk Anda, hal itu dapat dilakukan secara sepele dengan AWS CLI (terima kasih untuk waras konvensi penamaan dari Amazon pada AMI mereka).
Dimulai dengan instance dari lingkungan Anda, jelaskan instance untuk mendapatkan AMI saat ini (lewati jika Anda sudah tahu AMI saat ini).
Ambil ID AMI yang dihasilkan dan jelaskan.
Kita dapat menggunakan output di atas sebagai input ke yang baru, diurutkan
describe-images
tetapi kali ini kami mengganti cap waktu dengan*
simbol wildcard, seperti:Karena kekuatan penyortiran leksikal dan ISO 8601, kami berakhir dengan AMI terbaru, yang dalam contoh saya adalah
ami-1be5de78
.Sekali lagi, saya tidak akan merekomendasikan Anda mencoba untuk mengubah ke AMI ini dengan tangan, Beanstalk memiliki ketentuan untuk melakukan semua ini untuk Anda!
sumber
Sepertinya bahkan jika Anda mengubah AMI, untuk menggunakan AMI ElasticBeanstalk yang tepat. Tampaknya tidak berfungsi dengan baik. Itu merindukan semua file. Itu tidak berfungsi dengan benar.
Saya pikir Anda harus memulai lingkungan Pohon Kacang Elastis baru yang memiliki AMI yang diperbarui. Jadikan semuanya berfungsi kemudian tukar url lingkungan.
sumber
Anda dapat menggunakan fitur pembaruan terkelola yang datang dengan eb tetapi harus membayar untuk pelaporan kesehatan yang ditingkatkan untuk melakukan ini. Atau gunakan perintah 'eb platform show'; Dalam sebuah aplikasi pekerja memiliki cron yang menjalankan CURRENT =
eb platform show your_env_name | sed -n '5p' | cut -d: -f2- | tr -d '[[:space:]]'
TERBARU =eb platform show your_env_name | sed -n '6p' | cut -d: -f2- | tr -d '[[:space:]]'
- Kemudian membandingkan mereka dan jika berbeda Anda dapat menggunakan eb clone (default ke versi baru) dan kemudian cname swap.sumber
Menavigasi ke dasbor aplikasi Anda cari 'Konfigurasi' dan klik 'Ubah'
Anda akan melihat daftar di mana Anda dapat memilih Platform. Versi terbaru ditunjukkan dalam daftar itu. Memilih platform
AWS EB menggunakan pengaturan khusus untuk berbagai bahasa pemrograman. Anda dapat menemukan daftar pengaturan di dokumentasi http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.platforms.html
Ada tabel yang menunjukkan kepada Anda versi AMI yang digunakan oleh setiap platform.
Saya tidak menemukan cara untuk menjalankan pembaruan ini secara otomatis. Saya sebenarnya lebih suka meninjau perubahan platform dan mengujinya sebelum menggunakannya.
sumber
Pilih layanan Anda di Elastic Beanstalk, Anda akan melihat ikhtisar di Dasbor, Di sisi kanan dasbor Anda dapat melihat konfigurasi AMI Anda, Pilih Ubah peningkatan atau turunkan AMI Anda. Pada titik ini Anda akan mengganti instance Anda. Jadi buat cadangan atau klon.
sumber
Saya dapat memperbarui aplikasi saya saat ini yang di-host di Beanstalk ke AMI Amazon Linux terbaru menggunakan langkah-langkah di bawah ini.
1- Masuk ke Konsol AWS dan navigasikan ke portal Beanstalk.
2- Arahkan ke halaman konfigurasi aplikasi Anda dan klik 'Instances'.
3 - Cari AMI id seharusnya seperti AMI-xxxxxx.
4- Ambil id AMI dan arahkan kembali ke konsol EC2 dan klik-pada AMI.
5- Ubah tampilan menjadi Gambar Publik dan cari id AMI yang diambil sebelumnya dari konfigurasi Beanstalk.
6- Luncurkan AMI itu sebagai contoh baru.
7- Setelah log yang diluncurkan ke instance dan menyesuaikan sesuai kebutuhan aplikasi Anda.
8- Setelah Anda puas semuanya di tempat seperti yang Anda inginkan untuk membuat gambar AMI dari contoh baru ini.
9- Ambil instance AMI id baru yang dibuat pada langkah 8 dan terapkan itu pada konfigurasi aplikasi Beanstalk Anda.
10- Ini tidak akan menghapus instance lama dan membuat instance baru dengan AMI kustomisasi Anda dan juga menggunakan aplikasi terbaru Anda ke instance baru.
sumber