Menjeda pengiriman email secara otomatis untuk satu set konfigurasi - Layanan Email Sederhana Amazon

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

Menjeda pengiriman email secara otomatis untuk satu set konfigurasi

Anda dapat mengonfigurasi Amazon SES untuk mengekspor reputasi metrik yang spesifik untuk email yang dikirim menggunakan konfigurasi tertentu yang ditetapkan ke Amazon CloudWatch. Anda kemudian dapat menggunakan metrik ini untuk membuat CloudWatch alarm yang khusus untuk rangkaian konfigurasi ini. Ketika alarm ini melebihi ambang batas tertentu, Anda dapat secara otomatis menjeda pengiriman email yang menggunakan set konfigurasi tertentu, tanpa mempengaruhi kemampuan pengiriman email secara keseluruhan dari akun Amazon SES Anda.

catatan

Solusi yang dijelaskan di bagian ini menjeda pengiriman email untuk konfigurasi tertentu yang ditetapkan 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: Aktifkan Reporting Reputasi untuk Set Konfigurasi

Sebelum Anda dapat mengonfigurasi Amazon SES untuk secara otomatis menjeda pengiriman email untuk satu set konfigurasi, Anda harus terlebih dahulu mengaktifkan ekspor reputasi metrik untuk set konfigurasi.

Untuk mengaktifkan ekspor metrik dari pentalan dan aduan untuk set konfigurasi, selesaikan langkah-langkah di Melihat dan mengekspor metrik reputasi.

Bagian 2: Buat IAM Role

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

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. Di bawah Pilih tipe entitas tepercaya, pilih Layanan AWS.

  5. Di bawah Pilih layanan yang akan menggunakan peran ini, pilih Lambda. Pilih Berikutnya: Izin.

  6. Pada halaman Lampirkan kebijakan izin, pilih kebijakan berikut:

    • AWS LambdaBasicExecutionRole

    • AmazonSESFullAccess

    Tip

    Gunakan kotak pencarian di bagian atas daftar kebijakan untuk menemukan kebijakan ini dengan cepat.

    Pilih Berikutnya: Peninjauan.

  7. Di halaman Tinjau, untuk Nama, ketikkan nama untuk peran tersebut. Pilih Buat peran.

Bagian 3: Buat fungsi Lambda

Setelah Anda membuat IAM role, Anda dapat membuat fungsi Lambda yang menjeda pengiriman email untuk set konfigurasi.

Untuk membuat fungsi Lambda
  1. Buka konsol AWS Lambda tersebut 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 berhenti mengirim email untuk set konfigurasi di Wilayah AWS 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 Penulis dari scratch, selesaikan langkah berikut:

    • Untuk Nama, ketikkan nama untuk fungsi Lambda.

    • UntukWaktu pengoperasian, pilihNode.js 14x(atau versi yang saat ini ditawarkan dalam daftar pilih).

    • Untuk Peran, pilih Pilih peran yang sudah ada.

    • Untuk Peran yang sudah ada, pilih IAM role yang Anda buat di Bagian 2: Buat IAM Role.

    Pilih Buat fungsi.

  6. Di bawah Kode fungsi, di kode editor, tempelkan kode fungsi berikut:

    'use strict'; var aws = require('aws-sdk'); // Create a new SES object. var ses = new aws.SES(); // Specify the parameters for this operation. In this example, you pass the // Enabled parameter, with a value of false (Enabled = false disables email // sending, Enabled = true enables it). You also pass the ConfigurationSetName // parameter, with a value equal to the name of the configuration set for // which you want to pause email sending. var params = { ConfigurationSetName: ConfigSet, Enabled: false }; exports.handler = (event, context, callback) => { // Pause sending for a configuration set ses.updateConfigurationSetSendingEnabled(params, function(err, data) { if(err) { console.log(err.message); } else { console.log(data); } }); };

    Ganti ConfigSet pada kode sebelumnya dengan nama set konfigurasi. Pilih Simpan.

  7. Pilih Uji. Jika jendela Konfigurasikan peristiwa uji muncul, ketik nama di kolom Nama peristiwa, lalu pilih Buat.

  8. Pastikan bahwa bilah notifikasi di bagian atas halaman menyampaikan Execution result: succeeded. Jika fungsi gagal dijalankan, lakukan hal berikut:

    • Verifikasikan bahwa IAM role yang Anda buat di Bagian 2: 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 4: Aktifkan Ulang Pengiriman Email untuk Set Konfigurasi

Efek samping dari pengujian fungsi Lambda di Bagian 3: Buat fungsi Lambda adalah pengiriman email untuk set konfigurasi dijeda. Dalam kebanyakan kasus, Anda tidak ingin menjeda pengiriman untuk rangkaian konfigurasi sampai CloudWatch alarm dipicu.

Prosedur di bagian ini mengaktifkan kembali pengiriman email untuk set konfigurasi 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 guna mengaktifkan kembali pengiriman email untuk set konfigurasi:

    aws ses update-configuration-set-sending-enabled \ --configuration-set-name ConfigSet \ --enabled

    Di perintah sebelumnya, gantiConfigSetdengan nama rangkaian konfigurasi yang ingin Anda jeda pengiriman email.

  2. Pada baris perintah, ketik perintah berikut ini guna memastikan bahwa pengiriman email diaktifkan:

    aws ses describe-configuration-set \ --configuration-set-name ConfigSet \ --configuration-set-attribute-names reputationOptions

    Perintah menghasilkan output yang mirip dengan contoh berikut ini:

    { "ConfigurationSet": { "Name": "ConfigSet" }, "ReputationOptions": { "ReputationMetricsEnabled": true, "SendingEnabled": true } }

    Jika nilai dari SendingEnabled adalah true, maka pengiriman email untuk rangkaian konfigurasi berhasil diaktifkan kembali.

Bagian 5: Membuat Topik Amazon SNS

Untuk CloudWatch untuk menjalankan fungsi Lambda ketika alarm dipicu, Anda harus terlebih dahulu membuat topik Amazon SNS dan berlangganan fungsi Lambda untuk Cambda.

Untuk membuat topik Amazon SNS
  1. Buka konsol Amazon SNS di https://console.aws.amazon.com/sns/v3/home.

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

  3. Di panel navigasi, pilih Topik.

  4. Pilih Buat topik baru.

  5. Pada jendela Buat topik baru, untuk Nama topik, ketikkan nama untuk topik tersebut. Secara opsional, Anda dapat mengetik nama yang lebih deskriptif di kolom Nama tampilan.

    Pilih Buat topik.

  6. Dalam daftar topik, periksa kotak yang berada di samping topik yang Anda buat pada langkah sebelumnya. Pada menu Tindakan, pilih Berlangganan topik.

  7. Pada jendela Buat langganan, buat pilihan berikut:

    • Untuk Protokol, pilih AWS Lambda.

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

    • Untuk Versi atau alias, pilih default.

  8. Pilih Buat langganan.

Bagian 6: Buat CloudWatch Alarm

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

Untuk membuat CloudWatch alarm
  1. Buka CloudWatch konsol dihttps://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 di sebelah kiri, pilih Pengguna.

  4. Pilih Buat Alarm.

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

  6. Di kolom ses:configuration-set, temukan rangkaian konfigurasi yang ingin Anda buat untuk sebuah alarm. Di bawah Nama Metrik, pilih salah satu opsi berikut:

    • Reputation.BounceRate — silahkan Pilih metrik ini jika Anda ingin menjeda pengiriman email untuk konfigurasi yang ditetapkan bila keseluruhan rasio pentalan keras untuk rangkaian konfigurasi melewati ambang batas yang Anda tentukan.

    • Reputation.ComplaintRate — Pilih metrik ini jika Anda ingin menjeda pengiriman email untuk konfigurasi yang ditetapkan bila keseluruhan tingkat aduan untuk rangkaian konfigurasi 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 bawahKapan pun: reputasi.BouncerateatauKapan pun: reputasi.complaintrate, tentukan ambang yang menyebabkan alarm dipicu.

      catatan

      Jika tingkat pentalan keseluruhan untuk akun Amazon SES Anda melebihi 10%, atau jika tingkat aduan keseluruhan untuk akun Amazon SES Anda melebihi 0,5%, maka akun Amazon SES Anda secara otomatis akan ditempatkan di bawah peninjauan. Bila Anda menentukan tingkat bouncing atau keluhan yang menyebabkan CloudWatch alarm untuk dipicu, sebaiknya gunakan nilai yang jauh di bawah tarif ini guna 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 5: Membuat Topik Amazon SNS.

    Pilih Buat Alarm.

Bagian 7: Pengujian solusi

Anda sekarang dapat menguji alarm guna memastikan bahwa alarm tersebut menjalankan fungsi Lambda ketika memasuki status ALARM. Anda dapat menggunakanSetAlarmStateoperasi di CloudWatch API untuk mengubah status alarm sementara waktu.

Prosedur di bagian ini adalah opsional, tetapi kami menyarankan agar Anda menyelesaikannya untuk memverifikasi bahwa seluruh solusi sudah dikonfigurasi dengan benar.

Untuk menguji solusi tersebut
  1. Pada baris perintah, ketik perintah berikut ini guna memeriksa status pengiriman email untuk set konfigurasi:

    aws ses describe-configuration-set --configuration-set-name ConfigSet

    Jika pengiriman diaktifkan untuk set konfigurasi, Anda dapat melihat output berikut:

    { "ConfigurationSet": { "Name": "ConfigSet" }, "ReputationOptions": { "ReputationMetricsEnabled": true, "SendingEnabled": true } }

    Jika nilai dari SendingEnabled adalah true, maka pengiriman email saat ini diaktifkan untuk set konfigurasi.

  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"

    Ganti MyAlarm pada perintah sebelumnya dengan nama alarm yang Anda buat di Bagian 6: Buat CloudWatch Alarm.

    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 alarmRiwayattab di CloudWatch konsol, atau dengan menggunakanDescribeAlarmHistoryoperasi.

  3. Pada baris perintah, ketik perintah berikut ini guna memeriksa status pengiriman email untuk set konfigurasi:

    aws ses describe-configuration-set \ --configuration-set-name ConfigSet

    Jika fungsi Lambda berhasil dijalankan, Anda dapat melihat output yang menyerupai contoh berikut:

    { "ConfigurationSet": { "Name": "ConfigSet" }, "ReputationOptions": { "ReputationMetricsEnabled": true, "SendingEnabled": false } }

    Jika nilai dari SendingEnabled adalah false, maka pengiriman email untuk set konfigurasi dinonaktifkan, yang menunjukkan bahwa fungsi Lambda berhasil dijalankan.

  4. Selesaikan langkah-langkah pada Bagian 4: Aktifkan Ulang Pengiriman Email untuk Set Konfigurasi guna mengaktifkan kembali pengiriman email untuk set konfigurasi.