Grup Auto Scaling untuk lingkungan Elastic Beanstalk Anda - AWS Elastic Beanstalk

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

Grup Auto Scaling untuk lingkungan Elastic Beanstalk Anda

AWS Elastic Beanstalk Lingkungan Anda menyertakan grup Auto Scaling yang mengelola instans Amazon EC2 di lingkungan Anda. Dalam lingkungan instans tunggal, grup Auto Scaling memastikan bahwa selalu ada satu instans yang berjalan. Di lingkungan dengan beban seimbang, Anda mengonfigurasi grup dengan berbagai instans untuk dijalankan, dan Auto Scaling menambahkan atau menghapus instans yang diperlukan, berdasarkan beban.

Grup Auto Scaling juga menerapkan konfigurasi peluncuran untuk instans di lingkungan Anda. Anda dapat memodifikasi konfigurasi peluncuran untuk mengubah tipe instans, pasangan kunci, penyimpanan Amazon Elastic Block Store (Amazon EBS), dan pengaturan lain yang hanya dapat dikonfigurasi ketika Anda meluncurkan sebuah instans.

Grup Auto Scaling menggunakan dua CloudWatch alarm Amazon untuk memicu operasi penskalaan. Pemicu default menskalakan ketika lalu lintas jaringan keluar rata-rata dari setiap instans lebih tinggi dari 6 MiB atau lebih rendah dari 2 MiB selama periode lima menit. Untuk menggunakan Auto Scaling secara efektif, konfigurasikan pemicu yang sesuai untuk aplikasi Anda, tipe instans, dan persyaratan layanan. Anda dapat menskalakan berdasar beberapa statistik termasuk latensi, I/O disk, utilisasi CPU, dan jumlah permintaan.

Untuk mengoptimalkan penggunaan instans Amazon EC2 di lingkungan dalam periode lalu lintas puncak yang dapat diprediksi, konfigurasikan grup Auto Scaling Anda untuk mengubah jumlah instansnya sesuai jadwal. Anda dapat menjadwalkan perubahan pada konfigurasi grup Anda yang berulang setiap hari atau setiap minggu, atau menjadwalkan perubahan satu-kali untuk mempersiapkan acara pemasaran yang akan mengarahkan banyak lalu lintas ke situs Anda.

Sebagai opsi, Elastic Beanstalk dapat mengombinasikan Instans Sesuai Permintaan dan Spot untuk lingkungan Anda. Anda dapat mengonfigurasi Auto Scaling Amazon EC2 untuk memantau dan secara otomatis merespons perubahan yang memengaruhi ketersediaan Instans Spot dengan mengaktifkan Penyeimbangan Kembali Kapasitas.

Auto Scaling memonitor kondisi setiap instans Amazon EC2 yang diluncurkannya. Jika ada instans yang berakhir tiba-tiba, Auto Scaling mendeteksi penghentian dan meluncurkan instans pengganti. Untuk mengonfigurasi grup agar menggunakan mekanisme pemeriksaan kondisi penyeimbang beban, lihat Pengaturan pemeriksaan kondisi Auto Scaling.

Anda dapat mengonfigurasi Auto Scaling untuk lingkungan Anda menggunakan konsol Elastic Beanstalk, EB CLI, atau opsi konfigurasi.

Dukungan instans Spot

Untuk mengambil keuntungan dari Instans Spot Amazon EC2, Anda dapat mengaktifkan opsi Spot untuk lingkungan Anda. Grup Auto Scaling lingkungan Anda kemudian menggabungkan opsi pembelian Amazon EC2 dan mempertahankan campuran Instans Spot dan Sesuai Permintaan.

Topik ini menjelaskan metode berikut untuk mengaktifkan permintaan Instans Spot untuk lingkungan Anda:

penting

Permintaan untuk Instans Spot dapat sangat bervariasi dari waktu ke waktu, dan ketersediaan Instans Spot juga dapat sangat bervariasi tergantung pada berapa banyak instans Amazon EC2 yang tidak terpakai yang tersedia. Selalu ada kemungkinan Instans Spot Anda diinterupsi.

Untuk membantu meminimalkan dampak interupsi ini pada aplikasi, Anda dapat mengaktifkan opsi Penyeimbangan Kembali Kapasitas yang disertakan dengan Auto Scaling Amazon EC2. Dengan fitur ini diaktifkan, EC2 secara otomatis mencoba mengganti Instans Spot di grup Auto Scaling sebelum terputus. Untuk mengaktifkan fitur ini, gunakan konsol Elastic Beanstalk untuk mengonfigurasi grup Auto Scaling. Atau, Anda dapat mengatur true opsi konfigurasi Elastic Beanstalk ke dalam EnableCapacityRebalancing namespace aws:autoscaling:asg.

Untuk informasi selengkapnya, lihat Penyeimbangan Kembali Kapasitas di Panduan Pengguna Penskalaan Otomatis Amazon EC2 dan Interupsi Instans Spot di Panduan Pengguna Amazon EC2.

Elastic Beanstalk menyediakan beberapa opsi konfigurasi untuk mendukung fitur Spot. Mereka dibahas di bagian berikut yang menjelaskan konfigurasi grup Auto Scaling Anda.

Dua opsi ini, di ruang nama aws:ec2:instances, patut mendapat perhatian khusus:

  • SpotFleetOnDemandBase

  • SpotFleetOnDemandAboveBasePercentage

Kedua opsi ini berkorelasi dengan opsi di ruang nama MinSize aws:autoscaling:asg:

  • Hanya MinSize menentukan kapasitas awal lingkungan Anda—jumlah instans yang ingin Anda jalankan seminimal mungkin.

  • SpotFleetOnDemandBasetidak mempengaruhi kapasitas awal. Saat Spot diaktifkan, opsi ini hanya menentukan berapa banyak Instans Sesuai Permintaan yang disediakan sebelum Instans Spot dipertimbangkan.

  • Pertimbangkan kapan SpotFleetOnDemandBase kurang dariMinSize. Anda masih akan mendapatkan MinSize instance persis sebagai kapasitas awal. Setidaknya SpotFleetOnDemandBase dari mereka harus Instans On-Demand.

  • Pertimbangkan kapan SpotFleetOnDemandBase lebih besar dariMinSize. Saat lingkungan Anda meningkat, Anda dijamin mendapatkan setidaknya jumlah instance tambahan yang sama dengan perbedaan antara kedua nilai tersebut. Dengan kata lain, Anda dijamin mendapatkan setidaknya (SpotFleetOnDemandBase - MinSize) contoh tambahan yang Sesuai Permintaan sebelum memenuhi persyaratan. SpotFleetOnDemandBase

Dalam lingkungan produksi, Instans Spot sangat berguna sebagai bagian dari lingkungan dengan beban seimbang yang dapat diskalakan. Kami tidak menyarankan penggunaan Spot di lingkungan instans tunggal. Jika Instans Spot tidak tersedia, Anda mungkin kehilangan seluruh kapasitas (instans tunggal) lingkungan Anda. Anda mungkin masih ingin menggunakan Instans Spot di lingkungan instans tunggal untuk pengembangan atau pengujian. Saat Anda melakukannya, pastikan untuk mengatur SpotFleetOnDemandBase dan SpotFleetOnDemandAboveBasePercentage ke nol. Pengaturan lainnya menghasilkan Instans Sesuai Permintaan.

Catatan
  • Beberapa AWS akun lama mungkin menyediakan Elastic Beanstalk dengan tipe instans default yang tidak mendukung Instans Spot (misalnya, t1.micro). Jika Anda mengaktifkan permintaan Instans Spot dan melihat kesalahan Tidak ada satu pun dari tipe instans yang Anda tentukan mendukung Spot, pastikan untuk mengonfigurasi tipe instans yang mendukung Spot. Untuk memilih tipe Instans Spot, gunakan Penasihat Instans Spot.

  • Mengaktifkan permintaan Instans Spot perlu menggunakan templat peluncuran Amazon EC2. Ketika Anda mengonfigurasi fitur ini selama pembuatan atau pembaruan lingkungan, Elastic Beanstalk mencoba untuk mengonfigurasi lingkungan Anda untuk menggunakan templat peluncuran Amazon EC2 (jika lingkungan belum menggunakannya). Dalam kasus ini, jika kebijakan pengguna Anda tidak memiliki izin yang diperlukan, pembuatan atau pembaruan lingkungan mungkin gagal. Oleh karena itu, kami merekomendasikan Anda untuk menggunakan kebijakan pengguna terkelola kami atau menambahkan izin yang diperlukan untuk kebijakan khusus Anda. Untuk detail tentang izin yang diperlukan, lihat Membuat kebijakan pengguna kustom.

Contoh berikut menunjukkan berbagai skenario dari pengaturan berbagai pilihan penskalaan. Semua contoh mengasumsikan lingkungan seimbang beban dengan permintaan Instans Spot diaktifkan.

contoh 1: Instans Sesuai Permintaan dan Spot sebagai bagian dari kapasitas awal
Pengaturan opsi
Opsi Namespace Nilai

MinSize

aws:autoscaling:asg

10

MaxSize

aws:autoscaling:asg

24

SpotFleetOnDemandBase

aws:ec2:instances

4

SpotFleetOnDemandAboveBasePercentage

aws:ec2:instances

50

Dalam contoh ini, lingkungan dimulai dengan sepuluh instans, tujuh di antaranya adalah Sesuai Permintaan (empat dasar, dan 50% dari enam di atas dasar) dan yang tiga adalah Spot. Lingkungan dapat menskalakan keluar hingga 24 instans. Ketika lingkungan menskalakan keluar, porsi Sesuai Permintaan pada bagian armada di atas instans Sesuai Permintaan empat dasar dipertahankan di 50%, hingga maksimum 24 instans secara keseluruhan, 14 di antaranya adalah Sesuai Permintaan (empat dasar, dan 50% dari 20 di atas dasar) dan yang sepuluh adalah Spot.

contoh 2: Semua kapasitas awal Sesuai Permintaan
Pengaturan opsi
Opsi Namespace Nilai

MinSize

aws:autoscaling:asg

4

MaxSize

aws:autoscaling:asg

24

SpotFleetOnDemandBase

aws:ec2:instances

4

SpotFleetOnDemandAboveBasePercentage

aws:ec2:instances

50

Dalam contoh ini, lingkungan dimulai dengan empat instans, dan semuanya adalah Sesuai Permintaan. Lingkungan dapat menskalakan keluar hingga 24 instans. Ketika lingkungan menskalakan keluar, porsi Sesuai Permintaan pada bagian armada di atas instans Sesuai Permintaan empat dasar dipertahankan di 50%, hingga maksimum 24 instans secara keseluruhan, 14 di antaranya adalah Sesuai Permintaan (empat dasar, dan 50% dari 20 di atas dasar) dan yang sepuluh adalah Spot.

contoh 3: Dasar Sesuai Permintaan Tambahan di luar kapasitas awal
Pengaturan opsi
Opsi Namespace Nilai

MinSize

aws:autoscaling:asg

3

MaxSize

aws:autoscaling:asg

24

SpotFleetOnDemandBase

aws:ec2:instances

4

SpotFleetOnDemandAboveBasePercentage

aws:ec2:instances

50

Dalam contoh ini, lingkungan dimulai dengan tiga instans, dan semuanya adalah Sesuai Permintaan. Lingkungan dapat menskalakan keluar hingga 24 instans. Instans tambahan pertama di atas tiga di awal adalah Sesuai Permintaan, untuk menyelesaikan instans Sesuai Permintaan empat dasar. Ketika semakin menskalakan keluar, porsi Sesuai Permintaan di bagian armada di atas instans Sesuai Permintaan empat dasar dipertahankan di 50%, hingga maksimum 24 instans secara keseluruhan, 14 di antaranya adalah Sesuai Permintaan (empat dasar, dan 50% dari 20 di atas dasar) dan yang sepuluh adalah Spot.

Konfigurasi grup Auto Scaling menggunakan konsol Elastic Beanstalk

Anda dapat mengonfigurasi cara kerja Auto Scaling dengan mengedit Kapasitas di halaman Konfigurasi lingkungan di konsol Elastic Beanstalk.

Untuk mengonfigurasi grup Auto Scaling di konsol Elastic Beanstalk console
  1. Buka konsol Elastic Beanstalk, dan di daftar Wilayah, pilih konsol Elastic Beanstalk. Wilayah AWS

  2. Di panel navigasi, pilih Lingkungan, dan kemudian pilih nama lingkungan Anda dari daftar.

    catatan

    Jika Anda memiliki banyak lingkungan, gunakan bilah pencarian untuk memfilter daftar lingkungan.

  3. Di panel navigasi, pilih Konfigurasi.

  4. Pada kategori konfigurasi Kapasitas, pilih Edit.

  5. Di bagian Grup Auto Scaling, konfigurasikan pengaturan berikut.

    • Tipe lingkungan – Pilih Beban yang Diseimbangkan.

    • Instans minimum – Jumlah minimum instans EC2 yang harus ada dalam grup setiap saat. Grup dimulai dengan jumlah minimum dan menambahkan instans ketika kondisi pemicu menaikkan skala tersebut terpenuhi.

    • Instans maksimum – Jumlah maksimum instans EC2 yang harus ada dalam grup setiap saat.

      catatan

      Jika Anda menggunakan pembaruan bergulir, pastikan bahwa jumlah instans maksimum lebih tinggi daripada Instans minimum dalam pengaturan layanan untuk pembaruan bergulir.

    • Komposisi armada — Standarnya adalah Instans Sesuai Permintaan. Untuk mengaktifkan permintaan Instans Spot, pilih Opsi pembelian gabungan dan instans.

      Opsi berikut diaktifkan jika Anda memilih untuk mengaktifkan permintaan Instans Spot:

      • Harga spot maksimum — Untuk rekomendasi tentang opsi harga maksimum untuk Instans Spot, lihat riwayat harga Instans Spot di Panduan Pengguna Amazon EC2.

      • Basis Sesuai Permintaan — Jumlah minimum Instans Sesuai Permintaan yang disediakan oleh grup Auto Scaling Anda sebelum mempertimbangkan Instans Spot sebagai skala lingkungan Anda.

      • Sesuai Permintaan di atas dasar — Persentase Instans Sesuai Permintaan sebagai bagian dari kapasitas tambahan apa pun yang disediakan grup Auto Scaling Anda di luar instans dasar On-Demand.

        catatan

        Basis opsi On-Demand dan On-Demand di atas berkorelasi dengan opsi Instans Min dan Maks yang tercantum sebelumnya. Untuk informasi selengkapnya tentang opsi dan contoh ini, lihatDukungan instans Spot.

      • Aktifkan Penyeimbangan Kembali Kapasitas — Opsi ini hanya relevan jika ada setidaknya satu Instance Spot di grup Auto Scaling Anda. Ketika fitur ini diaktifkan, EC2 secara otomatis mencoba mengganti Instans Spot di grup Auto Scaling sebelum terputus, meminimalkan interupsi Instans Spot ke aplikasi Anda. Untuk informasi selengkapnya, lihat Penyeimbangan Kembali Kapasitas di Panduan Pengguna Auto Scaling Amazon EC2.

    • Tipe instans – Tipe instans Amazon EC2 yang diluncurkan untuk menjalankan aplikasi Anda. Untuk detail selengkapnya, lihat Tipe instans.

    • ID AMI – Citra mesin yang digunakan Elastic Beanstalk untuk meluncurkan instans Amazon EC2 di lingkungan Anda. Untuk detail selengkapnya, lihat ID AMI.

    • Availability Zone – Memilih jumlah Availability Zone untuk menyebarkan instans lingkungan Anda. Secara default, grup Auto Scaling meluncurkan instans secara merata di semua zona yang dapat digunakan. Untuk memusatkan instans Anda di zona yang lebih sedikit, pilih jumlah zona yang akan digunakan. Untuk lingkungan produksi, gunakan setidaknya dua zona untuk memastikan bahwa aplikasi Anda tersedia jika seandainya satu Availability Zone tidak berfungsi.

    • Penempatan (opsional) – Pilih Availability Zone yang akan digunakan. Gunakan pengaturan ini jika instans Anda perlu terhubung ke sumber daya di zona tertentu, atau jika Anda telah membeli instans cadangan, yang merupakan spesifik zona. Jika Anda meluncurkan lingkungan Anda di VPC khusus, Anda tidak dapat mengonfigurasi opsi ini. Dalam VPC khusus, Anda memilih Availability Zone untuk subnet yang Anda tetapkan untuk lingkungan Anda.

    • Menskalakan pendinginan – Jumlah waktu, dalam detik, untuk menunggu instans diluncurkan atau diakhiri setelah penskalaan, sebelum melanjutkan mengevaluasi pemicu. Untuk informasi lebih lanjut, lihat Penskalaan Pendinginan.

    Jendela konfigurasi Auto Scaling Elastic Beanstalk
  6. Untuk menyimpan perubahan pilih Terapkan di bagian bawah halaman.

Konfigurasi grup Auto Scaling menggunakan EB CLI

Saat membuat lingkungan menggunakan eb createperintah, Anda dapat menentukan beberapa opsi yang terkait dengan grup Auto Scaling lingkungan Anda. Ini adalah beberapa opsi yang membantu Anda mengontrol kapasitas lingkungan Anda.

--single

Menciptakan lingkungan dengan satu instans Amazon EC2 dan tanpa penyeimbang beban. Jika Anda tidak menggunakan opsi ini, penyeimbang beban ditambahkan ke lingkungan yang dibuat.

--enable-spot

Mengaktifkan permintaan Instans Spot untuk lingkungan Anda.

Opsi berikut untuk eb createperintah hanya dapat digunakan dengan--enable-spot.

--instance-types

Cantumkan tipe instans Amazon EC2 yang ingin digunakan pada lingkungan Anda.

--spot-max-price

Harga maksimum per unit jam, dalam dolar A.S., yang bersedia Anda bayarkan untuk Instans Spot. Untuk rekomendasi tentang opsi harga maksimum untuk Instans Spot, lihat riwayat harga Instans Spot di Panduan Pengguna Amazon EC2.

--on-demand-base-capacity

Jumlah minimum Instans Sesuai Permintaan yang disediakan grup Auto Scaling Anda sebelum mempertimbangkan Instans Spot saat lingkungan Anda bertambah besar.

--on-demand-above-base-capacity

Persentase Instans Sesuai Permintaan sebagai bagian dari kapasitas tambahan yang disediakan grup Auto Scaling lebih dari jumlah instans yang ditentukan oleh opsi --on-demand-base-capacity.

Contoh berikut membuat lingkungan dan mengonfigurasi grup Auto Scaling untuk mengaktifkan permintaan Instans Spot untuk lingkungan baru. Untuk contoh ini, tiga jenis instance yang mungkin dapat digunakan.

$ eb create --enable-spot --instance-types "t2.micro,t3.micro,t3.small"
penting

Ada opsi lain dengan nama serupa yang disebut --instance-type (tanpa “s”) yang hanya dikenali oleh EB CLI saat memproses Instans Sesuai Permintaan. Jangan gunakan --instance-type (tanpa "s") dengan opsi --enable-spot. Jika Anda melakukannya, EB CLI mengabaikannya. Alih-alih menggunakan --instance-types (dengan "s") dengan opsi --enable-spot.

Opsi konfigurasi

Elastic Beanstalk menyediakan opsi konfigurasi untuk pengaturan Auto Scaling dalam dua namespace: aws:autoscaling:asg dan aws:ec2:instances.

Namespace aws:autoscaling:asg

Namespace aws:autoscaling:asg menyediakan pilihan untuk penskalaan keseluruhan dan ketersediaan.

Contoh file konfigurasi berikut mengonfigurasi grup Auto Scaling untuk menggunakan dua sampai empat instans, availability zone tertentu, dan periode pendinginan 12 menit (720 detik). Penyeimbangan Kembali Kapasitas untuk Instans Spot diaktifkan. Opsi terakhir ini hanya berlaku jika EnableSpot diatur ke true dalam aws:ec2:instancesnamespace, seperti yang ditunjukkan dalam contoh file konfigurasi berikut ini.

option_settings: aws:autoscaling:asg: Availability Zones: Any Cooldown: '720' Custom Availability Zones: 'us-west-2a,us-west-2b' MaxSize: '4' MinSize: '2' EnableCapacityRebalancing: true

Namespace aws:ec2:instances

aws:ec2:instancesNamespace menyediakan opsi yang terkait dengan instans lingkungan Anda, termasuk manajemen Instans Spot. Ini melengkapi aws:autoscaling:launchconfigurationdan aws:autoscaling:asg.

Ketika Anda memperbarui konfigurasi lingkungan Anda dan menghapus satu atau lebih tipe instans dari opsi InstanceTypes, Elastic Beanstalk mengakhiri setiap instans Amazon EC2 yang berjalan pada salah satu tipe instans yang dihapus. Grup Auto Scaling lingkungan Anda kemudian meluncurkan instans baru, yang diperlukan untuk melengkapi kapasitas yang diinginkan, menggunakan tipe instans yang ditentukan saat ini.

Contoh file konfigurasi berikut mengonfigurasi grup Auto Scaling untuk mengaktifkan permintaan Instans Spot untuk lingkungan Anda. Tiga kemungkinan tipe instans dapat digunakan. Setidaknya satu Instans Sesuai Permintaan digunakan untuk kapasitas dasar, dan 33% Instans Sesuai Permintaan yang berkelanjutan digunakan untuk kapasitas tambahan.

option_settings: aws:ec2:instances: EnableSpot: true InstanceTypes: 't2.micro,t3.micro,t3.small' SpotFleetOnDemandBase: '1' SpotFleetOnDemandAboveBasePercentage: '33'

Untuk memilih tipe Instans Spot, gunakan Penasihat Instans Spot.