Luncurkan instance secara sinkron - Amazon EC2 Auto Scaling

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

Luncurkan instance secara sinkron

Amazon EC2 Auto Scaling menyediakan dua metode untuk meluncurkan instans di grup Auto Scaling: perilaku penskalaan asinkron dan penyediaan sinkron menggunakan API. LaunchInstances

Dengan penyediaan sinkron, Anda menggunakan LaunchInstances API untuk meminta sejumlah instance tertentu di Availability Zone tertentu. Penyediaan sinkron memberikan manfaat berikut:

  • Umpan balik langsung tentang ketersediaan kapasitas di Availability Zone tertentu

  • Kontrol yang tepat atas peluncuran instans Availability Zone

  • Contoh deterministik IDs untuk segera digunakan dalam sistem orkestrasi

  • Keputusan penskalaan waktu nyata berdasarkan kendala kapasitas aktual

  • Penskalaan lebih cepat dengan menghilangkan waktu tunggu untuk peluncuran Auto Scaling asinkron

Dengan Auto Scaling asinkron, saat Anda mengubah kapasitas yang diinginkan atau saat kebijakan penskalaan dipicu, Amazon EC2 Auto Scaling memproses permintaan penskalaan dan meluncurkan instance di latar belakang. Anda harus memantau aktivitas penskalaan atau menjelaskan grup Auto Scaling Anda untuk menentukan kapan instans berhasil diluncurkan.

catatan
  • LaunchInstances API hanya berfungsi dengan grup Auto Scaling yang menggunakan template peluncuran. Grup Auto Scaling yang menggunakan konfigurasi peluncuran tidak didukung. Jika grup Auto Scaling menggunakan konfigurasi peluncuran, Anda harus bermigrasi ke template peluncuran sebelum menggunakan penyediaan sinkron.

  • LaunchInstances API mendukung kebijakan instans campuran hanya dengan opsi pembelian On-Demand atau Spot sepenuhnya. Kebijakan campuran yang menggabungkan Instans On-Demand dan Spot tidak didukung.

  • Untuk grup Auto Scaling yang mencakup beberapa Availability Zone, Anda harus menentukan target Availability Zone atau subnet. Untuk grup Single-AZ, parameter ini opsional.

Penyediaan sinkron dan penskalaan asinkron

Penyediaan sinkron

Saat Anda menggunakan LaunchInstances API, Amazon EC2 Auto Scaling:

  • Segera mencoba meluncurkan instance yang diminta menggunakan CreateFleet

  • Menunggu CreateFleet untuk mengembalikan instance IDs sebelum merespons

  • Mengembalikan informasi instance IDs, tipe instance, dan Availability Zone tentang keberhasilan

  • Mengembalikan kode kesalahan tertentu dan rincian tentang kegagalan

  • Memberikan umpan balik langsung, memungkinkan keputusan penskalaan waktu nyata

Penskalaan asinkron

Bila Anda menggunakan metode Auto Scaling asinkron seperti mengubah kapasitas yang diinginkan atau menggunakan kebijakan penskalaan, Amazon EC2 Auto Scaling:

  • Memperbarui kapasitas yang diinginkan di API tetapi tidak akan segera mengembalikan instance

  • Instans paket diluncurkan di seluruh Availability Zones secara otomatis

  • Meluncurkan instance melalui alur kerja latar belakang

  • Secara otomatis mendistribusikan kapasitas di beberapa Availability Zone untuk keseimbangan

  • Menangani kegagalan peluncuran dengan logika coba ulang bawaan

Anda harus melakukan polling aktivitas penskalaan atau menjelaskan grup Auto Scaling Anda untuk memeriksa status operasi peluncuran.

Pertimbangan dan batasan

Saat bekerja dengan penyediaan sinkron, ingatlah catatan dan batasan berikut:

  • Status instans setelah peluncuran - Instans yang dikembalikan oleh API berada dalam status tertunda. Mereka mungkin masih gagal selama proses alur kerja berikutnya atau kait siklus hidup. Respons API yang berhasil berarti EC2 telah menerima permintaan peluncuran dan mengembalikan ID instance. Instans tidak secara otomatis dianggap sepenuhnya siap untuk beban kerja dan harus menyelesaikan proses siklus hidup EC2 dan Auto Scaling standar.

  • Batasan kolam hangat — Grup Auto Scaling dengan kolam hangat saat ini tidak didukung. Jika Anda mencoba memanggil LaunchInstances API pada grup Auto Scaling yang memiliki kumpulan hangat yang dikonfigurasi, API akan melakukan start dingin alih-alih menggunakan instance kumpulan hangat dan menampilkan kesalahan. UnsupportedOperation Untuk informasi lebih lanjut tentang awal yang dingin, lihat Batasan kolam hangat.

  • Batas waktu dan percobaan ulang API — Jika CreateFleet operasi yang mendasarinya memakan waktu lebih lama dari yang diharapkan, API dapat batas waktu dan mengembalikan token idempotensi. Anda dapat mencoba lagi menggunakan yang sama ClientToken untuk melacak operasi peluncuran asli atau menggunakan instance deskripsikan dengan token klien untuk memeriksa instance yang diluncurkan.

  • Batasan Availability Zone — Jika grup Auto Scaling Anda mencakup beberapa Availability Zone dan mengaktifkan penyeimbangan ulang Availability Zone, peluncuran instans secara serempak dapat menyebabkan konflik operasional:

    • Batasan AZ tunggal per panggilan — Setiap panggilan LaunchInstances API hanya dapat menargetkan satu Availability Zone, meskipun grup Auto Scaling Anda mencakup beberapa zona.

    • Konflik penyeimbangan ulang AZ - Jika grup Auto Scaling Anda mengaktifkan penyeimbangan ulang AZ, panggilan berurutan di AZs berbagai jenis dapat memicu peluncuran asinkron tambahan, sehingga menghasilkan lebih banyak instance daripada yang dimaksudkan. Pertimbangkan untuk menangguhkan penyeimbangan kembali AZ untuk kontrol kapasitas yang tepat. Untuk informasi selengkapnya, lihat Menangguhkan dan melanjutkan proses Auto Scaling Amazon EC2.

  • Skenario keberhasilan sebagianLaunchInstances API dapat mengembalikan sebagian keberhasilan jika hanya beberapa kapasitas yang diminta tersedia, yang merupakan perilaku EC2 normal. API mengembalikan instance yang berhasil diluncurkan bersama dengan detail kesalahan untuk peluncuran yang gagal. Untuk kasus penggunaan yang mengharuskan semua instance diluncurkan bersama (seperti aplikasi yang membutuhkan semua instance di AZ yang sama untuk latensi rendah), Anda harus menghentikan instance yang diluncurkan sebagian dan mencoba lagi di AZ yang berbeda. Pertimbangkan perilaku ini saat merancang logika coba lagi untuk beban kerja yang peka terhadap kapasitas.

  • Bobot instans — Jika grup Auto Scaling Anda menggunakan bobot instans, parameter RequestedCapacity tersebut mewakili unit kapasitas tertimbang, bukan jumlah instans. Jumlah sebenarnya dari instans yang diluncurkan bergantung pada jenis instans yang dipilih dan bobot yang dikonfigurasi. Batas EC2 Auto Scaling diluncurkan hingga 100 instans per panggilan API, terlepas dari kapasitas tertimbang yang diminta.

  • Jenis instans campuran — LaunchInstances API menggunakan kebijakan instans campuran grup Auto Scaling yang ada untuk menentukan jenis instans mana yang akan diluncurkan. API meluncurkan instance sesuai dengan strategi alokasi grup dan prioritas tipe instans Anda.