Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
CloudWatch alarm
Anda dapat mengonfigurasi Amazon ECS untuk mengatur penyebaran menjadi gagal saat mendeteksi bahwa CloudWatch alarm tertentu telah masuk keALARM
status.
Anda dapat mengatur konfigurasi untuk memutar kembali penyebaran yang gagal ke penyebaran terakhir yang diselesaikan.
create-service
AWS CLIContoh berikut menunjukkan cara membuat layanan Linux saat alarm deployment digunakan dengan opsi rollback.
aws ecs create-service \ --service-name
MyService
\ --deployment-controller type=ECS
\ --desired-count2
\ --deployment-configuration "alarms={alarmNames=[alarm1Name
,alarm2Name
],enable=true
,rollback=true
}" \ --task-definitionsample-fargate:1
\ --launch-typeFARGATE
\ --platform-osLINUX
\ --platform-version1.4.0
\ --network-configuration "awsvpcConfiguration={subnets=[subnet-12344321
],securityGroups=[sg-12344321
],assignPublicIp=ENABLED
}"
Pertimbangkan hal berikut saat Anda menggunakan metode CloudWatch alarm Amazon pada layanan.
-
Parameter
deploymentConfiguration
permintaan sekarang berisi tipealarms
data. Anda dapat menentukan nama alarm, apakah akan menggunakan metode, dan apakah akan memulai rollback saat alarm menunjukkan kegagalan penyebaran. Untuk informasi selengkapnya, lihat CreateServicedi Referensi API Amazon Elastic Container Service. -
DescribeServices
Respon memberikan wawasan tentang keadaan penyebaran,rolloutState
danrolloutStateReason
. Saat deployment baru dimulai, status peluncuran dimulai dalamIN_PROGRESS
status. Saat layanan mencapai kondisi stabil dan waktu pemanggangan selesai, status peluncuran bertransisi keCOMPLETED
. Jika layanan gagal mencapai kondisi stabil dan alarm telah masuk keALARM
status, maka deployment akan beralih keFAILED
status. Sebuah deployment dalam statusFAILED
tidak akan 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 yang menggunakan alarm 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 diaktifkan, maka
reason
bidang kejadian perubahan status deployment layanan akan menunjukkan bahwa deployment dimulai karena rollback. -
Jika Anda menggunakan pemutus sirkuit penerapan dan CloudWatch alarm Amazon untuk mendeteksi kegagalan, salah satu dapat memulai kegagalan penerapan segera setelah kriteria untuk salah satu metode terpenuhi. Rollback terjadi ketika Anda menggunakan opsi rollback untuk metode yang memulai kegagalan penyebaran.
-
CloudWatch Alarm Amazon hanya didukung untuk layanan Amazon ECS yang menggunakan pengontrol penerapan pembaruan bergulir (
ECS
). -
Anda dapat mengonfigurasi opsi ini dengan menggunakan konsol Amazon ECS baru, atauAWS CLI. Untuk informasi lebih lanjut, lihatBuat layanan menggunakan parameter yang ditentukan dan buat-layanan di AWS Command Line InterfaceReferensi.
-
Anda mungkin memperhatikan bahwa status penyebaran tetap
IN_PROGRESS
untuk jangka waktu yang lama. Alasan untuk ini adalah bahwa Amazon ECS tidak mengubah status sampai telah menghapus penyebaran aktif, dan ini tidak terjadi sampai setelah waktu panggang. Bergantung pada konfigurasi alarm Anda, penyebaran mungkin tampak membutuhkan waktu beberapa menit lebih lama daripada saat Anda tidak menggunakan alarm (meskipun set tugas utama baru ditingkatkan dan penyebaran lama diperkecil). Jika Anda menggunakan CloudFormation timeout, pertimbangkan untuk meningkatkan timeout. Untuk informasi selengkapnya, lihat Membuat kondisi tunggu di template di PanduanAWS CloudFormation Pengguna. -
Amazon ECS memanggil
DescribeAlarms
untuk melakukan polling alarm. Panggilan untukDescribeAlarms
dihitung terhadap kuota CloudWatch layanan yang terkait dengan akun Anda. Jika Anda memilikiAWS layanan lain yang meneleponDescribeAlarms
, mungkin ada dampak pada Amazon ECS untuk melakukan polling alarm. Misalnya, jika layanan lainDescribeAlarms
melakukan panggilan yang cukup untuk mencapai kuota, layanan tersebut akan dibatasi dan Amazon ECS 'juga dibatasi dan tidak dapat melakukan polling alarm. Jika alarm dihasilkan selama periode pembatasan, Amazon ECS 'mungkin kehilangan alarm dan pemutaran kembali mungkin tidak terjadi. Tidak ada dampak lain pada penyebaran. Untuk informasi lebih lanjut tentang kuota CloudWatch CloudWatchlayanan, lihat kuota layanan di PanduanCloudWatch Pengguna. -
Jika alarm berada dalam
ALARM
keadaan di awal penerapan, Amazon ECS tidak akan memantau alarm selama durasi penerapan tersebut (Amazon ECS mengabaikan konfigurasi alarm). Perilaku ini membahas kasus di mana Anda ingin memulai penyebaran baru untuk memperbaiki kegagalan penyebaran awal.
Alarm yang direkomendasikan
Kami menyarankan agar Anda menggunakan metrik alarm berikut:
-
Jika Anda menggunakan Application Load Balancer, gunakan metrik
HTTPCode_ELB_5XX_Count
danHTTPCode_ELB_4XX_Count
Application Load Balancer. Metrik ini memeriksa lonjakan HTTP. Untuk informasi lebih lanjut tentang metrik Application Load Balancer, lihat CloudWatch metrik Application Load Balancer Anda di Panduan Pengguna untuk Application Load Balancer. -
Jika Anda memiliki aplikasi yang sudah ada, gunakan
CPUUtilization
danMemoryUtilization
metrik. Metrik ini memeriksa persentase CPU dan memori yang digunakan klaster atau layanan. Untuk informasi selengkapnya, lihat Menggunakan CloudWatch metrik. -
Jika Anda menggunakanAmazon Simple Queue Service antrean dalam tugas Anda, gunakan metrik
ApproximateNumberOfMessagesDelayed
Amazon SQS. Metrik ini memeriksa jumlah pesan dalam antrean yang tertunda dan tidak tersedia untuk dibaca segera. Untuk informasi lebih lanjut tentang metrik Amazon SQS, lihat Panduan Pengembang Amazon SQS yang tersedia CloudWatch untuk Amazon SQS dalam Panduan Pengembang Amazon Simple Queue Service.