Mengirim peringatan Amazon Simple Notification Service untuk acara yang dihentikan tugas - 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 acara yang dihentikan tugas

Dalam tutorial ini, Anda mengonfigurasi aturan EventBridge acara Amazon yang hanya menangkap peristiwa tugas di mana tugas telah berhenti berjalan karena salah satu wadah esensialnya telah dihentikan. Acara hanya mengirimkan peristiwa tugas dengan stoppedReason properti tertentu ke topik Amazon SNS yang ditentukan.

Prasyarat: Atur klaster pengujian

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

Prasyarat: Konfigurasikan izin untuk Amazon SNS

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

Untuk informasi tentang cara menambahkan izin, lihat izin Amazon SNS di 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 topik Amazon SNS

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

Untuk informasi tentang cara membuat dan berlangganan topik Amazon SNS, 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 topik Amazon SNS, 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 acara

Sumber peristiwa AWS acara atau acara EventBridge mitra
Pola peristiwa

Pola kustom (editor JSON)

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 Topik SNS
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 editor JSON, edit file JSON 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.

Untuk 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.