Mengirim peringatan Amazon Simple Notification Service untuk peristiwa yang dihentikan ECS tugas Amazon - Amazon Elastic Container Service

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

Mengirim peringatan Amazon Simple Notification Service untuk peristiwa yang dihentikan ECS tugas Amazon

Mengonfigurasi aturan EventBridge peristiwa Amazon yang hanya menangkap peristiwa tugas tempat tugas telah berhenti berjalan karena salah satu kontainer penting telah diakhiri. Peristiwa ini hanya mengirimkan peristiwa tugas dengan stoppedReason properti tertentu ke SNS topik Amazon yang ditunjuk.

Prasyarat: Atur klaster pengujian

Jika Anda tidak memiliki klaster yang sedang berjalan untuk merekam peristiwa, ikuti langkah-langkah dalam Memulai dengan konsol menggunakan kontainer Linux AWS Fargate untuk membuatnya. Pada akhir tutorial ini, Anda menjalankan tugas di klaster ini untuk menguji bahwa Anda telah mengonfigurasi SNS topik dan EventBridge aturan Amazon Anda dengan benar.

Prasyarat: Konfigurasikan izin untuk Amazon SNS

Untuk memungkinkan EventBridge mempublikasikan ke SNS topik Amazon, gunakan perintah aws sns get-topic-attributes dan aws sns set-topic-attributes.

Untuk informasi tentang cara menambahkan izin, lihat Izin Amazon di SNS Panduan Pengembang Layanan Pemberitahuan Sederhana Amazon

Tambahkan izin berikut:

{ "Sid": "PublishEventsToMyTopic", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sns: Publish", "Resource": "arn:aws:sns:region:account-id:TaskStoppedAlert", }

Langkah 1: Buat dan berlangganan ke SNS topik Amazon

Untuk tutorial ini, Anda mengonfigurasi SNS topik Amazon untuk melayani sebagai target peristiwa untuk aturan peristiwa baru Anda.

Untuk informasi tentang cara membuat dan berlangganan SNS topik Amazon, lihat Memulai Amazon SNS di Panduan Pengembang Layanan Pemberitahuan Sederhana Amazon dan gunakan tabel berikut untuk menentukan opsi apa yang harus dipilih.

Opsi Nilai

Tipe

Standar
Nama

TaskStoppedAlert

Protokol Email
Titik Akhir

Alamat email yang saat ini Anda miliki akses

Langkah 2: Mendaftarkan aturan peristiwa

Selanjutnya, Anda mendaftarkan aturan peristiwa yang hanya menangkap peristiwa yang dihentikan tugas untuk tugas dengan kontainer yang dihentikan.

Untuk informasi tentang cara membuat dan berlangganan SNS topik Amazon, lihat Membuat aturan di Amazon EventBridge di Panduan EventBridge Pengguna Amazon dan gunakan tabel berikut untuk menentukan opsi apa yang harus dipilih.

Opsi Nilai

Jenis aturan

Aturan dengan pola peristiwa

Sumber peristiwa AWS acara atau acara EventBridge mitra
Pola peristiwa

Pola kustom (JSONeditor)

Pola peristiwa
{ "source":[ "aws.ecs" ], "detail-type":[ "ECS Task State Change" ], "detail":{ "lastStatus":[ "STOPPED" ], "stoppedReason":[ "Essential container in task exited" ] } }
Tipe target

AWS layanan

Target SNStopik
Topik

TaskStoppedAlert (Topik yang Anda buat di Langkah 1)

Langkah 3: Uji aturan Anda

Verifikasi bahwa aturan bekerja dengan menjalankan tugas yang keluar segera setelah dimulai. Jika aturan peristiwa Anda dikonfigurasi dengan benar, Anda menerima pesan email dalam beberapa menit dengan teks peristiwa. Jika Anda memiliki ketentuan tugas yang sudah ada yang dapat memenuhi persyaratan aturan, jalankan tugas dengan menggunakannya. Jika tidak memilikinya, langkah-langkah berikut akan memandu Anda mendaftarkan ketentuan tugas Fargate dan menjalankannya.

  1. Buka konsol di https://console.aws.amazon.com/ecs/v2.

  2. Di panel navigasi, pilih Definisi tugas.

  3. Pilih Buat definisi tugas baru, Buat definisi tugas baru dengan JSON.

  4. Di kotak JSON editor, edit JSON file Anda, salin yang berikut ini ke editor.

    { "containerDefinitions":[ { "command":[ "sh", "-c", "sleep 5" ], "essential":true, "image":"amazonlinux:2", "name":"test-sleep" } ], "cpu":"256", "executionRoleArn":"arn:aws:iam::012345678910:role/ecsTaskExecutionRole", "family":"fargate-task-definition", "memory":"512", "networkMode":"awsvpc", "requiresCompatibilities":[ "FARGATE" ] }
  5. Pilih Buat.

Menjalankan tugas dari konsol
  1. Buka konsol di https://console.aws.amazon.com/ecs/v2.

  2. Pada halaman Clusters, pilih cluster yang Anda buat dalam prasyarat.

  3. Dari tab Tugas, pilih Jalankan tugas baru.

  4. Untuk Jenis aplikasi, pilih Tugas.

  5. Untuk definisi Tugas, pilih fargate-task-definition.

  6. Untuk Tugas yang diinginkan, masukkan jumlah tugas yang akan diluncurkan.

  7. Pilih Buat.