Deployment pemutus sirkuit - Amazon ECS

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

Deployment pemutus sirkuit

Transisi penyebaran ke keadaan gagal ketika logika pemutus sirkuit penyebaran menentukan bahwa tugas tidak dapat mencapai kondisi stabil.

Logika pemutus sirkuit penyebaran memiliki opsi yang secara otomatis akan memutar kembali penyebaran yang gagal ke status kerja terakhir.

Pertimbangkan hal berikut saat Anda menggunakan metode pemutus sirkuit deployment pada layanan.

  • Jika deployment layanan memiliki setidaknya satu tugas yang berhasil dijalankan saat layanan diperbarui, maka logika pemutus sirkuit tidak akan dimulai, terlepas dari deployment yang memiliki tugas gagal sebelumnya atau di future.

  • DescribeServicesRespon memberikan wawasan tentang keadaan penyebaran,rolloutState danrolloutStateReason. Saat deployment baru dimulai, status peluncuran dimulai dalam status IN_PROGRESS. Saat layanan mencapai kondisi stabil, status peluncuran bertransisi ke COMPLETED. Jika layanan gagal mencapai kondisi stabil dan pemutus sirkuit dinyalakan, maka deployment akan beralih keFAILED status. Sebuah deployment dalamFAILED status tidak meluncurkan tugas baru apa pun.

  • Selain kejadian perubahan status deployment layanan yang dikirim Amazon ECS untuk deployment yang telah dimulai dan telah selesai, Amazon ECS juga mengirimkan kejadian saat deployment dengan pemutus sirkuit yang diaktifkan gagal. Kejadian ini menyediakan detail tentang mengapa deployment gagal atau jika deployment dimulai karena rollback. Untuk informasi selengkapnya, lihat Peristiwa perubahan status deployment layanan.

  • Jika deployment baru dimulai karena deployment yang sebelumnya gagal dan rollback terjadi, makareason bidang kejadian perubahan status deployment layanan menunjukkan bahwa deployment dimulai karena rollback.

  • Pemutus sirkuit deployment hanya didukung untuk layanan Amazon ECS yang menggunakan pengendali deployment pembaruan bergulir (ECS).

  • Anda harus menggunakan konsol Amazon ECS baru, atauAWS CLI saat Anda menggunakan pemutus sirkuit penerapan dengan CloudWatch opsi. Untuk informasi lebih lanjut, lihatBuat layanan menggunakan parameter yang ditentukan dan buat-layanan di AWS Command Line InterfaceReferensi.

create-serviceAWS CLIContoh berikut menunjukkan cara membuat layanan Linux saat pemutus sirkuit deployment digunakan dengan rollback.

aws ecs create-service \ --service-name MyService \ --deployment-controller type=ECS \ --desired-count 2 \ --deployment-configuration "deploymentCircuitBreaker={enable=true,rollback=true}" \ --task-definition sample-fargate:1 \ --launch-type FARGATE \ --platform-os LINUX \ --platform-version 1.4.0 \ --network-configuration "awsvpcConfiguration={subnets=[subnet-12344321],securityGroups=[sg-12344321],assignPublicIp=ENABLED}"

Ambang batas kegagalan

Pemutus sirkuit penyebaran menghitung nilai ambang batas, dan kemudian menggunakan nilai untuk menentukan kapan harus memindahkan penyebaran keFAILED keadaan.

Pemutus sirkuit penyebaran memiliki ambang minimum 10 dan ambang batas maksimum 200. dan menggunakan nilai dalam rumus berikut untuk menentukan kegagalan penyebaran.

Minimum threshold <= 0.5 * desired task count => maximum threshold

Ketika hasil perhitungan kurang dari minimum 10, ambang kegagalan diatur ke 10. Ketika hasil perhitungan lebih besar dari maksimum 200, ambang kegagalan diatur ke 200.

catatan

Anda tidak dapat mengubah salah satu nilai ambang batas.

Ada dua tahap untuk pemeriksaan status penyebaran.

  1. Pemutus sirkuit penyebaran memonitor tugas-tugas yang merupakan bagian dari penyebaran dan memeriksa tugas-tugas yang ada diRUNNING negara bagian. Penjadwal mengabaikan kriteria kegagalan ketika tugas dalam penyebaran saat ini dalamRUNNING keadaan dan melanjutkan ke tahap berikutnya. Ketika tugas gagal mencapai diRUNNING negara bagian, pemutus sirkuit penyebaran meningkatkan jumlah kegagalan per satu. Ketika jumlah kegagalan sama dengan ambang batas, penyebaran ditandai sebagaiFAILED.

  2. Tahap ini dimasukkan ketika ada satu tugas lagi diRUNNING negara bagian. Pemutus sirkuit penyebaran melakukan pemeriksaan kesehatan pada sumber daya berikut untuk tugas-tugas dalam penyebaran saat ini:

    • Penyeimbang beban Elastic Load Balancing

    • AWS Cloud Map layanan

    • Pemeriksaan kondisi kontainer Amazon ECS

    Ketika pemeriksaan kesehatan gagal untuk tugas tersebut, pemutus sirkuit penyebaran meningkatkan jumlah kegagalan satu per satu. Ketika jumlah kegagalan sama dengan ambang batas, penyebaran ditandai sebagaiFAILED.

Tabel berikut menunjukkan beberapa contoh.

Hitungan tugas yang diinginkan Perhitungan Ambang

1

10 <= 0.5 * 1 => 200
10 (nilai yang dihitung kurang dari minimum)

25

10 <= 0.5 * 25 => 200
13 (nilai dibulatkan ke atas)

400

10 <= 0.5 * 400 => 200
200

800

10 <= 0.5 * 800 => 200
200 (nilai yang dihitung lebih besar dari maksimum)

Untuk contoh tambahan tentang cara menggunakan opsi rollback, lihat Mengumumkan pemutus sirkuit penyebaran Amazon ECS.