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 lingkungan AWS Elastic Beanstalk Anda untuk menggunakan Amazon Simple Notification Service (Amazon SNS) agar memberitahu Anda tentang peristiwa penting yang mempengaruhi aplikasi Anda. Untuk menerima email dari kapan pun AWS terjadi kesalahan atau kondisi lingkungan Anda berubah, tentukan alamat email saat Anda membuat lingkungan atau nanti.

catatan

Elastic Beanstalk menggunakan Amazon SNS untuk pemberitahuan. Untuk informasi tentang harga Amazon SNS, lihat https://aws.amazon.com/sns/pricing/.

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 Amazon EC2 Auto Scaling (seperti menambahkan dan menghapus instans 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 menyiapkan aturan berdasarkan peristiwa dengan Amazon EventBridge yang memberi tahu Anda saat Elastic Beanstalk mengeluarkan 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 saat 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 dalam daftar Regions, pilih Anda. Wilayah AWS

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

    catatan

    Jika Anda memiliki banyak lingkungan, gunakan bilah pencarian untuk memfilter daftar lingkungan.

  3. Di panel navigasi, pilih Konfigurasi.

  4. Dalam kategori Pembaruan, pemantauan, dan konfigurasi logging, 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 mengatur 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

    Pemberitahuan AWS Lambda 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 AWSElasticBeanstalk terkelola Elastic BeanstalkAdministratorAccess, 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.

    { "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 khusus ke nama yang lain, Anda juga harus menyertakan ARN dari kedua topik dalam daftar Resource. 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.

{ "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.

{ "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.