

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

# Bagaimana CloudWatch alarm mendeteksi kegagalan penerapan Amazon ECS
<a name="deployment-alarm-failure"></a>

Anda dapat mengonfigurasi Amazon ECS untuk menyetel penerapan menjadi gagal saat mendeteksi bahwa CloudWatch alarm tertentu telah masuk ke status. `ALARM`

Anda dapat mengatur konfigurasi secara opsional untuk mengembalikan penerapan yang gagal ke penerapan yang terakhir selesai.

`create-service` AWS CLI Contoh berikut menunjukkan cara membuat layanan Linux ketika alarm penyebaran digunakan dengan opsi rollback.

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

Pertimbangkan hal berikut saat Anda menggunakan metode CloudWatch alarm Amazon pada suatu layanan.
+ Durasi ketika revisi layanan biru dan hijau berjalan secara bersamaan setelah lalu lintas produksi bergeser. Amazon ECS menghitung periode waktu ini berdasarkan konfigurasi alarm yang terkait dengan penerapan. Anda tidak dapat menetapkan nilai ini. 
+ Parameter `deploymentConfiguration` permintaan sekarang berisi tipe `alarms` data. Anda dapat menentukan nama alarm, apakah akan menggunakan metode ini, dan apakah akan memulai rollback ketika alarm menunjukkan kegagalan penerapan. Untuk informasi selengkapnya, lihat [CreateService](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateService.html)di *Referensi API Amazon Elastic Container Service*.
+ `DescribeServices`Respons memberikan wawasan tentang keadaan penyebaran, `rolloutState` dan`rolloutStateReason`. Ketika penerapan baru dimulai, status peluncuran dimulai dalam suatu keadaan. `IN_PROGRESS` Ketika layanan mencapai kondisi mapan dan waktu pemanggangan selesai, status peluncuran beralih ke. `COMPLETED` Jika layanan gagal mencapai kondisi mapan dan alarm telah masuk ke `ALARM` status, penyebaran akan beralih ke `FAILED` keadaan. Sebuah deployment dalam status `FAILED` tidak akan meluncurkan tugas baru apa pun.
+ Selain peristiwa perubahan status penerapan layanan yang dikirim Amazon ECS untuk penerapan yang telah dimulai dan telah selesai, Amazon ECS juga mengirimkan peristiwa ketika penerapan yang menggunakan alarm gagal. Kejadian ini menyediakan detail tentang mengapa deployment gagal atau jika deployment dimulai karena rollback. Untuk informasi selengkapnya, lihat [Acara perubahan status penerapan layanan Amazon ECS](ecs_service_deployment_events.md).
+ Jika penerapan baru dimulai karena penerapan sebelumnya gagal dan rollback diaktifkan, `reason` bidang peristiwa perubahan status penerapan layanan akan menunjukkan penerapan 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 penerapan.
+  CloudWatch Alarm Amazon hanya didukung untuk layanan Amazon ECS yang menggunakan pengontrol penyebaran pembaruan bergulir (`ECS`).
+ Anda dapat mengonfigurasi opsi ini dengan menggunakan konsol Amazon ECS, atau. AWS CLI*Untuk informasi selengkapnya, lihat [Buat layanan menggunakan parameter yang ditentukan](create-service-console-v2.md#create-custom-service) dan buat [layanan di Referensi](https://docs.aws.amazon.com/cli/latest/reference/ecs/create-service.html).AWS Command Line Interface *
+ Anda mungkin memperhatikan bahwa status penerapan tetap `IN_PROGRESS` untuk waktu yang lama. Alasan untuk ini adalah bahwa Amazon ECS tidak mengubah status sampai telah menghapus penerapan aktif, dan ini tidak terjadi sampai setelah waktu pemanggangan. Bergantung pada konfigurasi alarm Anda, penerapan mungkin tampak memakan waktu beberapa menit lebih lama daripada saat Anda tidak menggunakan alarm (meskipun set tugas utama baru ditingkatkan dan penerapan lama diperkecil). Jika Anda menggunakan CloudFormation batas waktu, pertimbangkan untuk meningkatkan batas waktu. Untuk informasi selengkapnya, lihat [Membuat kondisi tunggu di templat](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-waitcondition.html) di *Panduan AWS CloudFormation Pengguna*.
+ Amazon ECS memanggil `DescribeAlarms` untuk melakukan polling alarm. Panggilan untuk `DescribeAlarms` menghitung kuota CloudWatch layanan yang terkait dengan akun Anda. Jika Anda memiliki AWS layanan lain yang menelepon`DescribeAlarms`, mungkin ada dampak pada Amazon ECS untuk melakukan polling alarm. Misalnya, jika layanan lain membuat `DescribeAlarms` panggilan yang cukup untuk mencapai kuota, layanan itu dibatasi dan Amazon ECS juga dibatasi dan tidak dapat melakukan polling alarm. Jika alarm dihasilkan selama periode pelambatan, Amazon ECS mungkin melewatkan alarm dan pemutaran kembali mungkin tidak terjadi. Tidak ada dampak lain pada penyebaran. Untuk informasi selengkapnya tentang kuota CloudWatch layanan, lihat [kuota CloudWatch layanan](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_limits.htm) di *CloudWatch Panduan Pengguna*.
+ Jika alarm dalam `ALARM` keadaan di awal penerapan, Amazon ECS tidak akan memantau alarm selama penyebaran itu (Amazon ECS mengabaikan konfigurasi alarm). Perilaku ini membahas kasus di mana Anda ingin memulai penerapan baru untuk memperbaiki kegagalan penerapan awal.

## Alarm-alarm yang direkomendasikan
<a name="ecs-deployment-alarms"></a>

Kami menyarankan Anda menggunakan metrik alarm berikut:
+ Jika Anda menggunakan Application Load Balancer, gunakan metrik `HTTPCode_ELB_5XX_Count` dan `HTTPCode_ELB_4XX_Count` Application Load Balancer. Metrik-metrik ini memeriksa lonjakan HTTP. Untuk informasi selengkapnya tentang metrik Application Load Balancer, lihat [CloudWatch metrik untuk Application Load Balancer di *Panduan Pengguna* untuk Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html).
+ Jika Anda memiliki aplikasi yang sudah ada, gunakan `MemoryUtilization` metrik `CPUUtilization` dan. Metrik-metrik ini memeriksa persentase CPU dan memori yang digunakan klaster atau layanan. Untuk informasi selengkapnya, lihat [Pertimbangan-pertimbangan](cloudwatch-metrics.md#enable_cloudwatch).
+ Jika Anda menggunakan Amazon Simple Queue Service antrian dalam tugas, gunakan metrik Amazon `ApproximateNumberOfMessagesNotVisible` SQS. Metrik ini memeriksa jumlah pesan dalam antrian yang tertunda dan tidak tersedia untuk dibaca segera. Untuk informasi selengkapnya tentang metrik Amazon SQS, lihat Metrik yang [tersedia untuk CloudWatch Amazon SQS di](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-available-cloudwatch-metrics.html) Panduan Pengembang Layanan Antrian Sederhana *Amazon*.

## Waktu menanam
<a name="deployment-bake-time"></a>

Saat Anda menggunakan opsi rollback untuk penerapan layanan Anda, Amazon ECS menunggu sejumlah waktu tambahan setelah revisi layanan target diterapkan sebelum mengirimkan alarm. CloudWatch Ini disebut sebagai waktu memanggang. Kali ini dimulai setelah:
+ Semua tugas untuk revisi layanan target berjalan dan dalam keadaan sehat
+ Revisi layanan sumber diperkecil menjadi 0%

Waktu memanggang default kurang dari 5 menit. Penyebaran layanan ditandai sebagai selesai setelah waktu pemanggangan berakhir.

Anda dapat mengonfigurasi waktu pemanggangan untuk penerapan bergulir. Saat Anda menggunakan CloudWatch alarm untuk mendeteksi kegagalan, jika Anda mengubah waktu pemanggangan, dan kemudian memutuskan Anda menginginkan default Amazon ECS, Anda harus mengatur waktu pemanggangan secara manual.