Ganti volume root selama penyegaran instance - Amazon EC2 Auto Scaling

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Ganti volume root selama penyegaran instance

Cara kerjanya

Penggantian volume root memperbarui instans Anda dengan hanya mengganti volume root EBS sambil menjaga instance tetap berjalan. Ini menghilangkan kebutuhan untuk meluncurkan instance baru dan menghindari kendala kapasitas potensial. Proses ini mempertahankan semua sumber daya instans lainnya termasuk:

  • Antarmuka jaringan dan alamat IP

  • Volume EBS non-root

  • Volume dan data penyimpanan instans

  • Grup keamanan dan peran IAM

Selama penggantian volume root, aplikasi Anda terus berjalan pada instance yang ada. Volume root asli terlepas, volume root baru dibuat dari AMI yang Anda tentukan, dan kemudian dilampirkan ke instance yang sama. Volume root asli dihapus secara otomatis setelah penggantian berhasil.

Saat Anda menggunakan strategi ganti volume root, instance akan melalui status siklus hidup ini:

  1. ReplacingRootVolume- Penggantian volume root dimulai

  2. ReplacingRootVolume:Wait- Menunggu penyelesaian kait siklus hidup (jika dikonfigurasi)

  3. ReplacingRootVolume:Proceed- Hasil dengan penggantian

  4. RootVolumeReplaced- Penggantian berhasil diselesaikan

Setelah penggantian volume root selesai, Auto Scaling melakukan pemeriksaan kesehatan pada instans yang diperbarui. Jika penggantian volume root gagal untuk sebuah instance, Auto Scaling menandai instance tersebut untuk penghentian dan menggantinya dengan instance baru.

Persyaratan

  • Grup Auto Scaling Anda harus menggunakan kebijakan instance campuran

  • Semua penggantian dalam kebijakan instance campuran harus menentukan ImageId

  • AMIs harus berisi hanya satu volume root

  • Semua instance harus sesuai dengan konfigurasi template peluncuran grup

  • Anda harus memulai penyegaran instans dengan konfigurasi yang diinginkan yang memiliki kebijakan instance campuran yang berisi ImageId penggantian.

Mulai penyegaran instance dengan Ganti Volume Root

Untuk memulai penyegaran instance dengan Replace Root Volume (AWS CLI)

Gunakan start-instance-refreshperintah berikut untuk memulai penyegaran instance dari AWS CLI. Anda dapat menentukan preferensi apa pun yang ingin Anda ubah dalam file konfigurasi JSON. Saat Anda mereferensikan file konfigurasi, berikan path file dan nama seperti yang ditunjukkan pada contoh berikut.

aws autoscaling start-instance-refresh --cli-input-json file://config.json

Isi dari config.json:

contoh
{ "AutoScalingGroupName": "my-asg", "Strategy" : "ReplaceRootVolume", "DesiredConfiguration":{ "MixedInstancesPolicy":{ "LaunchTemplate": { "LaunchTemplateSpecification": { "LaunchTemplateId":"my-launch-template", "Version": "1" }, "Overrides": [ { "InstanceType":"c5.large", "ImageId":"ami-1234example" }, { "InstanceType":"m5.large", "ImageId":"ami-2345example" } ] } } }, "Preferences": { "InstanceWarmup": 60, "MinHealthyPercentage": 90, "AutoRollback": true, "ScaleInProtectedInstances": Ignore, "StandbyInstances": Ignore } }

Jika preferensi tidak disediakan, nilai default digunakan. Untuk informasi selengkapnya, lihat Memahami nilai default untuk penyegaran instance.

Contoh output:

{ "InstanceRefreshId": "08b91cf7-8fa6-48af-b6a6-d227f40f1b9b" }

Batasan

  • Anda tidak dapat memulai penyegaran instans dengan Ganti Volume Root jika grup EC2 Auto Scaling atau konfigurasi penyegaran instans yang diinginkan $Latest menggunakan atau meluncurkan versi $Default templat.

  • Anda tidak dapat memulai penyegaran instans dengan Ganti Volume Root pada Grup Penskalaan Otomatis Amazon EC2 jika berisi instance yang jenis instance-nya tidak ada dalam kebijakan instans campuran.

  • Selama penyegaran instans dengan Ganti Volume Root, Anda hanya dapat melampirkan instance dengan tipe yang ada dalam kebijakan instance campuran konfigurasi yang diinginkan.

  • Anda tidak dapat memulai penyegaran instans dengan Ganti Volume Root pada Grup Penskalaan Otomatis EC2 yang memiliki kolam hangat.

  • Anda tidak dapat menambahkan kolam hangat ke grup Amazon EC2 Auto Scaling yang memiliki penyegaran instans aktif dengan Ganti Volume Root.

Gunakan kait siklus hidup dengan ganti volume root

Instans yang menjalani penggantian volume root mengikuti transisi siklus hidupnya sendiri, memungkinkan Anda untuk memanggil tindakan (misalnya, fungsi Lambda) sebelum setelah penggantian. and/or Untuk informasi selengkapnya tentang status siklus hidup selama penggantian volume root, lihat. Transisi status siklus hidup untuk instance yang mengalami penggantian volume root

Untuk informasi selengkapnya tentang menambahkan kait siklus hidup, lihat. Tambahkan kait siklus hidup ke grup Auto Scaling Untuk informasi selengkapnya tentang menyelesaikan tindakan siklus hidup, lihat. Selesaikan tindakan siklus hidup dalam grup Auto Scaling

Sebelum penggantian volume root, kait siklus hidup dapat berguna dalam skenario berikut:

  • Anda ingin mematikan aplikasi Anda dengan anggun sebelum volume root diganti dan instance di-boot ulang.

  • Anda ingin memindahkan data dari volume root ke lokasi lain sebelum volume diganti.

Setelah penggantian volume root, kait siklus hidup dapat berguna dalam skenario berikut:

  • Anda ingin memverifikasi bahwa instans Anda sepenuhnya siap dengan AMI baru sebelum mulai menerima lalu lintas.

  • Anda ingin mem-bootstrap data aplikasi yang sebelumnya ada pada volume root.

Saat Anda menambahkan kait siklus hidup, pertimbangkan hal berikut:

  • Saat kait siklus hidup dikonfigurasi untuk tindakan autoscaling:EC2_INSTANCE_TERMINATING siklus hidup, instance yang akan menjalani jeda penggantian volume root untuk melakukan tindakan kustom saat mencapai status. ReplacingRootVolume:Wait

  • Ketika kait siklus hidup dikonfigurasi untuk tindakan autoscaling:EC2_INSTANCE_LAUNCHING siklus hidup, instance yang baru saja mengganti volume akarnya berhenti untuk melakukan tindakan kustom saat mencapai status. Pending:Wait

Saat instans mencapai status tunggu, Amazon EC2 Auto Scaling mengirimkan pemberitahuan. Pemberitahuan kait siklus hidup Auto Scaling berisi Action bidang dengan nilai ReplaceRootVolume untuk menunjukkan instance sedang mengalami penggantian volume root.

Contoh pemberitahuan ini tersedia di EventBridge bagian panduan ini. Untuk mengetahui informasi selengkapnya, lihat Penyegaran instance menggantikan peristiwa siklus hidup volume root.