Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Daftarkan beberapa Akun AWS dengan satu alamat email dengan menggunakan Amazon SES
Joe Wozniak dan Shubhangi Vishwakarma, Amazon Web Services
Ringkasan
Pola ini menjelaskan bagaimana Anda dapat memisahkan alamat email asli dari alamat email yang terkait dengan alamat email. Akun AWS Akun AWS memerlukan alamat email unik yang akan diberikan pada saat pembuatan akun. Di beberapa organisasi, tim yang mengelola Akun AWS harus menanggung beban mengelola banyak alamat email unik dengan tim pesan mereka. Ini bisa sulit bagi organisasi besar yang mengelola banyak orang Akun AWS. Selain itu, jika sistem email Anda tidak mengizinkan pengalamatan plus atau sub-alamat seperti yang didefinisikan dalam Penyaringan Email Saringan: Ekstensi Subaddress (RFC 5233)admin+123456789123@example.com
Pola ini memberikan solusi penjual alamat email unik yang memungkinkan Akun AWS pemilik untuk mengaitkan satu alamat email dengan beberapa Akun AWS alamat. Alamat email sebenarnya dari Akun AWS pemilik kemudian dikaitkan dengan alamat email yang dihasilkan ini dalam sebuah tabel. Solusi ini menangani semua email masuk untuk akun email unik, mencari pemilik setiap akun, dan kemudian meneruskan pesan yang diterima ke pemilik.
Prasyarat dan batasan
Prasyarat
Akses administratif ke sebuah Akun AWS.
Akses ke lingkungan pengembangan.
(Opsional) Keakraban dengan AWS Cloud Development Kit (AWS CDK) alur kerja dan bahasa pemrograman Python akan membantu Anda memecahkan masalah atau membuat modifikasi.
Batasan
Panjang alamat email yang dijual secara keseluruhan 64 karakter. Untuk detailnya, lihat CreateAccountdi referensi AWS Organizations API.
Versi produk
Node.js versi 22.x atau yang lebih baru
Python 3.13 atau yang lebih baru
Paket Python pip dan virtualenv
AWS CDK CLI versi 2.1019.2 atau yang lebih baru
Docker 20.10.x atau yang lebih baru
Arsitektur
Tumpukan teknologi target
AWS CloudFormation tumpukan
AWS Lambda fungsi
Aturan dan aturan Amazon Simple Email Service (Amazon SES) dan aturan
AWS Identity and Access Management (IAM) peran dan kebijakan
Kebijakan bucket dan bucket Amazon Simple Storage Service (Amazon S3)
AWS Key Management Service (AWS KMS) kebijakan kunci dan kunci
Kebijakan topik dan topik Amazon Simple Notification Service (Amazon SNS)
Tabel Amazon DynamoDB
Arsitektur target

Diagram ini menunjukkan dua aliran:
Alur penjual alamat email: Dalam diagram, alur penjual alamat email (bagian bawah) biasanya dimulai dengan solusi penjual akun atau otomatisasi luar, atau dipanggil secara manual. Dalam permintaan, fungsi Lambda dipanggil dengan payload yang berisi metadata yang dibutuhkan. Fungsi ini menggunakan informasi ini untuk menghasilkan nama akun dan alamat email yang unik, menyimpannya dalam database DynamoDB, dan mengembalikan nilai ke pemanggil. Nilai-nilai ini kemudian dapat digunakan untuk membuat baru Akun AWS (biasanya dengan menggunakan AWS Organizations).
Alur penerusan email: Alur ini diilustrasikan di bagian atas diagram sebelumnya. Ketika Akun AWS dibuat dengan menggunakan email akun yang dihasilkan dari alur penjual alamat email, AWS mengirim berbagai email, seperti konfirmasi pendaftaran akun dan pemberitahuan berkala, ke alamat email tersebut. Dengan mengikuti langkah-langkah dalam pola ini, Anda mengonfigurasi Anda Akun AWS dengan Amazon SES untuk menerima email untuk seluruh domain. Solusi ini mengonfigurasi aturan penerusan yang memungkinkan Lambda memproses semua email yang masuk, periksa untuk melihat apakah alamatnya
TO
ada di tabel DynamoDB, dan meneruskan pesan ke alamat email pemilik akun. Menggunakan proses ini memberi pemilik akun kemampuan untuk mengaitkan beberapa akun dengan satu alamat email.
Otomatisasi dan skala
Pola ini menggunakan AWS CDK untuk sepenuhnya mengotomatiskan penerapan. Solusinya menggunakan layanan AWS terkelola yang akan (atau dapat dikonfigurasi untuk) menskalakan secara otomatis untuk memenuhi kebutuhan Anda. Fungsi Lambda mungkin memerlukan konfigurasi tambahan untuk memenuhi kebutuhan penskalaan Anda. Untuk informasi selengkapnya, lihat Memahami penskalaan fungsi Lambda dalam dokumentasi Lambda.
Alat
Layanan AWS
AWS CloudFormationmembantu Anda menyiapkan AWS sumber daya, menyediakannya dengan cepat dan konsisten, dan mengelolanya sepanjang siklus hidupnya di seluruh Akun AWS dan Wilayah.
AWS Command Line Interface (AWS CLI) adalah alat sumber terbuka yang membantu Anda berinteraksi dengan layanan AWS melalui perintah di shell baris perintah Anda.
Amazon DynamoDB adalah layanan database NoSQL yang dikelola sepenuhnya yang menyediakan kinerja yang cepat, dapat diprediksi, dan terukur.
AWS Identity and Access Management (IAM) membantu Anda mengelola akses ke AWS sumber daya dengan aman dengan mengontrol siapa yang diautentikasi dan diberi wewenang untuk menggunakannya.
AWS Key Management Service (AWS KMS) membantu Anda membuat dan mengontrol kunci kriptografi untuk membantu melindungi data Anda.
AWS Lambdaadalah layanan komputasi yang membantu Anda menjalankan kode tanpa perlu menyediakan atau mengelola server. Ini menjalankan kode Anda hanya bila diperlukan dan skala secara otomatis, jadi Anda hanya membayar untuk waktu komputasi yang Anda gunakan.
Amazon Simple Email Service (Amazon SES) membantu Anda mengirim dan menerima email dengan menggunakan alamat email dan domain Anda sendiri.
Amazon Simple Notification Service (Amazon SNS) membantu Anda mengoordinasikan dan mengelola pertukaran pesan antara penayang dan klien, termasuk server web dan alamat email.
Amazon Simple Storage Service (Amazon S3) adalah layanan penyimpanan objek berbasis cloud yang membantu Anda menyimpan, melindungi, dan mengambil sejumlah data.
Alat yang dibutuhkan untuk penyebaran
Lingkungan pengembangan dengan AWS CLI dan akses IAM ke Anda Akun AWS. Untuk detailnya, lihat tautan di bagian Sumber daya terkait.
Pada sistem pengembangan Anda, instal yang berikut ini:
Alat baris perintah Git, tersedia dari situs unduhan Git
. AWS CLI Untuk mengkonfigurasi kredenal akses untuk file. AWS CDK Lihat informasi yang lebih lengkap dalam dokumentasi AWS CLI.
Python versi 3.13 atau yang lebih baru, tersedia dari situs web unduhan Python.
UV untuk manajemen paket Python. Untuk petunjuk pemasangan, lihat panduan pemasangan UV
. Node.js versi 22.x atau yang lebih baru. Untuk petunjuk penginstalan, lihat dokumentasi Node.js
. AWS CDK CLI versi 2.1019.2 atau yang lebih baru. Untuk petunjuk instalasi, lihat AWS CDK dokumentasi.
Docker versi 20.10.x atau yang lebih baru. Untuk petunjuk penginstalan, lihat dokumentasi Docker
.
Kode
Kode untuk pola ini tersedia di repositori email GitHub Akun AWS pabrik
Epik
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Identifikasi atau buat Akun AWS. | Identifikasi yang sudah ada atau baru Akun AWS di mana Anda memiliki akses administratif penuh, untuk menyebarkan solusi email. | Administrator AWS, Administrator cloud |
Siapkan lingkungan penerapan. | Konfigurasikan lingkungan penerapan yang mudah digunakan dan atur dependensi dengan mengikuti langkah-langkah berikut:
| AWS DevOps, Pengembang aplikasi |
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Mengidentifikasi dan mengalokasikan domain. | Fungsionalitas penerusan email membutuhkan domain khusus. Identifikasi dan alokasikan domain atau subdomain yang dapat Anda verifikasi dengan Amazon SES. Domain ini harus tersedia untuk menerima email masuk di Akun AWS tempat solusi penerusan email digunakan. Persyaratan domain:
| Administrator cloud, Administrator jaringan, administrator DNS |
Verifikasi domain. | Verifikasi bahwa domain yang diidentifikasi dapat digunakan untuk menerima email masuk. Lengkapi petunjuk di Memverifikasi domain Anda untuk penerimaan email Amazon SES di dokumentasi Amazon SES. Ini akan membutuhkan koordinasi dengan orang atau tim yang bertanggung jawab atas catatan DNS domain. | Pengembang aplikasi, AWS DevOps |
Siapkan catatan MX. | Siapkan domain Anda dengan data MX yang mengarah ke titik akhir Amazon SES di Wilayah Akun AWS dan Anda. Untuk informasi selengkapnya, lihat Menerbitkan data MX untuk penerimaan email Amazon SES di dokumentasi Amazon SES. | Administrator cloud, Administrator jaringan, administrator DNS |
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Ubah nilai default di | Edit beberapa nilai default dalam
| Pengembang aplikasi, AWS DevOps |
Menyebarkan solusi penjual dan penerusan email. |
| Pengembang aplikasi, AWS DevOps |
Verifikasi bahwa solusi telah diterapkan. | Verifikasi bahwa solusi berhasil diterapkan sebelum Anda mulai menguji:
| Pengembang aplikasi, AWS DevOps |
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Verifikasi bahwa API berfungsi. | Pada langkah ini, Anda mengirimkan data pengujian ke API solusi dan mengonfirmasi bahwa solusi menghasilkan output yang diharapkan dan operasi backend telah dilakukan seperti yang diharapkan. Jalankan fungsi Vend Email Lambda secara manual dengan menggunakan input pengujian. (Sebagai contoh, lihat file sample_vend_request.json | Pengembang aplikasi, AWS DevOps |
Verifikasi bahwa email sedang diteruskan. | Pada langkah ini, Anda mengirim email pengujian melalui sistem dan memverifikasi bahwa email diteruskan ke penerima yang diharapkan.
| Pengembang aplikasi, AWS DevOps |
Pemecahan Masalah
Isu | Solusi |
---|---|
Sistem tidak meneruskan email seperti yang diharapkan. | Verifikasi bahwa pengaturan Anda sudah benar:
Setelah memverifikasi pengaturan domain, ikuti langkah-langkah berikut:
|
Saat Anda mencoba menerapkan AWS CDK tumpukan, Anda menerima kesalahan yang mirip dengan: “Kesalahan format templat: Jenis sumber daya yang tidak dikenal” | Dalam kebanyakan kasus, pesan kesalahan ini berarti bahwa Wilayah yang Anda targetkan tidak memiliki semua layanan AWS yang tersedia. Jika Anda menggunakan EC2 instans Amazon untuk menerapkan solusi, Anda mungkin menargetkan Wilayah yang berbeda dari Wilayah tempat instance berjalan. catatanSecara default, AWS CDK penyebaran ke Wilayah dan akun yang Anda konfigurasikan di. AWS CLI Solusi yang mungkin:
|
Saat Anda menerapkan solusi, Anda menerima pesan galat: “Penerapan gagal: Kesalahan:: Parameter SSM bootstrap/hnb659fds/version /cdk- tidak ditemukan. AwsMailFwdStack Apakah lingkungan telah di-bootstrap? Silakan jalankan 'cdk bootstrap'” | Jika Anda belum pernah menerapkan AWS CDK sumber daya apa pun ke Akun AWS dan Wilayah yang Anda targetkan, Anda harus terlebih dahulu menjalankan Untuk mengatasi masalah ini, atur variabel |
Sumber daya terkait
Untuk bantuan menginstal AWS CLI, lihat Menginstal atau memperbarui ke versi terbaru AWS CLI.
Untuk bantuan menyiapkan kredensil akses IAM AWS CLI dengan IAM, lihat Mengonfigurasi setelan untuk. AWS CLI
Untuk bantuan dengan AWS CDK, lihat Memulai dengan AWS CDK.
Informasi tambahan
Biaya
Ketika Anda menerapkan solusi ini, Akun AWS pemegang mungkin dikenakan biaya yang terkait dengan penggunaan layanan berikut. Penting bagi Anda untuk memahami bagaimana layanan ini ditagih sehingga Anda mengetahui adanya potensi biaya. Untuk informasi harga, lihat halaman berikut: