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 di Wilayah tunggal. AWS Jika Anda mengirim email dari beberapa wilayah, ulangi prosedur di bagian ini untuk setiap wilayah tempat Anda ingin menerapkan solusi ini.
Topik di bagian 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
Buka konsol IAM di https://console.aws.amazon.com/iam/
. -
Di panel navigasi, pilih Peran.
-
Pilih Buat peran.
-
Pada halaman Pilih entitas tepercaya, pilih AWSlayanan untuk jenis entitas Tepercaya.
-
Di bawah Kasus penggunaan, pilih Lambda, lalu pilih Berikutnya.
-
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.
Kemudian pilih Selanjutnya.
-
-
Pada halaman Nama, tinjau, dan buat, di bawah Detail peran, masukkan nama yang berarti untuk kebijakan di bidang Nama peran.
-
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
Buka konsol AWS Lambda tersebut di https://console.aws.amazon.com/lambda/
. -
Gunakan pemilih wilayah untuk memilih wilayah tempat Anda ingin men-deploy fungsi Lambda ini.
catatan
Fungsi ini hanya menjeda pengiriman email 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.
-
Pilih Buat fungsi.
-
Di bawah Buat fungsi, pilih Penulis dari scratch.
-
Di bawah Informasi dasar, selesaikan langkah-langkah berikut:
-
Untuk nama Fungsi, ketikkan 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 sudah ada, dan pilih IAM role yang Anda buat diBagian 1: Buat IAM role.
Lalu pilih Buat fungsi.
-
-
Di bawah Kode source, di kode editor, tempelkan kode 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.
-
Pilih Uji. Jika jendela Configure test event muncul, ketikkan nama di bidang Nama acara, lalu pilih Simpan.
-
Perluas kotak drop Test dan pilih nama acara yang baru saja Anda buat, lalu pilih Test.
-
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. Pada kasus umumnya, Anda tidak ingin menjeda pengiriman akun hingga CloudWatch alarm sudah 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
-
Pada baris perintah, ketik perintah berikut ini untuk mengaktifkan kembali pengiriman email untuk akun Anda. Ganti
sending_region
dengan nama tempat Wilayah yang ingin Anda untuk mengaktifkan kembali pengiriman email.aws ses update-account-sending-enabled --enabled --region
sending_region
-
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 Amazon SNS dan Langganan
CloudWatch Untuk dapat menjalankan fungsi Lambda Anda ketika alarm dipicu, Anda harus terlebih dahulu membuat topik Amazon SNS dan berlangganan fungsi Lambda untuk menjalankan fungsi Lambda untuk menjalankan fungsi Lambda untuk menjalankan fungsi Lambda untuk menjalankan fungsi Lambda untuk menjalankan fungsi Lambda untuk menjalankan fungsi Lambda untuk menjalankan fungsi Lambda untuk menjalankan fungsi Lambda untuk
Untuk membuat topik Amazon SNS dan berlangganan fungsi Lambda untuk topik tersebut
Buka konsol Amazon SNS di https://console.aws.amazon.com/sns/v3/home
. -
Buat topik dengan mengikuti langkah-langkah di Panduan Pengembang Layanan Pemberitahuan Sederhana Amazon.
-
Tipe harus Standar (bukan FIFO).
-
-
Berlangganan topik dengan mengikuti langkah-langkah di Panduan Pengembang Layanan Pemberitahuan Sederhana Amazon.
-
Untuk Protocol (Protokol) pilih AWS Lambda.
-
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 batas tertentu. Ketika alarm dipicu, alarm tersebut akan menyampaikan notifikasi ke topik Amazon SNS yang Anda buat di Bagian 4: Buat Topik Amazon SNS dan Langganan, yang kemudian mengeksekusi fungsi Lambda yang Anda buat di Bagian 2: Buat fungsi Lambda.
Untuk membuat CloudWatch alarm
Buka CloudWatch konsol di https://console.aws.amazon.com/cloudwatch/
. -
Gunakan pemilih wilayah untuk memilih wilayah tempat Anda ingin menjeda pengiriman e-mail secara otomatis.
-
Di panel navigasi, pilih Alarm.
-
Pilih Buat Alarm.
-
Pada jendela Buat Alarm, di bawah Metrik SES pilih Metrik akun.
-
Di bawah Nama Metrik, pilih salah satu opsi berikut:
-
Reputasi. BounceRate— Pilih metrik ini jika Anda ingin menjeda pengiriman email untuk akun Anda ketika total rasio pentalan keras untuk akun Anda melewati ambang batas yang ditentukan.
-
Reputasi. ComplaintRate— Pilih metrik ini jika Anda ingin menjeda pengiriman email untuk akun Anda ketika keseluruhan tingkat aduan untuk akun Anda sudah melewati ambang batas yang ditentukan.
Pilih Selanjutnya.
-
-
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 dipicu.
catatan
Akun Anda secara otomatis ditempatkan dalam peninjauan jika tingkat pentalan melebihi 10%, atau jika tingkat aduan Anda melebihi 0,5%. Saat Anda menentukan rasio pentalan atau keluhan yang menyebabkan CloudWatch alarm dipicu, sebaiknya gunakan nilai yang berada di bawah tingkatan ini untuk mencegah akun Anda ditempatkan di bawah 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 Amazon SNS dan Langganan.
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.
-
Pada baris perintah, ketik perintah berikut ini guna memeriksa status pengiriman email untuk akun Anda. Ganti
wilayah
dengan nama tempat Wilayah.aws ses get-account-sending-enabled --region
region
Jika pengiriman diaktifkan untuk akun Anda, Anda dapat melihat output berikut:
{ "Enabled": true }
-
Pada baris perintah, ketik perintah berikut ini untuk mengubah status alarm sementara waktu menjadi
ALARM
: aws cloudwatch set-alarm-state --alarm-nameMyAlarm
--state-value ALARM --state-reason "Testing execution of Lambda function" --regionregion
Ganti
MyAlarm
di perintah sebelumnya dengan nama alarm yang Anda buat diBagian 5: Buat CloudWatch Alarm, dan gantiwilayah dengan Wilayah
di mana Anda ingin menjeda pengiriman email secara otomatis.catatan
Ketika Anda menjalankan perintah ini, status alarm beralih dari
OK
keALARM
dan kembali lagi keOK
dalam beberapa detik. Anda dapat melihat perubahan status ini pada tab Riwayat alarm di CloudWatch konsol, atau dengan menggunakan DescribeAlarmHistoryoperasi. -
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 }
-
Selesaikan langkah-langkah pada Bagian 3: Aktifkan Ulang Pengiriman Email untuk Akun Anda guna mengaktifkan kembali pengiriman email untuk akun Anda.