Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Alur kerja penerapan blue/green layanan Amazon ECS
Proses blue/green penyebaran Amazon ECS mengikuti pendekatan terstruktur dengan enam fase berbeda yang memastikan pembaruan aplikasi yang aman dan andal. Setiap fase melayani tujuan tertentu dalam memvalidasi dan transisi aplikasi Anda dari versi saat ini (biru) ke versi baru (hijau).
-
Tahap Persiapan: Ciptakan lingkungan hijau di samping lingkungan biru yang ada. Ini termasuk penyediaan revisi layanan baru, dan mempersiapkan kelompok sasaran.
-
Tahap Penyebaran: Menyebarkan revisi layanan baru ke lingkungan hijau. Amazon ECS meluncurkan tugas baru menggunakan revisi layanan yang diperbarui sementara lingkungan biru terus melayani lalu lintas produksi.
-
Tahap Pengujian: Validasi lingkungan hijau menggunakan perutean lalu lintas uji. Application Load Balancer mengarahkan permintaan pengujian ke lingkungan hijau sementara lalu lintas produksi tetap berwarna biru.
-
Fase Pergeseran Lalu Lintas: Ubah lalu lintas produksi dari biru ke hijau berdasarkan strategi penerapan yang dikonfigurasi. Fase ini mencakup pos pemeriksaan pemantauan dan validasi.
-
Fase Pemantauan: Memantau kesehatan aplikasi, metrik kinerja, dan status alarm selama periode waktu memanggang. Operasi rollback dimulai ketika masalah terdeteksi.
-
Tahap Penyelesaian: Selesaikan penerapan dengan mengakhiri lingkungan biru atau mempertahankannya untuk skenario rollback potensial, tergantung pada konfigurasi Anda.
Alur kerja
Diagram berikut menggambarkan alur kerja blue/green penerapan yang komprehensif, menunjukkan interaksi antara Amazon ECS, dan Application Load Balancer:
Alur kerja penerapan yang disempurnakan mencakup langkah-langkah terperinci berikut:
-
Status A wal: Layanan biru (produksi saat ini) menangani 100% lalu lintas produksi. Application Load Balancer memiliki satu pendengar dengan aturan yang merutekan semua permintaan ke grup target biru yang berisi tugas biru sehat.
-
Penyediaan Lingkungan Hij au: Amazon ECS membuat tugas baru menggunakan definisi tugas yang diperbarui. Tugas-tugas ini terdaftar dengan kelompok target hijau baru tetapi pada awalnya tidak menerima lalu lintas.
-
Validasi Pemerik saan Kesehatan: Penyeimbang Beban Aplikasi melakukan pemeriksaan kesehatan pada tugas hijau. Hanya ketika tugas hijau lulus pemeriksaan kesehatan, penerapan dilanjutkan ke fase berikutnya.
-
Uji Perutean Lalu Lintas: Jika dikonfigurasi, aturan pendengar Application Load Balancer merutekan pola lalu lintas tertentu (seperti permintaan dengan header pengujian) ke lingkungan hijau untuk validasi sementara lalu lintas produksi tetap berwarna biru. Ini dikendalikan oleh pendengar yang sama yang menangani lalu lintas produksi, menggunakan aturan yang berbeda berdasarkan atribut permintaan.
-
Pergeseran Lalu L intas Produksi: Berdasarkan konfigurasi penerapan, lalu lintas bergeser dari biru ke hijau. Dalam penerapan blue/green ECS, ini adalah pergeseran langsung (sekaligus) di mana 100% lalu lintas dipindahkan dari lingkungan biru ke lingkungan hijau. Application Load Balancer menggunakan satu pendengar dengan aturan pendengar yang mengontrol distribusi lalu lintas antara kelompok target biru dan hijau berdasarkan bobot.
-
Pemantauan dan Validasi: Sepanjang pergeseran lalu lintas, Amazon ECS memantau CloudWatch metrik, status alarm, dan kesehatan penerapan. Pemicu rollback otomatis diaktifkan jika masalah terdeteksi.
-
Periode Waktu Panggang: Durasi ketika revisi layanan biru dan hijau berjalan secara bersamaan setelah lalu lintas produksi bergeser.
-
Penghentian Lingkungan Biru: Setelah pergeseran lalu lintas dan validasi berhasil, lingkungan biru dihentikan untuk membebaskan sumber daya cluster, atau dipertahankan untuk kemampuan rollback cepat.
-
Keadaan Akhir: Lingkungan hijau menjadi lingkungan produksi baru, menangani 100% lalu lintas. Penerapan ditandai sebagai berhasil.
Tahap siklus hidup penerapan
Proses blue/green penerapan berlangsung melalui tahapan siklus hidup yang berbeda (serangkaian peristiwa dalam operasi penerapan, seperti “setelah pergeseran lalu lintas produksi”), masing-masing dengan tanggung jawab khusus dan pos pemeriksaan validasi. Memahami tahapan ini membantu Anda memantau kemajuan penerapan dan memecahkan masalah secara efektif.
Setiap tahap siklus hidup dapat berlangsung hingga 24 jam. Kami menyarankan agar nilainya tetap di bawah tanda 24 jam. Ini karena proses asinkron membutuhkan waktu untuk memicu kait. Sistem habis waktu, gagal penerapan, dan kemudian memulai rollback setelah tahap mencapai 24 jam. CloudFormation penerapan memiliki batasan waktu tunggu tambahan. Sementara batas tahap 24 jam tetap berlaku, CloudFormation memberlakukan batas 36 jam pada seluruh penyebaran. CloudFormation gagal penerapan, dan kemudian memulai rollback jika proses tidak selesai dalam waktu 36 jam.
Untuk kait jeda, Anda dapat mengonfigurasi batas waktu hingga 20.160 menit (14 hari). Waktu tunggu penerapan keseluruhan adalah 30 hari.
| Tahapan siklus hidup | Deskripsi | Gunakan tahap ini untuk kait siklus hidup? |
|---|---|---|
| REKONCILE_SERVICE | Tahap ini hanya terjadi ketika Anda memulai penyebaran layanan baru dengan lebih dari 1 revisi layanan dalam status AKTIF. | Ya |
| PRE_SCALE_UP | Revisi layanan hijau belum dimulai. Revisi layanan biru menangani 100% lalu lintas produksi. Tidak ada lalu lintas uji. | Ya |
| SCALE_UP | Waktu ketika revisi layanan hijau dinaikkan hingga 100% dan meluncurkan tugas baru. Revisi layanan hijau tidak melayani lalu lintas apa pun pada saat ini. | Tidak |
| POST_SCALE_UP | Revisi layanan hijau telah dimulai. Revisi layanan biru menangani 100% lalu lintas produksi. Tidak ada lalu lintas uji. | Ya |
| PERGESERAN PERGESERAN LALU LINTAS | Revisi layanan biru dan hijau sedang berjalan. Revisi layanan biru menangani 100% lalu lintas produksi. Revisi layanan hijau bermigrasi dari 0% menjadi 100% dari lalu lintas uji. | Ya (hanya Lambda) |
| POS_TEST_TRAFIC_SHIFT | Pergeseran lalu lintas uji selesai. Revisi layanan hijau menangani 100% lalu lintas uji. | Ya |
| PERGESERAN LALU LINTAS SEBELUM PRODUKSI | Terjadi sebelum pergeseran lalu lintas produksi. Untuk blue/green penerapan, tahap ini dipanggil sekali. | Ya |
| PERGESERAN LALU LINTAS PRODUKSI | Lalu lintas produksi bergeser ke revisi layanan hijau. Revisi layanan hijau bermigrasi dari 0% menjadi 100% dari lalu lintas produksi. | Ya (hanya Lambda) |
| PERGESERAN LALU LINTAS PASCA PRODUKSI | Pergeseran lalu lintas produksi selesai. | Ya |
| WAKTU MEMANGGANG | Durasi ketika revisi layanan biru dan hijau berjalan secara bersamaan. | Tidak |
| BERSIH_UP | Revisi layanan biru telah sepenuhnya dikurangi menjadi 0 tugas yang sedang berjalan. Revisi layanan hijau sekarang menjadi revisi layanan produksi setelah tahap ini. | Tidak |
Setiap tahap siklus hidup mencakup pos pemeriksaan validasi bawaan yang harus dilalui sebelum melanjutkan ke tahap berikutnya. Jika ada validasi yang gagal, penerapan dapat dipulihkan secara otomatis untuk menjaga ketersediaan dan keandalan layanan.
Ketika Anda menggunakan fungsi Lambda, fungsi harus menyelesaikan pekerjaan, atau mengembalikan IN_PROGRESS dalam waktu 15 menit. Anda dapat menggunakan callBackDelaySeconds untuk menunda panggilan ke Lambda. Untuk informasi selengkapnya, lihat fungsi app.py