Secara otomatis menjeda pengiriman email untuk seluruh akun Amazon SES - Layanan Email Sederhana Amazon

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

Secara otomatis menjeda pengiriman email untuk seluruh akun Amazon SES

Prosedur di bagian ini menjelaskan langkah-langkah untuk mengatur Amazon SES, Amazon SNS, Amazon CloudWatch, dan AWS Lambda untuk secara otomatis menjeda pengiriman email untuk akun Amazon SES Anda dalam satu Wilayah. AWS Jika Anda mengirim email dari beberapa wilayah, ulangi prosedur di bagian ini untuk setiap wilayah tempat Anda ingin menerapkan solusi ini.

Bagian 1: Buat IAM role

Langkah pertama mengonfigurasi penjedaan pengiriman email secara otomatis adalah untuk membuat IAM role yang dapat mengeksekusi operasi API UpdateAccountSendingEnabled.

Buat IAM role
  1. Buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Di panel navigasi, pilih Peran.

  3. Pilih Buat peran.

  4. Pada halaman Pilih entitas tepercaya, pilih AWS layanan untuk jenis entitas Tepercaya.

  5. Di bawah Kasus penggunaan, pilih Lambda, lalu pilih Berikutnya.

  6. Pada halaman Tambahkan izin, pilih kebijakan berikut:

    • AWSLambdaBasicExecutionRole

    • Amazonses FullAccess

    Tip

    Gunakan kotak pencarian di bawah Kebijakan izin untuk menemukan kebijakan ini dengan cepat, tetapi perhatikan bahwa setelah mencari dan memilih kebijakan pertama, Anda harus memilih Hapus filter sebelum mencari dan memilih kebijakan kedua.

    Lalu pilih Selanjutnya.

  7. Pada halaman Nama, tinjau, dan buat, di bawah Detail peran, masukkan nama yang berarti untuk kebijakan di bidang Nama peran.

  8. Verifikasi bahwa dua kebijakan yang Anda pilih tercantum dalam tabel ringkasan kebijakan izin, lalu pilih Buat peran.

Bagian 2: Buat fungsi Lambda

Setelah membuat IAM role, Anda dapat membuat fungsi Lambda yang dapat menghentikan pengiriman email untuk akun Anda.

Untuk membuat fungsi Lambda
  1. Buka AWS Lambda konsol di https://console.aws.amazon.com/lambda/.

  2. Gunakan pemilih wilayah untuk memilih wilayah tempat Anda ingin men-deploy fungsi Lambda ini.

    catatan

    Fungsi ini hanya menjeda pengiriman email di AWS Wilayah yang Anda pilih pada langkah ini. Jika Anda mengirim email dari beberapa wilayah, ulangi prosedur di bagian ini untuk setiap wilayah tempat Anda ingin menjeda pengiriman email secara otomatis.

  3. Pilih Buat fungsi.

  4. Di bawah Buat fungsi, pilih Penulis dari scratch.

  5. Di bawah Informasi dasar, selesaikan langkah-langkah berikut:

    • Untuk nama Fungsi, ketik nama untuk fungsi Lambda.

    • Untuk Runtime, pilih Node.js 18x (atau versi yang saat ini ditawarkan dalam daftar pilih).

    • Untuk Arsitektur, pertahankan default yang telah dipilih sebelumnya, x86_64.

    • Di bawah Izin, perluas Ubah peran eksekusi default dan pilih Gunakan peran yang ada.

    • Klik di dalam kotak daftar peran yang ada, dan pilih peran IAM yang Anda buat. Bagian 1: Buat IAM role

    Lalu pilih Buat fungsi.

  6. Di bawah Sumber kode, di editor kode, tempel kode berikut:

    'use strict'; const { SES } = require("@aws-sdk/client-ses") // Create a new SES object. var ses = new SES({}); // Specify the parameters for this operation. In this case, there is only one // parameter to pass: the Enabled parameter, with a value of false // (Enabled = false disables email sending, Enabled = true enables it). var params = { Enabled: false }; exports.handler = (event, context, callback) => { // Pause sending for your entire SES account ses.updateAccountSendingEnabled(params, function(err, data) { if(err) { console.log(err.message); } else { console.log(data); } }); };

    Kemudian pilih Deploy.

  7. Pilih Uji. Jika jendela Configure test event muncul, ketikkan nama di bidang Nama acara, lalu pilih Simpan.

  8. Perluas kotak drop Test dan pilih nama acara yang baru saja Anda buat, lalu pilih Test.

  9. Tab Hasil Eksekusi akan muncul - tepat di bawahnya dan ke kanan, pastikan Status: Succeeded itu ditampilkan. Jika fungsi gagal dijalankan, lakukan hal berikut:

    • Verifikasikan bahwa IAM role yang Anda buat di Bagian 1: Buat IAM role berisi kebijakan yang benar.

    • Verifikasi bahwa kode dalam fungsi Lambda tidak berisi kesalahan. Editor kode Lambda secara otomatis menyoroti kesalahan sintaksis dan potensi masalah lainnya.

Bagian 3: Aktifkan Ulang Pengiriman Email untuk Akun Anda

Efek samping dari pengujian fungsi Lambda di Bagian 2: Buat fungsi Lambda adalah bahwa pengiriman email untuk akun Amazon SES Anda dijeda. Dalam kebanyakan kasus, Anda tidak ingin menjeda pengiriman untuk akun Anda sampai CloudWatch alarm dipicu.

Prosedur di bagian ini mengaktifkan kembali pengiriman email untuk akun Amazon SES Anda. Untuk menyelesaikan prosedur ini, Anda harus menginstal dan mengonfigurasi AWS Command Line Interface. Untuk informasi lebih lanjut, lihat Panduan Pengguna AWS Command Line Interface.

Untuk mengaktifkan kembali pengiriman email
  1. Pada baris perintah, ketik perintah berikut ini untuk mengaktifkan kembali pengiriman email untuk akun Anda. Ganti sending_region dengan nama Wilayah tempat Anda ingin mengaktifkan kembali pengiriman email.

    aws ses update-account-sending-enabled --enabled --region sending_region
  2. Pada baris perintah, ketik perintah berikut ini untuk memeriksa status pengiriman email untuk akun Anda:

    aws ses get-account-sending-enabled --region sending_region

    Jika Anda melihat output berikut ini, maka Anda telah berhasil mengaktifkan kembali pengiriman email untuk akun Anda:

    { "Enabled": true }

Bagian 4: Buat Topik dan Langganan Amazon SNS

CloudWatch Untuk menjalankan fungsi Lambda Anda saat alarm dipicu, Anda harus terlebih dahulu membuat topik Amazon SNS dan berlangganan fungsi Lambda ke sana.

Untuk membuat topik Amazon SNS dan berlangganan fungsi Lambda ke sana
  1. Buka konsol Amazon SNS di https://console.aws.amazon.com/sns/v3/home.

  2. Buat topik dengan mengikuti langkah-langkah di Panduan Pengembang Layanan Pemberitahuan Sederhana Amazon.

    1. Tipe harus Standar (bukan FIFO).

  3. Berlangganan topik dengan mengikuti langkah-langkah di Panduan Pengembang Layanan Pemberitahuan Sederhana Amazon.

    1. Untuk Protocol (Protokol) pilih AWS Lambda.

    2. Untuk Titik akhir, pilih fungsi Lambda yang Anda buat di Bagian 2: Buat fungsi Lambda.

Bagian 5: Buat CloudWatch Alarm

Bagian ini berisi prosedur untuk membuat alarm CloudWatch yang dipicu ketika metrik mencapai ambang tertentu. Ketika alarm dipicu, alarm tersebut akan menyampaikan notifikasi ke topik Amazon SNS yang Anda buat di Bagian 4: Buat Topik dan Langganan Amazon SNS, yang kemudian mengeksekusi fungsi Lambda yang Anda buat di Bagian 2: Buat fungsi Lambda.

Untuk membuat CloudWatch alarm
  1. Buka CloudWatch konsol di https://console.aws.amazon.com/cloudwatch/.

  2. Gunakan pemilih wilayah untuk memilih wilayah tempat Anda ingin menjeda pengiriman e-mail secara otomatis.

  3. Di panel navigasi, pilih Alarm.

  4. Pilih Buat Alarm.

  5. Pada jendela Buat Alarm, di bawah Metrik SES pilih Metrik akun.

  6. Di bawah Nama Metrik, pilih salah satu opsi berikut:

    • Reputasi. BounceRate— Pilih metrik ini jika Anda ingin menjeda pengiriman email untuk akun Anda ketika rasio pentalan keras keseluruhan untuk akun Anda melewati ambang batas yang Anda tentukan.

    • Reputasi. ComplaintRate— Pilih metrik ini jika Anda ingin menjeda pengiriman email untuk akun Anda ketika tingkat keluhan keseluruhan untuk akun Anda melewati ambang batas yang Anda tentukan.

    Pilih Selanjutnya.

  7. Selesaikan langkah-langkah berikut:

    • Di bawah Ambang Batas Alarm, untuk Nama, ketikkan nama untuk alarm.

    • Di Bawah Kapanpun: Reputasi. BounceRateatau Kapan pun: Reputasi. ComplaintRate, tentukan ambang batas yang menyebabkan alarm terpicu.

      catatan

      Akun Anda secara otomatis ditempatkan dalam peninjauan jika rasio pentalan Anda melebihi 5%, atau jika tingkat keluhan Anda melebihi 0,1%. Saat Anda menentukan rasio pentalan atau keluhan yang menyebabkan CloudWatch alarm dipicu, kami sarankan Anda menggunakan nilai yang berada di bawah tarif ini untuk mencegah akun Anda ditempatkan dalam peninjauan.

    • Di bawah Tindakan, untuk Setiap kali alarm ini, pilih Status adalah ALARM. Untuk Kirim notifikasi ke, pilih topik Amazon SNS yang Anda buat di Bagian 4: Buat Topik dan Langganan Amazon SNS.

    Pilih Buat Alarm.

Bagian 6: Uji solusinya

Anda sekarang dapat menguji alarm guna memastikan bahwa alarm tersebut menjalankan fungsi Lambda ketika memasuki status ALARM. Anda dapat menggunakan operasi API SetAlarmState untuk mengubah status alarm sementara waktu.

Prosedur di bagian ini bersifat opsional, namun kami merekomendasikan kepada Anda untuk menyelesaikannya guna memastikan bahwa seluruh solusi sudah dikonfigurasi dengan benar.

  1. Pada baris perintah, ketik perintah berikut ini guna memeriksa status pengiriman email untuk akun Anda. Ganti wilayah dengan nama Wilayah.

    aws ses get-account-sending-enabled --region region

    Jika pengiriman diaktifkan untuk akun Anda, Anda dapat melihat output berikut:

    { "Enabled": true }
  2. Pada baris perintah, ketik perintah berikut ini untuk mengubah status alarm sementara waktu menjadi ALARM: aws cloudwatch set-alarm-state --alarm-name MyAlarm --state-value ALARM --state-reason "Testing execution of Lambda function" --region region

    Ganti MyAlarmdi perintah sebelumnya dengan nama alarm yang Anda buatBagian 5: Buat CloudWatch Alarm, dan ganti wilayah dengan Wilayah tempat Anda ingin menjeda pengiriman email secara otomatis.

    catatan

    Ketika Anda menjalankan perintah ini, status alarm beralih dari OK ke ALARM dan kembali lagi ke OK dalam beberapa detik. Anda dapat melihat perubahan status ini pada tab Riwayat alarm di CloudWatch konsol, atau dengan menggunakan DescribeAlarmHistoryoperasi.

  3. Pada baris perintah, ketik perintah berikut ini guna memeriksa status pengiriman email untuk akun Anda.

    aws ses get-account-sending-enabled --region region

    Jika fungsi Lambda berhasil dilaksanakan, Anda akan melihat output berikut:

    { "Enabled": false }
  4. Selesaikan langkah-langkah pada Bagian 3: Aktifkan Ulang Pengiriman Email untuk Akun Anda guna mengaktifkan kembali pengiriman email untuk akun Anda.