Deployment linier Amazon ECS - Amazon Elastic Container Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Deployment linier Amazon ECS

Penerapan linier secara bertahap mengalihkan lalu lintas dari revisi layanan lama ke yang baru dengan peningkatan yang sama dari waktu ke waktu, memungkinkan Anda untuk memantau setiap langkah sebelum melanjutkan ke langkah berikutnya. Dengan penerapan linear Amazon ECS, kendalikan laju pergeseran lalu lintas dan validasi revisi layanan baru dengan peningkatan jumlah lalu lintas produksi. Pendekatan ini menyediakan cara terkontrol untuk menerapkan perubahan dengan kemampuan untuk memantau kinerja pada setiap kenaikan.

Sumber daya yang terlibat dalam penyebaran linier

Berikut ini adalah sumber daya yang terlibat dalam penyebaran linier Amazon ECS:

  • Pergeseran lalu lintas - Proses yang digunakan Amazon ECS untuk mengalihkan lalu lintas produksi. Untuk penerapan linear Amazon ECS, lalu lintas digeser dalam peningkatan persentase yang sama dengan waktu tunggu yang dapat dikonfigurasi di antara setiap kenaikan.

  • Persentase langkah - Persentase lalu lintas yang bergeser dalam setiap kenaikan selama penyebaran linier. Bidang ini mengambil Double untuk nilai, dan nilai yang valid adalah dari 3.0 hingga 100.0.

  • Step bake time - Durasi untuk menunggu di antara setiap kenaikan shift lalu lintas selama penerapan linier. Nilai yang valid adalah dari 0 - 1440 menit.

  • Waktu pemanggangan penyebaran - Waktu, dalam hitungan menit, Amazon ECS menunggu setelah mengalihkan semua lalu lintas produksi ke revisi layanan baru, sebelum mengakhiri revisi layanan lama. Ini adalah durasi ketika revisi layanan biru dan hijau berjalan secara bersamaan setelah lalu lintas produksi bergeser.

  • Tahap siklus hidup - Serangkaian peristiwa dalam operasi penyebaran, seperti “setelah pergeseran lalu lintas produksi”.

  • Lifecycle hook - Fungsi Lambda yang berjalan pada tahap siklus hidup tertentu. Anda dapat membuat fungsi yang memverifikasi penerapan. Fungsi Lambda atau kait siklus hidup yang dikonfigurasi untuk PRODUCTION_TRAFFIC_SHIFT akan dipanggil pada setiap langkah pergeseran lalu lintas produksi.

  • Grup sasaran - Sumber daya ELB yang digunakan untuk merutekan permintaan ke satu atau lebih target terdaftar (misalnya, EC2 contoh). Bila Anda membuat pendengar, Anda menentukan grup target untuk tindakan default-nya. Lalu lintas diteruskan ke grup target yang ditentukan dalam aturan pendengar.

  • Listener - Sumber daya ELB yang memeriksa permintaan koneksi menggunakan protokol dan port yang Anda konfigurasikan. Aturan yang Anda tetapkan untuk pendengar menentukan cara Amazon ECS merutekan permintaan ke target terdaftarnya.

  • Aturan - Sumber daya ELB yang terkait dengan pendengar. Aturan mendefinisikan bagaimana permintaan dirutekan dan terdiri dari tindakan, kondisi, dan prioritas.

Pertimbangan-pertimbangan

Pertimbangkan hal berikut saat memilih jenis penerapan:

  • Penggunaan sumber daya: Penerapan linier menjalankan sementara revisi layanan biru dan hijau secara bersamaan, yang dapat menggandakan penggunaan sumber daya Anda selama penerapan.

  • Pemantauan penyebaran: Penerapan linier memberikan informasi status penyebaran terperinci, memungkinkan Anda memantau setiap tahap proses penyebaran dan setiap kenaikan pergeseran lalu lintas.

  • Rollback: Penerapan linier memudahkan untuk memutar kembali ke versi sebelumnya jika masalah terdeteksi, karena revisi biru terus berjalan hingga waktu pemanggangan berakhir.

  • Validasi bertahap: Penerapan linier memungkinkan Anda memvalidasi revisi baru dengan peningkatan jumlah lalu lintas produksi, memberikan kepercayaan lebih dalam penerapan.

  • Durasi penyebaran: Penerapan linier membutuhkan waktu lebih lama untuk diselesaikan daripada all-at-once penerapan karena pergeseran lalu lintas tambahan dan waktu tunggu di antara langkah-langkah.

Cara kerja penerapan Linear

Proses penyebaran Amazon ECS Linear mengikuti pendekatan terstruktur dengan enam fase berbeda yang memastikan pembaruan aplikasi yang aman dan andal. Setiap fase melayani tujuan tertentu dalam memvalidasi dan mentransisikan aplikasi Anda dari versi saat ini (biru) ke versi baru (hijau).

  1. Tahap Persiapan: Ciptakan lingkungan hijau di samping lingkungan biru yang ada.

  2. Fase Deployment: 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.

  3. Fase Pengujian: Validasi lingkungan hijau menggunakan perutean lalu lintas uji. Application Load Balancer mengarahkan permintaan pengujian ke lingkungan hijau sementara lalu lintas produksi tetap biru.

  4. Fase Pergeseran Lalu Lintas Linear: Secara bertahap mengalihkan lalu lintas produksi dari biru ke hijau dalam peningkatan persentase yang sama berdasarkan strategi penerapan yang dikonfigurasi.

  5. Fase Pemantauan: Pantau kesehatan aplikasi, metrik kinerja, dan status alarm selama periode waktu pemanggangan. Operasi rollback dimulai ketika masalah terdeteksi.

  6. Fase Penyelesaian: Selesaikan penerapan dengan mengakhiri lingkungan biru.

Fase pergeseran lalu lintas linier mengikuti langkah-langkah ini:

  • Awal - Penyebaran dimulai dengan 100% lalu lintas yang diarahkan ke revisi layanan biru (saat ini). Revisi layanan hijau (baru) menerima lalu lintas pengujian tetapi tidak ada lalu lintas produksi pada awalnya.

  • Pergeseran lalu lintas tambahan - Lalu lintas secara bertahap bergeser dari biru ke hijau dengan peningkatan persentase yang sama. Misalnya, dengan konfigurasi langkah 10,0%, pergeseran lalu lintas terjadi sebagai berikut:

    • Langkah 1:10,0% menjadi hijau, 90,0% menjadi biru

    • Langkah 2:20,0% menjadi hijau, 80,0% ke biru

    • Langkah 3:30,0% menjadi hijau, 70,0% menjadi biru

    • Dan seterusnya hingga 100% mencapai hijau

  • Step bake time - Di antara setiap kenaikan shift lalu lintas, penerapan menunggu durasi yang dapat dikonfigurasi (step bake time) untuk memungkinkan pemantauan dan validasi kinerja revisi baru dengan peningkatan beban lalu lintas. Perhatikan, bahwa waktu pemanggangan langkah terakhir dilewati setelah lalu lintas bergeser 100,0%.

  • Lifecycle hooks - Fungsi Lambda opsional dapat dijalankan pada berbagai tahap siklus hidup selama penerapan untuk melakukan validasi otomatis, pemantauan, atau logika kustom. Fungsi Lambda atau kait siklus hidup yang dikonfigurasi untuk PRODUCTION_TRAFFIC_SHIFT akan dipanggil pada setiap langkah pergeseran lalu lintas produksi.

Tahapan siklus hidup penerapan

Proses penyebaran Linear berlangsung melalui tahapan siklus hidup yang berbeda, 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 bertahan hingga 24 jam dan sebagai tambahan setiap langkah pergeseran lalu lintas di PRODUCTION_TRAFFIC_SHIFT dapat bertahan hingga 24 jam. Kami menyarankan agar nilainya tetap di bawah tanda 24 jam. Ini karena proses asinkron membutuhkan waktu untuk memicu kait. Waktu sistem habis, gagal penerapan, dan kemudian memulai rollback setelah tahap mencapai 24 jam.

CloudFormation penerapan memiliki batasan batas waktu 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.

Tahapan siklus hidup Deskripsi Dukungan kait siklus hidup
RECONCILE_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
SKALA_UP Waktu ketika revisi layanan hijau menskalakan 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
TEST_TRAFFIC_SHIFT Revisi layanan biru dan hijau sedang berjalan. Revisi layanan biru menangani 100% lalu lintas produksi. Revisi layanan hijau bermigrasi dari 0% ke 100% lalu lintas pengujian. Ya
POST_TEST_TRAFFIC_SHIFT Pergeseran lalu lintas uji selesai. Revisi layanan hijau menangani 100% lalu lintas pengujian. Ya
PRODUCTION_TRAFFIC_SHIFT Lalu lintas secara bertahap bergeser dari biru ke hijau dalam peningkatan persentase yang sama sampai hijau menerima 100% lalu lintas. Setiap pergeseran lalu lintas memanggil kait siklus hidup dengan batas waktu 24 jam.
POST_PRODUCTION_TRAFFIC_SHIFT Pergeseran lalu lintas produksi selesai. Ya
BAKE_WAKTU Durasi ketika revisi layanan biru dan hijau berjalan secara bersamaan. Tidak
MEMBERSIHKAN_UP Revisi layanan biru telah sepenuhnya diperkecil menjadi 0 tugas yang sedang berjalan. Revisi layanan hijau sekarang menjadi revisi layanan produksi setelah tahap ini. Tidak