Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Koordinasikan ketergantungan sumber daya dan eksekusi tugas dengan menggunakan konstruksi AWS Fargate WaitCondition kait
Penggemar Stan, Amazon Web Services
Ringkasan
Pola ini menjelaskan paket WaitCondition hook (waitcondition-hook-for-aws-fargate-task
) npm, yang merupakan solusi cloud-native yang dirancang untuk mengatur AWS Fargatetugas di kluster Amazon Elastic Container Service (Amazon ECS).
WaitCondition Hook adalah AWS Cloud Development Kit (AWS CDK) konstruksi yang secara khusus dirancang untuk integrasi dengan. AWS CloudFormation WaitCondition Kait menyediakan kemampuan kunci berikut:
Bertindak sebagai mekanisme kondisi tunggu, menjeda eksekusi CloudFormation tumpukan hingga tugas Fargate tertentu selesai, yang membantu penerapan dan penyediaan sumber daya yang teratur.
Mendukung TypeScript dan Python, membuatnya ideal untuk AWS CDK proyek.
Memungkinkan pengembang dan arsitek untuk mengatur penerapan dengan mengoordinasikan penyelesaian tugas dan manajemen sumber daya untuk aplikasi kontainer. AWS
Memungkinkan menjalankan tugas Fargate dengan satu atau beberapa kontainer yang disematkan dalam CloudFormation siklus hidup. dan dapat menangani kegagalan tugas dan memutar kembali tumpukan setelah kegagalan tugas. CloudFormation
Memberikan fleksibilitas untuk menambahkan dependensi antara sumber daya dan hasil eksekusi tugas Fargate, memungkinkan tugas khusus atau memanggil titik akhir lainnya. Misalnya, Anda dapat menjeda CloudFormation tumpukan dan menunggu migrasi database (dilakukan oleh tugas Fargate) dan menyediakan sumber daya lain yang mungkin bergantung pada keberhasilan migrasi database.
Prasyarat dan batasan
Prasyarat
Aktif Akun AWS.
AWS Cloud Development Kit (AWS CDK) Command Line Interface (CLI) diinstal pada workstation lokal. Untuk informasi lebih lanjut, lihat referensi AWS CDK CLI dalam dokumentasi. AWS CDK
Node package manager (npm), diinstal pada workstation lokal dan dikonfigurasi untuk in.AWS CDK TypeScript Untuk informasi selengkapnya, lihat Downloading and installing Node.js and npm
dalam dokumentasi npm. Benang dipasang di workstation lokal. Untuk informasi selengkapnya, lihat Instalasi
di dokumentasi Yarn.
Batasan
Solusi ini diterapkan ke satu Akun AWS.
Kode pengembalian yang diharapkan dari wadah adalah
0
untuk sukses. Kode pengembalian lainnya menunjukkan kegagalan, dan CloudFormation tumpukan akan berputar kembali.Beberapa Layanan AWS tidak tersedia di semua Wilayah AWS. Untuk ketersediaan Wilayah, lihat Layanan AWS berdasarkan Wilayah
. Untuk titik akhir tertentu, lihat Titik akhir dan kuota layanan, dan pilih tautan untuk layanan.
Arsitektur
Diagram berikut menunjukkan arsitektur konstruksi.

Diagram menunjukkan alur kerja: waitcondition-hook-for-aws-fargate-task
WaitCondition
danWaitConditionHandler
disediakan untuk mendengarkan respons dari fungsi. AWS LambdaTergantung pada hasil tugas, baik
CallbackFunction
atauErrorHandlerFunction
dipicu oleh penyelesaian tugas Fargate.Fungsi Lambda mengirimkan sinyal SUKSES atau KEGAGALAN ke.
WaitConditionHandler
WaitConditionHandler
terus menyediakan sumber daya jika hasil eksekusi tugas Fargate berhasil, atau memutar kembali tumpukan jika tugas gagal.
Diagram berikut menunjukkan contoh alur kerja untuk melakukan migrasi database.

Contoh alur kerja menggunakan waitcondition-hook-for-aws-fargate-task
konstruksi untuk melakukan migrasi database, sebagai berikut:
Instans Amazon Relational Database Service (Amazon RDS) disediakan.
waitcondition-hook-for-aws-fargate-task
Konstruksi menjalankan tugas migrasi database dan menjeda tumpukan sebagai instance Amazon Elastic Compute Cloud (Amazon). EC2Jika tugas migrasi selesai dengan sukses, ia akan mengirimkan sinyal Success ke CloudFormation. Jika tidak, ia mengirimkan sinyal Gagal ke CloudFormation dan memutar kembali tumpukan.
Alat
Layanan AWS
AWS Cloud Development Kit (AWS CDK)adalah kerangka pengembangan perangkat lunak yang membantu Anda mendefinisikan infrastruktur cloud dalam kode dan menyediakannya AWS CloudFormation.
AWS CloudFormationmembantu Anda menyiapkan AWS sumber daya, menyediakannya dengan cepat dan konsisten, dan mengelolanya sepanjang siklus hidupnya di seluruh Akun AWS dan. Wilayah AWS
Amazon CloudWatch membantu Anda memantau metrik sumber AWS daya Anda dan aplikasi yang Anda jalankan AWS secara real time.
Amazon Elastic Container Service (Amazon ECS) adalah layanan manajemen kontainer yang cepat dan dapat diskalakan yang membantu Anda menjalankan, menghentikan, dan mengelola kontainer di klaster.
AWS Fargatemembantu Anda menjalankan container tanpa perlu mengelola server atau EC2 instans Amazon. Ini digunakan bersama dengan Amazon ECS.
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 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.
AWS Step Functionsadalah layanan orkestrasi tanpa server yang membantu Anda menggabungkan AWS Lambda fungsi dan lainnya Layanan AWS untuk membangun aplikasi bisnis yang penting.
Amazon Virtual Private Cloud (Amazon VPC) membantu Anda meluncurkan AWS sumber daya ke jaringan virtual yang telah Anda tentukan. Jaringan virtual ini menyerupai jaringan tradisional yang akan Anda operasikan di pusat data Anda sendiri, dengan manfaat menggunakan infrastruktur yang dapat diskalakan. AWS
Alat lainnya
npm
adalah registri perangkat lunak yang berjalan di lingkungan Node.js dan digunakan untuk berbagi atau meminjam paket dan mengelola penyebaran paket pribadi. Yarn
adalah manajer paket open source yang dapat Anda gunakan untuk mengelola dependensi dalam JavaScript proyek. Yarn dapat membantu Anda menginstal, memperbarui, mengonfigurasi, dan menghapus dependensi paket.
Repositori kode
Kode untuk pola ini tersedia di repositori GitHub waitcondition-hook-for-aws-fargate-task
Praktik terbaik
Saat membuat AWS CDK aplikasi, ikuti Praktik terbaik untuk mengembangkan dan menerapkan infrastruktur cloud dengan dokumentasi AWS CDK di AWS CDK v2.
Untuk AWS Fargate tugas tersebut, ikuti Praktik terbaik untuk gambar kontainer Amazon ECS di dokumentasi Amazon ECS.
Epik
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Instal AWS CDK. | Untuk menginstal AWS CDK pada mesin lokal Anda atau lingkungan lain, jalankan perintah berikut:
| Arsitek cloud, Pengembang aplikasi |
Bootstrap AWS CDK. | Bootstrapping adalah proses mempersiapkan lingkungan untuk penyebaran. Untuk bootstrap AWS CDK toolkit Anda untuk target Akun AWS dan Wilayah AWS, jalankan perintah berikut:
Perintah ini menciptakan CloudFormation tumpukan bernama | Arsitek awan |
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Buat proyek CDK. | Buat proyek CDK menggunakan bahasa yang Anda sukai. Pola ini menggunakan TypeScript. Untuk membuat proyek CDK menggunakan TypeScript, jalankan perintah berikut:
| Arsitek awan |
Instal paket . | Jalankan
| Arsitek awan |
Bangun aplikasi CDK dan komponen Amazon ECS Anda. | Bangun proyek CDK Anda. Sumber daya definisi tugas Amazon ECS diperlukan. Untuk informasi tentang membuat definisi tugas, lihat definisi tugas Amazon ECS dalam dokumentasi Amazon ECS. Contoh berikut menggunakan konstruksi ini:
| Arsitek awan |
Synth dan luncurkan aplikasi CDK. |
| Arsitek awan |
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Pembersihan sumber daya | Untuk membersihkan sumber daya yang disediakan dari langkah sebelumnya, jalankan perintah berikut:
| Arsitek awan |
Pemecahan Masalah
Isu | Solusi |
---|---|
Kegagalan CloudFormation tumpukan umum | Untuk membantu memecahkan masalah kegagalan CloudFormation tumpukan umum, tambahkan
Perintah ini akan menjeda CloudFormation tumpukan dari memutar kembali, yang memberi Anda sumber daya untuk memecahkan masalah. Untuk informasi selengkapnya, lihat Memilih cara menangani kegagalan saat menyediakan sumber daya dalam dokumentasi. AWS CloudFormation |
AWS Step Functions kegagalan | Mesin AWS Step Functions negara mungkin gagal mengeksekusi karena alasan yang berbeda. Dengan
Untuk informasi selengkapnya, lihat Memecahkan masalah di Step Functions dan Melihat detail eksekusi di konsol Step Functions dalam dokumentasi. AWS Step Functions |
AWS Lambda kegagalan fungsi | Konstruksi ini menyediakan dua fungsi
Untuk informasi selengkapnya, lihat Memecahkan masalah di Lambda dalam dokumentasi. AWS Lambda |
Sumber daya terkait
AWS dokumentasi
Sumber daya lainnya
waitcondition-hook-for-aws-fargate-task
1.0.6 (pypi.org)