Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Orientasi penyewa dalam arsitektur SaaS untuk model silo menggunakan C# dan AWS CDK
Tabby Ward, Susmitha Reddy Gankidi, dan Vijai Anand Ramalingam, Amazon Web Services
Ringkasan
Aplikasi perangkat lunak sebagai layanan (SaaS) dapat dibangun dengan berbagai model arsitektur yang berbeda. Model silo mengacu pada arsitektur di mana penyewa disediakan sumber daya khusus.
Aplikasi SaaS mengandalkan model tanpa gesekan untuk memperkenalkan penyewa baru ke lingkungan mereka. Ini sering membutuhkan orkestrasi sejumlah komponen untuk berhasil menyediakan dan mengkonfigurasi semua elemen yang diperlukan untuk membuat penyewa baru. Proses ini, dalam arsitektur SaaS, disebut sebagai penyewa on-boarding. On-boarding harus sepenuhnya otomatis untuk setiap lingkungan SaaS dengan memanfaatkan infrastruktur sebagai kode dalam proses on-boarding Anda.
Pola ini memandu Anda melalui contoh pembuatan penyewa dan penyediaan infrastruktur dasar untuk penyewa di Amazon Web Services (AWS). Pola ini menggunakan C# dan AWS Cloud Development Kit (AWS CDK).
Karena pola ini menciptakan alarm penagihan, sebaiknya gunakan tumpukan di US East (Virginia N.), atau us-east-1, Wilayah AWS. Untuk informasi selengkapnya, lihat dokumentasi AWS.
Prasyarat dan batasan
Prasyarat
Akun AWS
yang aktif. Prinsipal AWS Identity and Access Management (IAM) dengan akses IAM yang memadai untuk membuat sumber daya AWS untuk pola ini. Untuk informasi selengkapnya, lihat peran IAM.
Instal Amazon Command Line Interface (AWS CLI) dan konfigurasikan AWS CLI untuk melakukan penerapan AWS CDK.
Visual Studio 2022
diunduh dan diinstal atau Visual Studio Code diunduh dan diinstal. .NET Core 3.1 atau yang lebih baru
(diperlukan untuk aplikasi CDK C# AWS)
Keterbatasan
AWS CDK menggunakan AWS CloudFormation
, sehingga aplikasi AWS CDK tunduk pada kuota CloudFormation layanan. Untuk informasi selengkapnya, lihat CloudFormation kuota AWS. CloudFormation Tumpukan penyewa dibuat dengan peran CloudFormation
infra-cloudformation-rolelayanan dengan karakter wildcard pada tindakan (sns* dansqs*) tetapi dengan sumber daya yang dikunci ke awalan.tenant-clusterUntuk kasus penggunaan produksi, evaluasi pengaturan ini dan berikan hanya akses yang diperlukan ke peran layanan ini. FungsiInfrastructureProvisionLambda juga menggunakan karakter wildcard (cloudformation*) untuk menyediakan CloudFormation tumpukan tetapi dengan sumber daya yang dikunci ke awalan.tenant-clusterContoh docker build kode ini digunakan
--platform=linux/amd64untuk memaksa gambarlinux/amd64berbasis. Ini untuk memastikan bahwa artefak gambar akhir akan cocok untuk Lambda, yang secara default menggunakan arsitektur x86-64. Jika Anda perlu mengubah arsitektur Lambda target, pastikan untuk mengubah kode Dockerfiles dan AWS CDK. Untuk informasi selengkapnya, lihat posting blog Memigrasi fungsi AWS Lambda ke prosesor AWS Graviton2 berbasis ARM. Proses penghapusan tumpukan tidak akan membersihkan CloudWatch Log (grup log dan log) yang dihasilkan oleh tumpukan. Anda harus membersihkan log secara manual melalui konsol AWS Management CloudWatch Console Amazon atau melalui API.
Pola ini diatur sebagai contoh. Untuk penggunaan produksi, evaluasi pengaturan berikut dan buat perubahan berdasarkan kebutuhan bisnis Anda:
Bucket AWS Simple Storage Service (Amazon S3
) dalam contoh ini tidak mengaktifkan versi untuk kesederhanaan. Evaluasi dan perbarui pengaturan sesuai kebutuhan. Contoh ini menyiapkan titik akhir Amazon API Gateway
REST API tanpa autentikasi, otorisasi, atau pembatasan untuk kesederhanaan. Untuk penggunaan produksi, kami merekomendasikan mengintegrasikan sistem dengan infrastruktur keamanan bisnis. Evaluasi pengaturan ini dan tambahkan pengaturan keamanan yang diperlukan sesuai kebutuhan. Untuk contoh infrastruktur penyewa ini, Amazon Simple Notification Service (Amazon SNS) dan Amazon
Simple Queue Service (Amazon SQS) hanya memiliki pengaturan minimum . AWS Key Management Service (AWS KMS) untuk setiap penyewa terbuka untuk layanan Amazon dan Amazon CloudWatch SNS di akun untuk dikonsumsi berdasarkan kebijakan kunci AWS KMS. Pengaturan hanya contoh placeholder. Sesuaikan pengaturan sesuai kebutuhan berdasarkan kasus penggunaan bisnis Anda. Seluruh penyiapan, yang mencakup tetapi tidak terbatas pada titik akhir API dan penyediaan dan penghapusan penyewa backend dengan menggunakan AWS CloudFormation, hanya mencakup kasus happy path dasar. Evaluasi dan perbarui pengaturan dengan logika coba lagi yang diperlukan, logika penanganan kesalahan tambahan, dan logika keamanan berdasarkan kebutuhan bisnis Anda.
Kode contoh diuji dengan up-to-date cdk-nag
untuk memeriksa kebijakan pada saat penulisan ini. Kebijakan baru mungkin ditegakkan di masa depan. Kebijakan baru ini mungkin mengharuskan Anda untuk memodifikasi tumpukan secara manual berdasarkan rekomendasi sebelum tumpukan dapat diterapkan. Tinjau kode yang ada untuk memastikan bahwa itu selaras dengan kebutuhan bisnis Anda. Kode bergantung pada AWS CDK untuk menghasilkan akhiran acak alih-alih mengandalkan nama fisik statis yang ditetapkan untuk sebagian besar sumber daya yang dibuat. Pengaturan ini untuk memastikan bahwa sumber daya ini unik dan tidak bertentangan dengan tumpukan lain. Untuk informasi selengkapnya, lihat dokumentasi AWS CDK. Sesuaikan ini berdasarkan kebutuhan bisnis Anda.
Contoh kode ini mengemas artefak .NET Lambda ke dalam gambar berbasis Docker dan berjalan dengan runtime image Container yang disediakan Lambda. Runtime image container memiliki keunggulan untuk mekanisme transfer dan penyimpanan standar (pendaftar kontainer) dan lingkungan pengujian lokal yang lebih akurat (melalui image container). Anda dapat mengganti proyek untuk menggunakan runtime .NET yang disediakan Lambda untuk mengurangi waktu pembuatan gambar Docker, tetapi Anda kemudian perlu mengatur mekanisme transfer dan penyimpanan dan memastikan bahwa pengaturan lokal cocok dengan pengaturan Lambda. Sesuaikan kode agar selaras dengan persyaratan bisnis pengguna.
Versi produk
AWS CDK versi 2.45.0 atau yang lebih baru
Studio Visual 2022
Arsitektur
Tumpukan teknologi
Amazon API Gateway
AWS CloudFormation
Amazon CloudWatch
Amazon DynamoDB
AWS Identity and Access Management (IAM)
AWS KMS
AWS Lambda
Amazon S3
Amazon SNS
Amazon SQS
Arsitektur
Diagram berikut menunjukkan aliran pembuatan tumpukan penyewa. Untuk informasi selengkapnya tentang tumpukan teknologi pesawat kontrol dan penyewa, lihat bagian Informasi tambahan.

Aliran pembuatan tumpukan penyewa
Pengguna mengirimkan permintaan POST API dengan payload penyewa baru (nama penyewa, deskripsi penyewa) di JSON ke REST API yang dihosting oleh Amazon API Gateway. API Gateway memproses permintaan dan meneruskannya ke fungsi backend Lambda Tenant On-boarding. Dalam contoh ini, tidak ada otorisasi atau otentikasi. Dalam pengaturan produksi, API ini harus diintegrasikan dengan sistem keamanan infrastruktur SaaS.
Fungsi Tenant On-boarding memverifikasi permintaan. Kemudian mencoba untuk menyimpan catatan penyewa, yang mencakup nama penyewa, pengidentifikasi unik universal penyewa (UUID) yang dihasilkan, dan deskripsi penyewa, ke dalam tabel On-boarding Amazon DynamoDB Tenant.
Setelah DynamoDB menyimpan catatan, aliran DynamoDB memulai fungsi Infrastruktur Penyewa Lambda hilir.
Fungsi Lambda Infrastruktur Penyewa bertindak berdasarkan aliran DynamoDB yang diterima. Jika aliran untuk acara INSERT, fungsi menggunakan NewImage bagian aliran (catatan pembaruan terbaru, bidang Nama Penyewa) untuk memanggil CloudFormation untuk membuat infrastruktur penyewa baru menggunakan templat yang disimpan di bucket S3. CloudFormation Template membutuhkan parameter Nama Penyewa.
AWS CloudFormation membuat infrastruktur penyewa berdasarkan CloudFormation template dan parameter input.
Setiap pengaturan infrastruktur penyewa memiliki CloudWatch alarm, alarm penagihan, dan acara alarm.
Acara alarm menjadi pesan ke topik SNS, yang dienkripsi oleh kunci AWS KMS penyewa.
Topik SNS meneruskan pesan alarm yang diterima ke antrean SQS, yang dienkripsi oleh AWS KMS penyewa untuk kunci enkripsi.
Sistem lain dapat diintegrasikan dengan Amazon SQS untuk melakukan tindakan berdasarkan pesan dalam antrian. Dalam contoh ini, untuk menjaga kode generik, pesan masuk tetap dalam antrian dan memerlukan penghapusan manual.
Aliran penghapusan tumpukan penyewa
Pengguna mengirimkan permintaan DELETE API dengan payload penyewa baru (nama penyewa, deskripsi penyewa) di JSON ke REST API yang dihosting oleh Amazon API Gateway, yang akan memproses permintaan dan meneruskan ke fungsi Tenant On-boarding. Dalam contoh ini, tidak ada otorisasi atau otentikasi. Dalam pengaturan produksi, API ini akan diintegrasikan dengan sistem keamanan infrastruktur SaaS.
Fungsi Tenant On-Boarding akan memverifikasi permintaan dan kemudian mencoba menghapus catatan penyewa (nama penyewa) dari meja On-Boarding Penyewa.
Setelah DynamoDB berhasil menghapus catatan (catatan ada di tabel dan dihapus), aliran DynamoDB memulai fungsi Infrastruktur Penyewa Lambda hilir.
Fungsi Lambda Infrastruktur Penyewa bertindak berdasarkan catatan aliran DynamoDB yang diterima. Jika aliran untuk acara REMOVE, fungsi menggunakan OldImage bagian rekaman (informasi rekaman dan bidang Nama Penyewa, sebelum perubahan terbaru, yang dihapus) untuk memulai penghapusan tumpukan yang ada berdasarkan informasi rekaman tersebut.
AWS CloudFormation menghapus tumpukan penyewa target sesuai dengan input.
Alat
Layanan AWS
Amazon API Gateway membantu Anda membuat, menerbitkan, memelihara, memantau, dan mengamankan REST, HTTP, dan WebSocket APIs dalam skala apa pun.
AWS Cloud Development Kit (AWS CDK) adalah kerangka kerja pengembangan perangkat lunak yang membantu Anda menentukan dan menyediakan infrastruktur AWS Cloud dalam kode.
AWS CDK Toolkit adalah kit pengembangan cloud baris perintah yang membantu Anda berinteraksi dengan aplikasi AWS Cloud Development Kit (AWS CDK).
AWS Command Line Interface (AWS CLI) adalah alat sumber terbuka yang membantu Anda berinteraksi dengan layanan AWS melalui perintah di shell baris perintah Anda.
AWS CloudFormation membantu Anda menyiapkan sumber daya AWS, menyediakannya dengan cepat dan konsisten, serta mengelolanya sepanjang siklus hidupnya di seluruh akun dan Wilayah AWS.
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 sumber daya AWS 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 Lambda adalah 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 Storage Service (Amazon S3) adalah layanan penyimpanan objek berbasis cloud yang membantu Anda menyimpan, melindungi, dan mengambil sejumlah data.
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 Queue Service (Amazon Simple Queue Service) menyediakan antrian host yang aman, tahan lama, dan tersedia yang membantu Anda mengintegrasikan dan memisahkan sistem dan komponen perangkat lunak terdistribusi.
AWS Toolkit for Visual Studio adalah plugin untuk lingkungan pengembangan terintegrasi Visual Studio (IDE). Toolkit for Visual Studio mendukung pengembangan, debugging, dan penerapan aplikasi.NET yang menggunakan layanan AWS.
Alat-alat lainnya
Visual Studio
adalah IDE yang mencakup kompiler, alat penyelesaian kode, desainer grafis, dan fitur lain yang mendukung pengembangan perangkat lunak.
Kode
Kode untuk pola ini ada di orientasi Tenant di SaaS Architecture for Silo Model APG Example
Epik
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Verifikasi instalasi Node.js. | Untuk memverifikasi bahwa Node.js diinstal pada mesin lokal Anda, jalankan perintah berikut.
| Administrator AWS, AWS DevOps |
Instal AWS CDK Toolkit. | Untuk menginstal AWS CDK Toolkit di komputer lokal Anda, jalankan perintah berikut.
Jika npm tidak diinstal, Anda dapat menginstalnya dari situs Node.js | Administrator AWS, AWS DevOps |
Verifikasi versi AWS CDK Toolkit. | Untuk memverifikasi bahwa versi AWS CDK Toolkit diinstal dengan benar di mesin Anda, jalankan perintah berikut.
| Administrator AWS, AWS DevOps |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Kloning repositori. | Kloning repositori Di Visual Studio 2022, buka Sumber daya berikut dibuat sebagai bagian dari tumpukan ini:
| Administrator AWS, AWS DevOps |
Tinjau CloudFormation template. | Di Template menyediakan infrastruktur khusus penyewa. Dalam contoh ini, ia menyediakan kunci AWS KMS, Amazon SNS, Amazon SQS, dan alarm. CloudWatch | Pengembang aplikasi, AWS DevOps |
Tinjau fungsi orientasi penyewa. | Buka Buka Perhatikan bahwa NuGet paket-paket berikut ditambahkan sebagai dependensi ke proyek:
| Pengembang aplikasi, AWS DevOps |
Tinjau InfraProvisioning fungsi Penyewa. | Navigasi ke Buka Buka Perhatikan bahwa NuGet paket-paket berikut ditambahkan sebagai dependensi ke proyek:
| Pengembang aplikasi, AWS DevOps |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Bangun solusinya. | Untuk membangun solusi, lakukan langkah-langkah berikut:
catatanPastikan Anda memperbarui | Pengembang aplikasi |
Bootstrap lingkungan AWS CDK. | Buka prompt perintah Windows dan arahkan ke folder root aplikasi AWS CDK tempat
Jika Anda telah membuat profil AWS untuk kredensialnya, gunakan perintah dengan profil Anda.
| Administrator AWS, AWS DevOps |
Buat daftar tumpukan AWS CDK. | Untuk daftar semua tumpukan yang akan dibuat sebagai bagian dari proyek ini, jalankan perintah berikut.
Jika Anda telah membuat profil AWS untuk kredensialnya, gunakan perintah dengan profil Anda.
| Administrator AWS, AWS DevOps |
Tinjau sumber daya AWS mana yang akan dibuat. | Untuk meninjau semua sumber daya AWS yang akan dibuat sebagai bagian dari proyek ini, jalankan perintah berikut.
Jika Anda telah membuat profil AWS untuk kredensialnya, gunakan perintah dengan profil Anda.
| Administrator AWS, AWS DevOps |
Terapkan semua sumber daya AWS dengan menggunakan AWS CDK. | Untuk menerapkan semua sumber daya AWS, jalankan perintah berikut.
Jika Anda telah membuat profil AWS untuk kredensialnya, gunakan perintah dengan profil Anda.
Setelah penerapan selesai, salin URL API dari bagian output di prompt perintah, yang ditampilkan dalam contoh berikut.
| Administrator AWS, AWS DevOps |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Buat penyewa baru. | Untuk membuat penyewa baru, kirim permintaan curl berikut.
Ubah pemegang tempat
Contoh berikut menunjukkan output.
| Pengembang aplikasi, administrator AWS, AWS DevOps |
Verifikasi detail penyewa yang baru dibuat di DynamoDB. | Untuk memverifikasi detail penyewa yang baru dibuat di DynamoDB, lakukan langkah-langkah berikut.
| Pengembang aplikasi, administrator AWS, AWS DevOps |
Verifikasi pembuatan tumpukan untuk penyewa baru. | Verifikasi bahwa tumpukan baru berhasil dibuat dan disediakan dengan infrastruktur untuk penyewa yang baru dibuat sesuai dengan template. CloudFormation
| Pengembang aplikasi, administrator AWS, AWS DevOps |
Hapus tumpukan penyewa. | Untuk menghapus tumpukan penyewa, kirim permintaan curl berikut.
Ubah pemegang tempat
Contoh berikut menunjukkan output.
| Pengembang aplikasi, AWS DevOps, administrator AWS |
Verifikasi penghapusan tumpukan untuk penyewa yang ada. | Untuk memverifikasi bahwa tumpukan penyewa yang ada telah dihapus, lakukan langkah-langkah berikut:
| Pengembang aplikasi, administrator AWS, AWS DevOps |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Hancurkan lingkungan. | Sebelum tumpukan dibersihkan, pastikan hal berikut:
Setelah pengujian selesai, AWS CDK dapat digunakan untuk menghancurkan semua tumpukan dan sumber daya terkait dengan menjalankan perintah berikut.
Jika Anda membuat profil AWS untuk kredensialnya, gunakan profil tersebut. Konfirmasikan prompt penghapusan tumpukan untuk menghapus tumpukan. | Administrator AWS, AWS DevOps |
Bersihkan CloudWatch Log Amazon. | Proses penghapusan tumpukan tidak akan membersihkan CloudWatch Log (grup log dan log) yang dihasilkan oleh tumpukan. Bersihkan CloudWatch sumber daya secara manual dengan menggunakan CloudWatch konsol atau API. | Pengembang aplikasi, AWS DevOps, administrator AWS |
Sumber daya terkait
Informasi tambahan
Tumpukan teknologi bidang kontrol
Kode CDK yang ditulis dalam.NET digunakan untuk menyediakan infrastruktur bidang kontrol, yang terdiri dari sumber daya berikut:
API Gateway
Berfungsi sebagai titik masuk REST API untuk tumpukan bidang kontrol.
Fungsi Lambda on-boarding penyewa
Fungsi Lambda ini diprakarsai oleh API Gateway menggunakan metode m.
Permintaan API metode POST menghasilkan (
tenant name,tenant description) yang dimasukkan ke dalam tabel DynamoDBTenant Onboarding.Dalam contoh kode ini, nama penyewa juga digunakan sebagai bagian dari nama tumpukan penyewa dan nama sumber daya dalam tumpukan itu. Ini untuk membuat sumber daya ini lebih mudah diidentifikasi. Nama penyewa ini harus unik di seluruh pengaturan untuk menghindari konflik atau kesalahan. Pengaturan validasi masukan terperinci dijelaskan dalam dokumentasi peran IAM dan bagian Batasan.
Proses persistensi ke tabel DynamoDB akan berhasil hanya jika nama penyewa tidak digunakan dalam catatan lain dalam tabel.
Nama penyewa dalam hal ini adalah kunci partisi untuk tabel ini, karena hanya kunci partisi yang dapat digunakan sebagai ekspresi
PutItemkondisi.Jika nama penyewa tidak pernah direkam sebelumnya, catatan akan berhasil disimpan ke dalam tabel.
Namun, jika nama penyewa sudah digunakan oleh catatan yang ada dalam tabel, operasi akan gagal dan memulai pengecualian DynamoDB.
ConditionalCheckFailedExceptionPengecualian akan digunakan untuk mengembalikan pesan kegagalan (HTTP BadRequest) yang menunjukkan bahwa nama penyewa sudah ada.Permintaan
DELETEmetode API akan menghapus catatan untuk nama penyewa tertentu dari tabelTenant Onboarding.Penghapusan catatan DynamoDB dalam contoh ini akan berhasil bahkan jika catatan tidak ada.
Jika catatan target ada dan dihapus, itu akan membuat catatan aliran DynamoDB. Jika tidak, tidak ada catatan hilir yang akan dibuat.
Penyewa on-boarding DynamoDB, dengan Amazon DynamoDB Streams diaktifkan
Ini mencatat informasi metadata penyewa, dan penyimpanan atau penghapusan catatan apa pun akan mengirim aliran hilir ke fungsi Lambda.
Tenant InfrastructureInfrastruktur penyewa fungsi Lambda
Fungsi Lambda ini diprakarsai oleh catatan aliran DynamoDB dari langkah sebelumnya. Jika record adalah untuk suatu
INSERTperistiwa, ia memanggil AWS CloudFormation untuk membuat infrastruktur penyewa baru dengan CloudFormation template yang disimpan dalam bucket S3. Jika catatan untukREMOVE, itu memulai penghapusan tumpukan yang ada berdasarkan bidang rekaman aliran.Tenant NameEmber S3
Ini untuk menyimpan CloudFormation template.
Peran IAM untuk setiap fungsi Lambda dan peran layanan untuk CloudFormation
Setiap fungsi Lambda memiliki peran IAM yang unik dengan izin hak istimewa paling sedikit untuk mencapai tugasnya. Misalnya, fungsi
Tenant On-boardingLambda memiliki read/write akses ke DynamoDB, dan fungsiTenant InfrastructureLambda hanya dapat membaca aliran DynamoDB.Peran CloudFormation layanan khusus dibuat untuk penyediaan tumpukan penyewa. Peran layanan ini berisi izin tambahan untuk penyediaan CloudFormation tumpukan (misalnya, kunci AWS KMS). Ini membagi peran antara Lambda CloudFormation dan untuk menghindari semua izin pada satu peran (peran Lambda Infrastruktur).
Izin yang memungkinkan tindakan kuat (seperti membuat dan menghapus CloudFormation tumpukan) dikunci dan hanya diizinkan pada sumber daya yang dimulai.
tenantcluster-Pengecualiannya adalah AWS KMS, karena konvensi penamaan sumber dayanya. Nama penyewa yang dicerna dari API akan ditambahkantenantcluster-bersama dengan pemeriksaan validasi lainnya (alfanumerik dengan tanda hubung saja, dan dibatasi hingga kurang dari 30 karakter agar sesuai dengan sebagian besar penamaan sumber daya AWS). Ini memastikan bahwa nama penyewa tidak akan secara tidak sengaja mengakibatkan gangguan tumpukan infrastruktur inti atau sumber daya.
Tumpukan teknologi penyewa
CloudFormation Template disimpan dalam ember S3. Template menyediakan kunci AWS KMS khusus penyewa, CloudWatch alarm, topik SNS, antrian SQS, dan kebijakan SQS.
Kunci AWS KMS digunakan untuk enkripsi data oleh Amazon SNS dan Amazon SQS untuk pesan mereka. Praktik keamanan untuk AwsSolutions- SNS2 dan AwsSolutions - SQS2
Kebijakan SQS digunakan pada antrean Amazon SQS untuk memungkinkan topik SNS yang dibuat mengirimkan pesan ke antrian. Tanpa kebijakan SQS, akses akan ditolak. Untuk informasi selengkapnya, lihat dokumentasi Amazon SNS.