Menyeimbangkan layanan Amazon ECS di seluruh Availability Zone - Amazon Elastic Container Service

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

Menyeimbangkan layanan Amazon ECS di seluruh Availability Zone

Untuk membantu aplikasi Anda mencapai ketersediaan tinggi, kami sarankan untuk mengonfigurasi layanan multi-tugas Anda agar berjalan di beberapa Availability Zone. Untuk layanan yang menentukan strategi penempatan pertama mereka sebagai penyebaran Availability Zone, AWS lakukan upaya terbaik untuk mendistribusikan tugas layanan secara merata di seluruh Availability Zone yang tersedia. Namun, mungkin ada kalanya jumlah tugas yang berjalan di satu Availability Zone tidak sama dengan Availability Zone lainnya, seperti setelah gangguan Availability Zone. Untuk mengatasi ketidakseimbangan tugas ini, Anda dapat mengaktifkan fitur penyeimbangan kembali Availability Zone. Dengan penyeimbangan kembali Availability Zone, Amazon ECS terus memantau distribusi tugas di seluruh Availability Zone untuk setiap layanan Anda. Saat Amazon ECS mendeteksi distribusi tugas yang tidak merata, Amazon secara otomatis mengambil tindakan untuk menyeimbangkan kembali beban kerja di seluruh Availability Zone. Ini melibatkan peluncuran tugas baru di Availability Zones dengan tugas paling sedikit dan mengakhiri tugas di Availability Zone yang kelebihan beban. Redistribusi ini memastikan tidak ada Availability Zone tunggal yang menjadi titik kegagalan, membantu menjaga ketersediaan keseluruhan aplikasi kontainer Anda. Proses penyeimbangan ulang otomatis menghilangkan kebutuhan akan intervensi manual, mempercepat waktu untuk pemulihan setelah suatu peristiwa.

Berikut ini adalah ikhtisar proses penyeimbangan kembali Availability Zone:

  1. Amazon ECS mulai memantau layanan setelah mencapai kondisi tunak, dan melihat jumlah tugas yang berjalan di setiap Availability Zone.

  2. Amazon ECS melakukan operasi berikut ketika mendeteksi ketidakseimbangan dalam jumlah tugas yang berjalan di setiap Availability Zone:

    • Mengirim acara layanan yang menunjukkan bahwa penyeimbangan kembali Availability Zone dimulai.

    • Memulai tugas di Availability Zones dengan jumlah tugas yang berjalan paling sedikit

    • Menghentikan tugas di Availability Zones dengan jumlah tugas yang berjalan terbesar.

    • Penjadwal menunggu tugas yang baru dimulai HEALTHY dan RUNNING sebelum menghentikan tugas di Availability Zone yang terlalu berskala.

    • Mengirim acara layanan dengan hasil penyeimbangan kembali Availability Zone.

Bagaimana Amazon ECS mendeteksi distribusi tugas yang tidak merata

Amazon ECS menentukan ketidakseimbangan dalam jumlah tugas yang berjalan di setiap Availability Zone dengan membagi jumlah tugas yang diinginkan layanan dengan jumlah Availability Zone yang dikonfigurasi. Jika jumlah tugas yang diinginkan tidak dibagi secara merata, Amazon ECS mendistribusikan sisa tugas secara merata di seluruh Availability Zone yang dikonfigurasi. Setiap Availability Zone harus memiliki setidaknya satu tugas.

Misalnya, pertimbangkan layanan Amazon ECS dengan hitungan dua tugas yang diinginkan yang dikonfigurasi untuk dua Availability Zone. Dalam skenario ini, jumlah tugas yang diinginkan terbagi secara merata. Distribusi yang seimbang akan menjadi satu tugas per Availability Zone. Jika ada dua tugas di Availability Zone 1 dan zero task di Availability Zone 2, Amazon ECS akan memulai rebalancing dengan memulai tugas di Availability Zone 2 sebelum menghentikan tugas di Availability Zone 1.

Sekarang, pertimbangkan layanan Amazon ECS dengan hitungan tiga tugas yang diinginkan yang dikonfigurasi untuk dua Availability Zone. Dalam skenario ini, jumlah tugas yang diinginkan tidak membagi secara merata. Distribusi yang seimbang akan menjadi satu tugas di Availability Zone 1 dan dua tugas di Availability Zone 2 karena setiap Availability Zone memiliki setidaknya satu tugas dan tugas sisanya ditempatkan di Availability Zone 2.

Pertimbangkan layanan Amazon ECS yang memiliki jumlah lima tugas yang diinginkan yang dikonfigurasi untuk tiga Availability Zone. Dalam skenario ini, jumlah tugas yang diinginkan tidak membagi secara merata. Distribusi yang seimbang akan menjadi satu tugas di Availability Zone 1 dan dua tugas masing-masing di Availability Zones 2 dan 3. Setelah memperhitungkan setiap Availability Zone yang masing-masing memiliki satu tugas, dua tugas yang tersisa didistribusikan secara merata di seluruh Availability Zone.

Pertimbangan untuk mengonfigurasi penyeimbangan kembali Availability Zone

Pertimbangkan hal berikut ketika Anda ingin mengonfigurasi penyeimbangan kembali Availability Zone:

  • Penyeimbangan kembali Availability Zone mendukung Fargate dan tipe peluncuran. EC2 Untuk Fargate, Amazon ECS akan secara otomatis mendistribusikan kembali tugas di seluruh Availability Zone yang tersedia untuk menjaga keseimbangan. Untuk jenis EC2 peluncuran, Amazon ECS menyeimbangkan kembali tugas di seluruh instans kontainer yang ada dengan upaya terbaik, dengan menghormati strategi dan batasan penempatan yang Anda tentukan. Namun, Amazon ECS tidak dapat meluncurkan instans baru di Availability Zone yang kurang dimanfaatkan sebagai bagian dari proses penyeimbangan kembali, sehingga membatasi penyeimbangan kembali ke instance container yang ada.

  • Penyeimbangan ulang Availability Zone berfungsi dalam konfigurasi berikut:

    • Layanan yang menggunakan Replica strategi

    • Layanan yang menentukan penyebaran Availability Zone sebagai strategi penempatan tugas pertama, atau tidak menentukan strategi penempatan.

  • Anda tidak dapat menggunakan penyeimbangan kembali Availability Zone dengan layanan yang memenuhi salah satu kriteria berikut:

    • Menggunakan Daemon strategi

    • Menggunakan tipe EXTERNAL peluncuran (ECS Anywhere)

    • Menggunakan 100% untuk maximumPercent nilainya

    • Menggunakan Classic Load Balancer

    • Menggunakan attribute:ecs.availability-zone sebagai kendala penempatan tugas

Strategi penempatan dan kendala penempatan dengan penyeimbangan kembali Availability Zone

Strategi penempatan menentukan cara Amazon ECS memilih instans kontainer dan Availability Zone untuk penghentian penempatan tugas. Kendala penempatan tugas adalah aturan yang menentukan apakah tugas diizinkan untuk dijalankan pada instance kontainer tertentu. Untuk jenis EC2 peluncuran, Anda dapat menggunakan strategi penempatan dan batasan penempatan bersama dengan penyeimbangan kembali Availability Zone. Namun, agar penyeimbangan kembali Availability Zone berfungsi, strategi penempatan spread Availability Zone harus menjadi strategi pertama yang ditentukan. Penyeimbangan kembali Availability Zone kompatibel dengan berbagai kombinasi strategi penempatan. Misalnya, Anda dapat membuat strategi yang pertama-tama mendistribusikan tugas secara merata di seluruh Availability Zone, lalu bin pack tugas berdasarkan memori dalam setiap Availability Zone. Dalam hal ini, penyeimbangan kembali Availability Zone berfungsi karena strategi penyebaran Availability Zone ditentukan terlebih dahulu. Penting untuk dicatat bahwa penyeimbangan kembali Availability Zone tidak akan berfungsi jika strategi pertama dalam array strategi penempatan bukan komponen penyebaran Availability Zone. Persyaratan ini memastikan bahwa fokus utama distribusi tugas adalah menjaga keseimbangan di seluruh Availability Zone, yang sangat penting untuk ketersediaan tinggi. Untuk informasi selengkapnya tentang strategi dan kendala penempatan tugas, lihat. Bagaimana Amazon ECS menempatkan tugas pada instans kontainer

Strategi penempatan tugas dan kendala tidak didukung untuk tugas yang menggunakan tipe peluncuran Fargate. Fargate akan mencoba yang terbaik untuk menyebarkan tugas di seluruh Availability Zone yang dapat diakses. Jika penyedia kapasitas mencakup Fargate dan Fargate Spot, perilaku spread bersifat independen untuk setiap penyedia kapasitas.

Contoh strategi berikut mendistribusikan tugas secara merata di seluruh Availability Zones, dan kemudian bin pack tugas berdasarkan memori dalam setiap Availability Zone. Penyeimbangan ulang Availability Zone kompatibel dengan layanan karena spread strateginya adalah yang pertama.

"placementStrategy": [ { "field": "attribute:ecs.availability-zone", "type": "spread" }, { "field": "memory", "type": "binpack" } ]

Aktifkan penyeimbangan kembali Availability Zone

Anda perlu mengaktifkan penyeimbangan kembali Availability Zone untuk layanan baru dan yang sudah ada.

Anda dapat mengaktifkan dan menonaktifkan penyeimbangan kembali Availability Zone menggunakan konsol, APIs, atau. AWS CLI