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 Zona Ketersediaan
Mulai 5 September 2025, Amazon ECS mengaktifkan penyeimbangan ulang Availability Zone untuk semua layanan yang memenuhi syarat untuk fitur tersebut. Layanan memenuhi syarat jika spread Zona Ketersediaan adalah strategi penempatan tugas pertama, atau ketika tidak ada strategi penempatan.
Untuk membantu aplikasi Anda mencapai ketersediaan tinggi, kami sarankan untuk mengonfigurasi layanan multi-tugas Anda agar berjalan di beberapa Zona Ketersediaan. Untuk layanan yang menentukan strategi penempatan pertamanya menjadi penyebaran Zona Ketersediaan, lakukan AWS upaya terbaik untuk mendistribusikan tugas layanan secara merata di seluruh Zona Ketersediaan yang tersedia.
Namun, mungkin ada kalanya jumlah tugas yang berjalan di satu Zona Ketersediaan tidak sama dengan di Zona Ketersediaan lainnya, seperti setelah gangguan Zona Ketersediaan. Untuk mengatasi ketidakseimbangan tugas ini, Anda dapat mengaktifkan fitur penyeimbangan ulang Zona Ketersediaan.
Dengan penyeimbangan ulang Zona Ketersediaan, Amazon ECS terus memantau distribusi tugas di seluruh Zona Ketersediaan untuk setiap layanan Anda. Ketika Amazon ECS mendeteksi distribusi tugas yang tidak merata, Amazon ECS secara otomatis akan mengambil tindakan untuk menyeimbangkan ulang beban kerja di seluruh Zona Ketersediaan. Hal ini melibatkan peluncuran tugas baru di Zona Ketersediaan dengan tugas paling sedikit dan mengakhiri tugas di Zona Ketersediaan yang kelebihan beban.
Distribusi ulang ini memastikan tidak ada satu Zona Ketersediaan yang menjadi titik kegagalan, sehingga membantu menjaga ketersediaan keseluruhan aplikasi dengan kontainer. Proses penyeimbangan ulang otomatis menghilangkan kebutuhan akan intervensi manual, sehingga mempercepat waktu pemulihan setelah suatu peristiwa.
Berikut ini adalah ikhtisar proses penyeimbangan ulang Availability Zone:
-
Amazon ECS mulai memantau layanan setelah mencapai kondisi mapan, dan melihat jumlah tugas yang berjalan di setiap Zona Ketersediaan.
-
Amazon ECS melakukan operasi berikut ketika mendeteksi ketidakseimbangan dalam jumlah tugas yang berjalan di setiap Zona Ketersediaan:
-
Mengirim peristiwa layanan yang menunjukkan bahwa penyeimbangan Availability Zone sedang dimulai.
-
Memulai tugas di Zona Ketersediaan dengan jumlah tugas yang berjalan paling sedikit
-
Menghentikan tugas di Zona Ketersediaan dengan jumlah tugas yang berjalan terbesar.
-
Penjadwal menunggu tugas yang baru dimulai
HEALTHYdanRUNNINGsebelum menghentikan tugas di Zona Ketersediaan yang berskala berlebihan. -
Mengirim acara layanan dengan hasil penyeimbangan ulang Availability Zone.
-
Bagaimana Amazon ECS mendeteksi distribusi tugas yang tidak merata
Amazon ECS menentukan ketidakseimbangan dalam jumlah tugas yang berjalan di setiap Zona Ketersediaan dengan membagi jumlah tugas yang diinginkan layanan dengan jumlah Zona Ketersediaan yang dikonfigurasi. Jika jumlah tugas yang diinginkan tidak dibagi secara merata, Amazon ECS mendistribusikan sisa tugas secara merata di Zona Ketersediaan yang dikonfigurasi. Setiap Zona Ketersediaan harus memiliki setidaknya satu tugas.
Misalnya, pertimbangkan layanan Amazon ECS dengan jumlah dua tugas yang diinginkan yang dikonfigurasi untuk dua Zona Ketersediaan. Dalam skenario ini, jumlah tugas yang diinginkan dibagi secara merata. Distribusi yang seimbang akan menjadi satu tugas per Zona Ketersediaan. Jika ada dua tugas di Zona Ketersediaan 1 dan nol tugas di Zona Ketersediaan 2, Amazon ECS akan memulai penyeimbangan ulang dengan memulai tugas di Zona Ketersediaan 2 sebelum menghentikan tugas di Zona Ketersediaan 1.
Sekarang, pertimbangkan layanan Amazon ECS dengan jumlah tiga tugas yang diinginkan yang dikonfigurasi untuk dua Zona Ketersediaan. Dalam skenario ini, jumlah tugas yang diinginkan tidak dibagi secara merata. Distribusi seimbang akan menjadi satu tugas di Zona Ketersediaan 1 dan dua tugas di Zona Ketersediaan 2 karena setiap Zona Ketersediaan memiliki setidaknya satu tugas dan tugas sisanya ditempatkan di Zona Ketersediaan 2.
Pertimbangkan layanan Amazon ECS yang memiliki jumlah lima tugas yang diinginkan yang dikonfigurasi untuk tiga Zona Ketersediaan. Dalam skenario ini, jumlah tugas yang diinginkan tidak dibagi secara merata. Distribusi yang seimbang akan menjadi satu tugas di Zona Ketersediaan 1 dan dua tugas masing-masing di Zona Ketersediaan 2 dan 3. Setelah memperhitungkan setiap Zona Ketersediaan yang masing-masing memiliki satu tugas, dua tugas sisa didistribusikan secara merata di seluruh Zona Ketersediaan.
Pertimbangan untuk mengonfigurasi penyeimbangan ulang Availability Zone
Pertimbangkan hal berikut saat Anda ingin mengonfigurasi penyeimbangan ulang Availability Zone:
Penyeimbangan ulang Availability Zone mendukung penyedia kapasitas Fargate dan EC2, dan didukung pada Instans Terkelola Amazon ECS. Untuk Fargate, Amazon ECS akan secara otomatis mendistribusikan ulang tugas di seluruh Zona Ketersediaan yang tersedia untuk menjaga keseimbangan. Untuk penyedia kapasitas EC2, Amazon ECS menyeimbangkan kembali tugas di seluruh instans kontainer yang ada dengan upaya terbaik, dengan menghormati strategi dan batasan penempatan yang Anda tetapkan. Namun, Amazon ECS tidak dapat meluncurkan instans baru di Zona Ketersediaan yang kurang dimanfaatkan sebagai bagian dari proses penyeimbangan ulang, sehingga membatasi penyeimbangan ulang ke instans kontainer yang ada.
-
Penyeimbangan Zona Ketersediaan berfungsi dalam konfigurasi berikut:
-
Layanan yang menggunakan
Replicastrategi -
Layanan yang menentukan spread Zona Ketersediaan sebagai strategi penempatan tugas pertama, atau tidak menentukan strategi penempatan.
-
-
Anda tidak dapat menggunakan penyeimbangan ulang Availability Zone dengan layanan yang memenuhi salah satu kriteria berikut:
-
Menggunakan
Daemonstrategi -
Menggunakan jenis pel
EXTERNALuncuran (ECS Anywhere) -
Menggunakan 100% untuk
maximumPercentnilai -
Menggunakan Classic Load Balancer
-
Menggunakan
attribute:ecs.availability-zonesebagai batasan penempatan tugas
-
Strategi penempatan dan batasan penempatan dengan penyeimbangan ulang Availability Zone
Strategi penempatan menentukan bagaimana Amazon ECS memilih instans kontainer dan Zona Ketersediaan untuk penghentian penempatan tugas. Batasan penempatan tugas adalah aturan yang menentukan apakah tugas diizinkan untuk dijalankan pada instance kontainer tertentu.
Untuk EC2, Anda dapat menggunakan strategi penempatan dan batasan penempatan bersama dengan penyeimbangan ulang Availability Zone. Namun, agar penyeimbangan ulang Availability Zone berfungsi, strategi penempatan spread Zona Ketersediaan harus menjadi strategi pertama yang ditentukan.
Penyeimbangan Availability Zone kompatibel dengan berbagai kombinasi strategi penempatan. Misalnya, Anda dapat membuat strategi yang pertama-tama mendistribusikan tugas secara merata di seluruh Zona Ketersediaan, dan kemudian mengemas tugas berdasarkan memori dalam setiap Zona Ketersediaan. Dalam hal ini, penyeimbangan ulang Availability Zone berfungsi karena strategi spread Zona Ketersediaan ditentukan terlebih dahulu.
Penting untuk dicatat bahwa penyeimbangan ulang Availability Zone tidak akan berfungsi jika strategi pertama dalam array strategi penempatan bukan komponen spread Zona Ketersediaan. Persyaratan ini memastikan bahwa fokus utama distribusi tugas adalah menjaga keseimbangan di seluruh Zona Ketersediaan, yang sangat penting untuk ketersediaan tinggi.
Untuk informasi selengkapnya tentang strategi dan batasan penempatan tugas, lihatCara Amazon ECS Menempatkan Tugas di Instans Kontainer.
Strategi dan batasan penempatan tugas tidak didukung untuk tugas yang menggunakan Fargate. Fargate akan mencoba yang terbaik untuk menyebarkan tugas di Zona Ketersediaan yang dapat diakses. Jika penyedia kapasitas menyertakan Fargate dan Fargate Spot, perilaku spread independen untuk setiap penyedia kapasitas.
Strategi contoh berikut mendistribusikan tugas secara merata di seluruh Zona Ketersediaan, dan kemudian mengemas tugas berdasarkan memori dalam setiap Zona Ketersediaan. Penyeimbangan 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 ulang Zona Ketersediaan
Anda perlu mengaktifkan penyeimbangan ulang Availability Zone untuk layanan baru dan yang sudah ada.
Anda dapat mengaktifkan dan menonaktifkan penyeimbangan ulang Availability Zone menggunakan konsol, API AWS CLI, dan CloudFormation.
Perilaku default AvailabilityZoneRebalancing berbeda antara permintaan membuat dan memperbarui:
-
Untuk membuat permintaan layanan, ketika tidak ada nilai yang ditentukan
AvailabilityZoneRebalancing, Amazon ECS akan menetapkan nilainya menjadi default.ENABLED -
Untuk permintaan layanan pembaruan, jika tidak ada nilai yang ditentukan
AvailabilityZoneRebalancing, Amazon ECS akan menetapkan nilai layanan yang ada secara default.AvailabilityZoneRebalancingJika layanan tidak pernah memiliki setAvailabilityZoneRebalancingnilai, Amazon ECS memperlakukan ini sebagaiDISABLED.
| Jenis Layanan | API | Konsol | CLI |
|---|---|---|---|
| yang sudah ada | UpdateService | Memperbarui layanan Amazon ECS | layanan pembaruan |
| Baru | CreateService | Membuat penerapan pembaruan bergulir Amazon ECS | buat-layanan |
Contoh berikut menunjukkan cara mengaktifkan penyeimbangan layanan saat membuat layanan baru:
aws ecs create-service \ --cluster my-cluster \ --service-name my-service \ --task-definition my-task-definition:1 \ --desired-count 6 \ --availability-zone-rebalancing ENABLED
Pemecahan masalah penyeimbangan kembali layanan
Jika Anda mengalami masalah dengan penyeimbangan ulang layanan, pertimbangkan langkah-langkah pemecahan masalah berikut:
- Penyeimbangan ulang tidak dimulai
-
Verifikasi bahwa:
-
Penyeimbangan kembali layanan diaktifkan untuk layanan Anda
-
Layanan Anda menggunakan konfigurasi yang didukung (lihatPertimbangan untuk mengonfigurasi penyeimbangan ulang Availability Zone)
-
Layanan Anda telah mencapai kondisi stabil
-
- Kegagalan penempatan tugas selama penyeimbangan ulang
-
Jika Anda melihat
SERVICE_TASK_PLACEMENT_FAILUREacara:-
Untuk EC2: Periksa apakah Anda memiliki instans kontainer yang tersedia di Zona Ketersediaan target
-
Untuk Fargate: Periksa apakah ada batasan sumber daya atau kuota layanan yang membatasi penempatan tugas
-
Tinjau batasan penempatan tugas Anda untuk memastikannya tidak mencegah distribusi tugas yang tepat
-
- Penyeimbangan kembali berhenti secara tak terduga
-
Jika Anda melihat
SERVICE_REBALANCING_STOPPEDacara:-
Periksa perlindungan tugas yang mungkin memblokir operasi
-
Cari penerapan layanan bersamaan yang dapat mengganggu penyeimbangan ulang
-
Tinjau peristiwa layanan untuk informasi tambahan tentang mengapa penyeimbangan kembali dihentikan
-
Praktik terbaik untuk penyeimbangan kembali layanan
Ikuti praktik terbaik berikut untuk mendapatkan hasil maksimal dari penyeimbangan layanan:
-
Memantau operasi penyeimbangan ulang - Siapkan CloudWatch alarm untuk memantau peristiwa layanan yang terkait dengan penyeimbangan ulang untuk mengidentifikasi masalah dengan cepat.
-
Pertimbangkan dampak kinerja - Ketahuilah bahwa operasi penyeimbangan ulang dapat meningkatkan penggunaan sumber daya sementara karena tugas baru dimulai sebelum tugas lama dihentikan.
-
Gunakan perlindungan tugas secara strategis - Jika Anda memiliki tugas penting yang tidak boleh dihentikan selama penyeimbangan ulang, pertimbangkan untuk menggunakan perlindungan tugas.
-
Rencanakan kapasitas EC2 - Untuk EC2, pastikan Anda memiliki instans kontainer yang cukup di semua Zona Ketersediaan untuk mendukung penyeimbangan ulang yang efektif.
-
Uji perilaku penyeimbangan ulang - Sebelum mengandalkan penyeimbangan ulang dalam produksi, uji bagaimana layanan Anda berperilaku selama operasi penyeimbangan ulang di lingkungan non-produksi.