Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Rantai layanan AWS bersama-sama menggunakan pendekatan tanpa server
Aniket Braganza, Amazon Web Services
Ringkasan
Pola ini menunjukkan pendekatan tanpa server yang dapat diskalakan untuk memproses file yang diunggah dengan menyatukan Amazon Simple Storage Service (Amazon S3), Amazon Simple Notification Service (Amazon SNS), Amazon Simple Queue Service (Amazon Simple Queue Service), Amazon Simple Queue Service (Amazon SQS), dan AWS Lambda. Contoh file yang diunggah adalah untuk tujuan demonstrasi. Anda dapat menggunakan pendekatan tanpa server untuk menyelesaikan tugas lain dengan menggabungkan kombinasi layanan AWS yang diperlukan untuk memenuhi tujuan bisnis Anda. Pendekatan tanpa server menggunakan alur kerja asinkron yang bergantung pada notifikasi berbasis peristiwa, penyimpanan tangguh, dan komputasi fungsi sebagai layanan (FaaS) untuk memproses permintaan. Anda dapat menggunakan pendekatan tanpa server untuk skala untuk memenuhi permintaan sambil meminimalkan biaya.
catatan
Ada beberapa opsi untuk menyatukan layanan AWS melalui pendekatan tanpa server. Misalnya, Anda dapat menggunakan pendekatan yang menggabungkan Lambda dengan Amazon S3 alih-alih Amazon SNS dan Amazon SQS. Namun, pola ini menggunakan Amazon SNS dan Amazon SQS karena pendekatan ini memungkinkan untuk menambahkan beberapa titik integrasi ke dalam proses pemanggilan Lambda selama pemberitahuan acara dan untuk memperluas implementasi untuk menyertakan beberapa pendengar dalam orkestrasi tanpa server sambil meminimalkan jumlah overhead pemrosesan.
Prasyarat dan batasan
Prasyarat
Akun AWS yang aktif
Akses terprogram ke akun AWS. Untuk informasi selengkapnya, lihat:
Prasyarat dalam dokumentasi AWS Cloud Development Kit (AWS CDK)
Prasyarat dalam dokumentasi AWS Command Line Interface (AWS CLI)
Versi produk
AWS CDK 2.x
Python 3.9
Arsitektur
Diagram berikut menggambarkan bagaimana layanan AWS yang dirantai dapat memungkinkan pengguna mengunggah file ke bucket S3 untuk diproses.

Diagram menunjukkan alur kerja berikut:
Pengguna mengunggah file ke bucket S3.
Unggahan memulai acara S3 yang menerbitkan pesan ke topik SNS. Pesan tersebut berisi rincian acara S3.
Pesan yang dipublikasikan ke topik SNS dimasukkan ke dalam antrean SQS, yang berlangganan dan menerima pemberitahuan untuk topik tersebut.
Sebuah fungsi Lambda polling antrian SQS (sebagai sumber acara) dan menunggu pesan untuk diproses.
Ketika fungsi Lambda menerima pesan dari antrian SQS, ia memprosesnya dan mengakui penerimaan pesan tersebut.
Tumpukan teknologi
Amazon S3
Amazon SNS
Amazon SQS
AWS Lambda
Alat
Layanan AWS
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 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.
Alat lainnya
AWS Cloud Development Kit (AWS CDK) adalah alat utama untuk berinteraksi dengan aplikasi AWS CDK Anda. Ini mengeksekusi aplikasi Anda, menginterogasi model aplikasi yang Anda tentukan, dan memproduksi serta menerapkan template AWS yang dihasilkan oleh CloudFormation 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.
Python adalah bahasa
pemrograman tujuan umum tingkat tinggi yang ditafsirkan.
Kode
Kode untuk pola ini tersedia di GitHub Chaining S3 ke SNS ke SQS ke repositori Lambda
Epik
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Kloning repositori. | Kloning repositori | Pengembang aplikasi |
Siapkan lingkungan virtual. |
| Pengembang aplikasi |
Instal dependensi. | Jalankan perintah | Pengembang aplikasi |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Jalankan pengujian unit. |
| Pengembang aplikasi, Insinyur uji |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Siapkan lingkungan bootstrap. | Ikuti petunjuk di Bootstrapping dalam dokumentasi AWS untuk mem-bootstrap lingkungan untuk penerapan AWS CDK di setiap Wilayah AWS tempat tumpukan CloudFormation akan diterapkan. catatanLangkah ini mengharuskan Anda memiliki kredensyal dengan akses terprogram. | Pengembang aplikasi, DevOps insinyur, insinyur data |
Menyebarkan CloudFormation tumpukan. | Jalankan | Pengembang aplikasi, DevOps insinyur, AWS DevOps |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
Hapus CloudFormation tumpukan dan hapus sumber daya terkait. | Untuk menghapus CloudFormation tumpukan yang dibuat dan menghapus semua sumber daya terkait, jalankan perintah | Pengembang aplikasi |