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 metrik reputasi yang khusus untuk email yang dikirim menggunakan konfigurasi tertentu yang disetel ke Amazon CloudWatch. Anda kemudian dapat menggunakan metrik ini untuk membuat CloudWatch alarm yang khusus untuk set konfigurasi ini. Ketika alarm ini melebihi ambang batas tertentu, Anda dapat secara otomatis menjeda pengiriman email yang menggunakan set konfigurasi yang ditentukan, tanpa memengaruhi kemampuan pengiriman email keseluruhan akun Amazon Anda. SES

catatan

Solusi yang dijelaskan di bagian ini menghentikan pengiriman email untuk konfigurasi tertentu yang ditetapkan dalam satu AWS Wilayah. Jika Anda mengirim email dari beberapa wilayah, ulangi prosedur di bagian ini untuk setiap wilayah tempat Anda ingin menerapkan solusi ini.

Bagian 1: Aktifkan Pelaporan Reputasi Metrik untuk Set Konfigurasi

Sebelum Anda dapat mengonfigurasi Amazon SES untuk secara otomatis menjeda pengiriman email untuk set konfigurasi, Anda harus terlebih dahulu mengaktifkan ekspor metrik reputasi 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 Peran

Langkah pertama dalam mengonfigurasi jeda otomatis pengiriman email adalah membuat IAM peran yang dapat menjalankan operasi. UpdateConfigurationSetSendingEnabled API

Untuk membuat IAM peran
  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 di peran ini, pilih Lambda. Pilih Berikutnya: Izin.

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

    • AWS Lambda BasicExecutionRole

    • mazonSESFullAkses (Kami menyarankan Anda menggunakan peran khusus yang disesuaikan dengan kebutuhan Anda yang mencakup izin untuk menelepon UpdateConfigurationSetSendingEnabled.)

    Tip

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

    Pilih Berikutnya: Tinjauan.

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

Bagian 3: Buat fungsi Lambda

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

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

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

    • Untuk Peran, pilih Pilih peran yang sudah ada.

    • Untuk peran yang ada, pilih IAM peran yang Anda buatBagian 2: Buat IAM Peran.

    Pilih Buat fungsi.

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

    'use strict'; import { SES } from 'aws-sdk'; const ses = new SES(); const configSet = 'CONFIG_SET_NAME_HERE'; const params = { ConfigurationSetName: configSet, Enabled: false }; export const handler = async (event) => { try { const data = await ses.updateConfigurationSetSendingEnabled(params).promise(); console.log('Configuration Set Update:', data); return { statusCode: 200, body: JSON.stringify({ message: 'Successfully paused email sending for configuration set.', data }), }; } catch (err) { console.error('Error:', err.message); return { statusCode: 500, body: JSON.stringify({ message: 'Failed to pause email sending for configuration set.', error: err.message }), }; } };

    ConfigSetGanti 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:

    • Verifikasi bahwa IAM peran yang Anda buat Bagian 2: Buat IAM Peran 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 konfigurasi yang disetel 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

    Pada perintah sebelumnya, ganti ConfigSet dengan nama set 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: Buat SNS Topik Amazon

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

Untuk membuat SNS topik Amazon
  1. Buka SNS konsol Amazon 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 CloudWatch yang dipicu ketika metrik mencapai ambang tertentu. Saat alarm dipicu, alarm akan mengirimkan pemberitahuan ke SNS topik Amazon yang Anda buatBagian 5: Buat SNS Topik Amazon, yang kemudian menjalankan fungsi Lambda yang Anda buat. Bagian 3: 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 di sebelah kiri, pilih Pengguna.

  4. Pilih Buat Alarm.

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

  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:

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

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

    Pilih Berikutnya.

  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

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

    • Di bawah Tindakan, untuk Kapan pun alarm ini, pilih Status adalah ALARM. Untuk Kirim pemberitahuan ke, pilih SNS topik Amazon yang Anda buatBagian 5: Buat SNS Topik Amazon.

    Pilih Buat Alarm.

Bagian 7: Uji solusinya

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

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 di perintah sebelumnya dengan nama alarm yang Anda buat. 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 tab Riwayat alarm di CloudWatch konsol, atau dengan menggunakan DescribeAlarmHistoryoperasi.

  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.