Pemberitahuan lingkungan Elastic Beanstalk dengan Amazon SNS - AWS Elastic Beanstalk

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

Pemberitahuan lingkungan Elastic Beanstalk dengan Amazon SNS

Anda dapat mengonfigurasi AWS Elastic Beanstalk lingkungan Anda untuk menggunakan Amazon Simple Notification Service (Amazon SNS) untuk memberi tahu Anda tentang peristiwa penting yang memengaruhi aplikasi Anda. Untuk menerima email dari AWS setiap kali terjadi kesalahan atau kesehatan lingkungan Anda berubah, tentukan alamat email saat Anda membuat lingkungan atau nanti.

catatan

Ketika Anda mengonfigurasi pemberitahuan untuk lingkungan Anda, Elastic Beanstalk membuat topik Amazon SNS untuk lingkungan Anda atas nama Anda. Untuk mengirim pesan ke topik Amazon SNS, Elastic Beanstalk harus memiliki izin yang diperlukan. Untuk informasi selengkapnya, lihat Mengonfigurasi izin untuk mengirim pemberitahuan.

Saat peristiwa penting terjadi, Elastic Beanstalk mengirimkan pesan ke topik. Kemudian, Amazon SNS menyampaikan pesan yang diterima ke pelanggan topik. Peristiwa penting mencakup kesalahan pembuatan lingkungan dan semua perubahan pada lingkungan dan kondisi instans. Peristiwa untuk operasi EC2 Auto Scaling Amazon (seperti menambahkan dan menghapus instance dari lingkungan) dan peristiwa informasi lainnya tidak memicu pemberitahuan.

Email pemberitahuan Amazon SNS

Anda dapat memasukkan alamat email di konsol Elastic Beanstalk ketika Anda membuat lingkungan atau setelahnya. Proses ini akan membuat topik Amazon SNS dan berlangganan topik tersebut. Elastic Beanstalk mengelola siklus hidup topik, dan menghapusnya saat lingkungan Anda dihentikan atau saat Anda menghapus alamat email di konsol manajemen lingkungan.

Namespace aws:elasticbeanstalk:sns:topics tersebut memberikan opsi untuk mengonfigurasi topik Amazon SNS dengan menggunakan file konfigurasi, CLI, atau SDK. Dengan menggunakan salah satu metode ini, Anda dapat mengonfigurasi jenis pelanggan dan titik akhir. Untuk jenis pelanggan, Anda dapat memilih antrean Amazon SQS atau URL HTTP.

Anda hanya dapat mengaktifkan atau menonaktifkan pemberitahuan Amazon SNS. Frekuensi pemberitahuan yang dikirim ke topik bisa tinggi, tergantung dari ukuran dan komposisi lingkungan Anda. Untuk mengonfigurasi pemberitahuan yang akan dikirim pada keadaan tertentu, Anda memiliki opsi lain. Anda dapat mengatur aturan berbasis peristiwa dengan Amazon EventBridge yang memberi tahu Anda saat Elastic Beanstalk memancarkan peristiwa yang memenuhi kriteria tertentu. Atau, sebagai alternatif, Anda dapat mengonfigurasi lingkungan Anda untuk mempublikasikan metrik khusus dan menyetel CloudWatch alarm Amazon untuk memberi tahu Anda ketika metrik tersebut mencapai ambang batas yang tidak sehat.

Mengonfigurasi pemberitahuan menggunakan konsol Elastic Beanstalk

Anda dapat memasukkan alamat email di konsol Elastic Beanstalk untuk membuat topik Amazon SNS untuk lingkungan Anda.

Untuk mengonfigurasi pemberitahuan di konsol Elastic Beanstalk
  1. Buka konsol Elastic Beanstalk, dan di daftar Wilayah, pilih konsol Elastic Beanstalk. Wilayah AWS

  2. Di panel navigasi, pilih Lingkungan, dan kemudian pilih nama lingkungan Anda dari daftar.

  3. Pada panel navigasi, pilih Konfigurasi.

  4. Dalam kategori konfigurasi Pembaruan, pemantauan, dan pencatatan, pilih Edit.

  5. Gulir ke bawah ke bagian Pemberitahuan email.

  6. Masukkan alamat email.

  7. Untuk menyimpan perubahan pilih Terapkan di bagian bawah halaman.

Ketika Anda memasukkan alamat email untuk pemberitahuan, Elastic Beanstalk membuat topik Amazon SNS untuk lingkungan Anda dan menambahkan langganan. Amazon SNS mengirimkan email ke alamat berlangganan untuk mengonfirmasi langganan. Anda harus mengklik tautan di email konfirmasi untuk mengaktifkan langganan dan menerima pemberitahuan.

Mengonfigurasi pemberitahuan menggunakan opsi konfigurasi

Gunakan opsi di namespace aws:elasticbeanstalk:sns:topics untuk mengonfigurasi pemberitahuan Amazon SNS untuk lingkungan Anda. Anda dapat mengatur opsi ini dengan menggunakan file konfigurasi, CLI, atau SDK.

  • Titik Akhir Pemberitahuan — Alamat email, antrean Amazon SQS, atau URL untuk mengirim pemberitahuan. Jika Anda menetapkan opsi ini, maka antrian SQS dan langganan untuk titik akhir yang ditentukan akan dibuat. Jika titik akhir bukan alamat email, Anda juga harus mengatur opsi Notification Protocol. SNS memvalidasi nilai Notification Endpoint berdasarkan nilai dari Notification Protocol. Mengatur opsi ini beberapa kali membuat langganan tambahan untuk topik. Jika Anda menghapus opsi ini, topik akan dihapus.

  • Protokol Pemberitahuan — Protokol yang digunakan untuk mengirim pemberitahuan ke Notification Endpoint. Opsi ini default ke email. Atur opsi ini menjadi email-json untuk mengirim email berformat JSON, http atau https untuk memposting pemberitahuan berformat JSON ke titik akhir HTTP, atau sqs untuk mengirim pemberitahuan ke antrean SQS.

    catatan

    AWS Lambda notifikasi tidak didukung.

  • ARN Topik Pemberitahuan — Setelah mengatur titik akhir pemberitahuan untuk lingkungan Anda, baca pengaturan ini untuk mendapatkan ARN topik SNS. Anda juga dapat mengatur opsi ini agar menggunakan topik SNS yang ada untuk pemberitahuan. Topik yang Anda lampirkan ke lingkungan Anda meskipun opsi ini tidak dihapus ketika Anda mengubah opsi ini atau mengakhiri lingkungan.

    Untuk mengonfigurasi pemberitahuan Amazon SNS, Anda harus memiliki izin yang diperlukan. Jika pengguna IAM Anda menggunakan kebijakan pengguna terkelola AdministratorAccessElastic AWSElastic Beanstalk - Beanstalk, maka Anda seharusnya sudah memiliki izin yang diperlukan untuk mengonfigurasi topik Amazon SNS default yang dibuat Elastic Beanstalk untuk lingkungan Anda. Namun, jika Anda mengonfigurasi topik Amazon SNS yang tidak kelola Elastic Beanstalk, maka Anda perlu menambahkan kebijakan berikut untuk peran pengguna Anda.

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sns:SetTopicAttributes", "sns:GetTopicAttributes", "sns:Subscribe", "sns:Unsubscribe", "sns:Publish" ], "Resource": [ "arn:aws:sns:us-east-2:123456789012:sns_topic_name" ] } ] }
  • Nama Topik Pemberitahuan — Atur opsi ini untuk menyesuaikan nama topik Amazon SNS yang digunakan untuk pemberitahuan lingkungan. Jika topik dengan nama yang sama sudah ada, Elastic Beanstalk melampirkan topik itu ke lingkungan.

    Awas

    Jika Anda melampirkan topik SNS yang ada ke lingkungan Notification Topic Name, Elastic Beanstalk akan menghapus topik tersebut jika Anda mengakhiri lingkungan atau mengubah pengaturan ini di masa depan.

    Jika Anda mengubah opsi ini, Notification Topic ARN juga diubah. Jika topik sudah dilampirkan ke lingkungan, Elastic Beanstalk menghapus topik lama dan membuat topik dan langganan baru.

    Dengan menggunakan nama topik khusus, Anda juga harus menyediakan ARN dari topik khusus yang dibuat secara eksternal. Kebijakan pengguna terkelola tidak secara otomatis mendeteksi topik dengan nama khusus, sehingga Anda harus memberikan izin khusus Amazon SNS untuk pengguna IAM Anda. Gunakan kebijakan yang serupa dengan yang digunakan untuk topik khusu ARN, tetapi sertakan tambahan berikut:

    • Sertakan dua tindakan lagi dalam daftar Actions, khususnya: sns:CreateTopic, sns:DeleteTopic

    • Jika Anda mengubah Notification Topic Name dari satu nama topik kustom ke yang lain, Anda juga harus menyertakan kedua topik dalam Resource daftar. ARNs Sebagai alternatif, sertakan ekspresi reguler yang mencakup kedua topik tersebut. Dengan cara ini Elastic Beanstalk memiliki izin untuk menghapus topik lama dan membuat yang baru.

Konsol EB CLI dan Elastic Beanstalk menerapkan nilai yang direkomendasikan untuk pilihan sebelumnya. Anda harus menghapus pengaturan ini jika Anda ingin menggunakan file konfigurasi untuk mengonfigurasi hal yang sama. Lihat Nilai yang disarankan untuk rincian selengkapnya.

Mengonfigurasi izin untuk mengirim pemberitahuan

Bagian ini membahas pertimbangan keamanan yang berkaitan dengan pemberitahuan yang menggunakan Amazon SNS. Ada dua kasus yang berbeda:

  • Gunakan topik Amazon SNS default yang dibuat Elastic Beanstalk untuk lingkungan Anda.

  • Sediakan topik Amazon SNS eksternal melalui opsi konfigurasi.

Kebijakan akses default untuk topik Amazon SNS mengizinkan hanya pemilik topik yang mempublikasikan atau berlangganan topik tersebut. Namun, melalui konfigurasi kebijakan yang tepat, Elastic Beanstalk dapat diberikan izin untuk mempublikasikan topik Amazon SNS di salah satu dari dua kasus yang dijelaskan dalam bagian ini. Subbagian berikut memberikan informasi lebih lanjut.

Izin untuk topik default

Ketika Anda mengonfigurasi pemberitahuan untuk lingkungan Anda, Elastic Beanstalk membuat topik Amazon SNS untuk lingkungan Anda. Untuk mengirim pesan ke topik Amazon SNS, Elastic Beanstalk harus memiliki izin yang diperlukan. Jika lingkungan Anda menggunakan peran layanan yang dihasilkan oleh konsol Elastic Beanstalk atau EB CLI untuknya, atau peran yang terhubung ke layanan pemantauan akun Anda, maka Anda tidak perlu melakukan hal lain. Peran terkelola mencakup izin yang diperlukan yang mengizinkan Elastic Beanstalk untuk mengirim pesan ke topik Amazon SNS.

Namun, jika Anda memberikan peran layanan khusus ketika Anda membuat lingkungan Anda, pastikan bahwa peran layanan khusus ini mencakup kebijakan berikut.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sns:Publish" ], "Resource": [ "arn:aws:sns:us-east-2:123456789012:ElasticBeanstalkNotifications*" ] } ] }

Izin untuk topik eksternal

Mengonfigurasi pemberitahuan menggunakan opsi konfigurasi menjelaskan bagaimana Anda dapat mengganti topik Amazon SNS yang disediakan oleh Elastic Beanstalk dengan topik Amazon SNS lain. Jika Anda mengganti topik, Elastic Beanstalk harus memverifikasi bahwa Anda memiliki izin untuk menerbitkan topik SNS ini agar Anda dapat mengasosiasikan topik SNS dengan lingkungan. Anda harus memiliki sns:Publish. Peran layanan menggunakan izin yang sama. Untuk memverifikasi bahwa hal ini terjadi, Elastic Beanstalk mengirimkan pemberitahuan tes ke SNS sebagai bagian dari tindakan Anda untuk membuat atau memperbarui lingkungan. Jika tes ini gagal, maka usaha Anda untuk membuat atau memperbarui lingkungan juga gagal. Elastic Beanstalk menampilkan pesan yang menjelaskan alasan kegagalan ini.

Jika Anda memberikan peran layanan khusus untuk lingkungan Anda, pastikan bahwa peran layanan khusus Anda mencakup kebijakan berikut untuk mengizinkan Elastic Beanstalk mengirim pesan ke topik Amazon SNS. Pada kode berikut, ganti sns_topic_name dengan nama topik Amazon SNS yang Anda berikan pada opsi konfigurasi.

JSON
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sns:Publish" ], "Resource": [ "arn:aws:sns:us-east-2:123456789012:sns_topic_name" ] } ] }

Untuk informasi selengkapnya tentang kontrol akses Amazon SNS, lihat Contoh kasus untuk kontrol akses Amazon SNS di Panduan Developer Amazon Simple Notification Service.