View a markdown version of this page

Sumber daya Service Connect untuk penyebaran Amazon ECS blue/green, linear, dan canary - Amazon Elastic Container Service

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

Sumber daya Service Connect untuk penyebaran Amazon ECS blue/green, linear, dan canary

Saat menggunakan Service Connect dengan pener blue/green apan, Anda perlu mengonfigurasi komponen tertentu untuk mengaktifkan perutean lalu lintas yang tepat antara revisi layanan biru dan hijau. Bagian ini menjelaskan komponen yang diperlukan dan konfigurasinya.

Gambaran umum arsitektur

Service Connect membangun kemampuan penemuan layanan dan layanan mesh melalui proxy sidecar terkelola yang secara otomatis disuntikkan ke tugas Amazon ECS Anda. Proxy ini menangani keputusan routing, percobaan ulang, dan pengumpulan metrik, sementara AWS Cloud Map menyediakan backend registri layanan. Saat Anda menerapkan layanan dengan Service Connect diaktifkan, layanan mendaftarkan dirinya sendiri AWS Cloud Map, dan layanan klien menemukannya melalui namespace.

Dalam implementasi Service Connect standar, layanan klien terhubung ke nama layanan logis, dan proxy sidecar menangani routing ke instance layanan aktual. Dengan blue/green penerapan, model ini diperluas untuk menyertakan perutean lalu lintas uji melalui konfigurasi. testTrafficRules

Selama blue/green penerapan, komponen kunci berikut bekerja bersama:

  • Service Connect Proxy: Semua lalu lintas antar layanan melewati proxy Service Connect, yang membuat keputusan routing berdasarkan konfigurasi.

  • AWS Cloud Map Pend aftaran: Penerapan biru dan hijau mendaftar dengan AWS Cloud Map, tetapi penerapan hijau awalnya terdaftar sebagai titik akhir “pengujian”.

  • Uji Perutean Lalu testTrafficRules Lintas: Konfigurasi Service Connect menentukan cara mengidentifikasi dan merutekan lalu lintas uji ke penerapan hijau. Ini dicapai melalui routing berbasis header, di mana header HTTP tertentu dalam permintaan mengarahkan lalu lintas ke revisi pengujian. Secara default, Service Connect mengenali x-amzn-ecs-blue-green-test header untuk HTTP-based protokol ketika tidak ada aturan khusus yang ditentukan.

  • Konfigurasi Klien: Semua klien di namespace secara otomatis menerima rute produksi dan pengujian, tetapi hanya permintaan aturan pengujian yang cocok yang akan masuk ke penerapan hijau.

Apa yang membuat pendekatan ini kuat adalah bahwa ia menangani kompleksitas penemuan layanan selama transisi. Saat lalu lintas bergeser dari penerapan biru ke hijau, semua mekanisme konektivitas dan penemuan diperbarui secara otomatis. Tidak perlu memperbarui catatan DNS, mengkonfigurasi ulang penyeimbang beban, atau menerapkan perubahan penemuan layanan secara terpisah karena mesh layanan menangani semuanya.

Perutean lalu lintas dan pengujian

Service Connect menyediakan kemampuan routing lalu lintas tingkat lanjut untuk blue/green penerapan, termasuk routing berbasis header dan konfigurasi alias klien untuk skenario pengujian.

Uji aturan header lalu lintas

Selama blue/green penerapan, Anda dapat mengonfigurasi aturan header lalu lintas pengujian untuk merutekan permintaan tertentu ke revisi layanan hijau (baru) untuk tujuan pengujian. Ini memungkinkan Anda untuk memvalidasi versi baru dengan lalu lintas terkontrol sebelum menyelesaikan penerapan.

Service Connect menggunakan routing berbasis header untuk mengidentifikasi lalu lintas uji. Secara default, Service Connect mengenali x-amzn-ecs-blue-green-test header untuk HTTP-based protokol ketika tidak ada aturan khusus yang ditentukan. Ketika header ini hadir dalam permintaan, proxy Service Connect secara otomatis merutekan permintaan ke penerapan hijau untuk pengujian.

Aturan header lalu lintas pengujian memungkinkan Anda untuk:

  • Mengarahkan permintaan dengan header khusus ke revisi layanan green

  • Menguji fungsionalitas baru dengan subset lalu lintas

  • Memvalidasi perilaku layanan sebelum cutover lalu lintas penuh

  • Mengimplementasikan strategi pengujian canary

  • Melakukan pengujian integrasi di lingkungan seperti produksi

Mekanisme routing berbasis header bekerja dengan mulus dengan arsitektur aplikasi Anda yang ada. Layanan klien tidak perlu mengetahui proses blue/green penerapan - mereka hanya menyertakan header yang sesuai saat mengirim permintaan pengujian, dan proxy Service Connect menangani logika routing secara otomatis.

Untuk informasi selengkapnya tentang mengonfigurasi aturan header lalu lintas pengujian, lihat ServiceConnectTestTrafficHeaderRules Referensi API Layanan Kontainer Amazon Elastic.

Aturan pencocokan header

Aturan pencocokan header menentukan kriteria untuk lalu lintas uji routing selama pener blue/green apan. Anda dapat mengonfigurasi beberapa kondisi pencocokan untuk mengontrol secara persis permintaan mana yang diarahkan ke revisi layanan green.

Pencocokan header mendukung:

  • Pencocokan nilai header secara persis

  • Pemeriksaan keberadaan header

  • Pattern-based mencocokkan

  • Beberapa kombinasi header

Contoh kasus penggunaannya adalah mengarahkan permintaan dengan string agen pengguna tertentu, versi API, atau penanda fitur ke layanan green untuk pengujian.

Untuk informasi selengkapnya tentang konfigurasi pencocokan header, lihat ServiceConnectTestTrafficHeaderMatchRules Referensi API Layanan Kontainer Amazon Elastic.

Alias klien untuk penerapan blue/green

Alias klien menyediakan titik akhir DNS yang stabil untuk layanan selama blue/green penerapan. Mereka memungkinkan perutean lalu lintas yang mulus antara revisi layanan biru dan hijau tanpa memerlukan aplikasi klien untuk mengubah titik akhir koneksi mereka.

Selama blue/green penerapan, alias klien:

  • Pertahankan nama DNS yang konsisten untuk koneksi klien

  • Aktifkan peralihan lalu lintas otomatis antara revisi layanan

  • Mendukung strategi migrasi lalu lintas bertahap

  • Menyediakan kemampuan rollback dengan mengalihkan lalu lintas ke revisi biru

Anda dapat mengonfigurasi beberapa alias klien untuk port atau protokol yang berbeda, memungkinkan arsitektur layanan yang kompleks untuk mempertahankan konektivitas selama penerapan.

Untuk informasi selengkapnya tentang konfigurasi alias klien, lihat ServiceConnectClientAlias Referensi API Layanan Kontainer Amazon Elastic.

Praktik terbaik untuk perutean lalu lintas

Saat menerapkan perutean lalu blue/green lintas untuk penerapan dengan Service Connect, pertimbangkan praktik terbaik berikut:

  • Mulailah dengan pengujian berbasis header: Gunakan aturan header lalu lintas pengujian untuk memvalidasi layanan green dengan lalu lintas terkontrol sebelum mengalihkan semua lalu lintas.

  • Konfigurasikan pemeriksaan kesehatan: Pastikan layanan biru dan hijau memiliki pemeriksaan kesehatan yang sesuai yang dikonfigurasi untuk mencegah perutean lalu lintas ke instans yang tidak sehat.

  • Pantau metrik layanan: Lacak indikator performa utama untuk kedua revisi layanan selama deployment untuk mengidentifikasi masalah sejak awal.

  • Rencanakan strategi rollback: Konfigurasikan alias klien dan aturan routing untuk mengaktifkan rollback cepat ke layanan biru jika masalah terdeteksi.

  • Uji logika pencocokan header: Lakukan validasi aturan pencocokan header Anda di lingkungan nonproduksi sebelum menerapkannya ke deployment produksi.

Alur kerja blue/green penerapan Service Connect

Memahami cara Service Connect mengelola proses blue/green penerapan membantu Anda menerapkan dan memecahkan masalah penerapan Anda secara efektif. Alur kerja berikut menunjukkan bagaimana komponen yang berbeda berinteraksi selama setiap fase penerapan.

Fase penyebaran

Penye blue/green baran Service Connect berlangsung melalui beberapa fase berbeda:

  1. Status A wal: Layanan biru menangani 100% lalu lintas produksi. Semua layanan klien di namespace terhubung ke layanan biru melalui nama layanan logis yang dikonfigurasi di Service Connect.

  2. Pendaftaran Layanan Hijau: Ketika penerapan hijau dimulai, ia AWS Cloud Map mendaftar sebagai titik akhir “uji”. Proksi Service Connect dalam layanan klien secara otomatis menerima konfigurasi rute produksi dan pengujian.

  3. Uji Perutean Lalu Lintas: Permintaan yang berisi header lalu lintas uji (sepertix-amzn-ecs-blue-green-test) secara otomatis dialihkan ke layanan hijau oleh proxy Service Connect. Lalu lintas produksi terus mengalir ke layanan biru.

  4. Persiapan Pergeseran Lalu Lintas: Setelah pengujian berhasil, proses penerapan mempersiapkan pergeseran lalu lintas produksi. Baik layanan biru dan hijau tetap terdaftar dan sehat.

  5. Pergeseran Lalu L intas Produksi: Pembaruan konfigurasi Service Connect untuk merutekan lalu lintas produksi ke layanan hijau. Ini terjadi secara otomatis tanpa memerlukan pembaruan layanan klien atau perubahan DNS.

  6. Periode Waktu Panggang: Durasi ketika revisi layanan biru dan hijau berjalan secara bersamaan setelah lalu lintas produksi bergeser.

  7. Deregistrasi Layanan Biru: Setelah pergeseran lalu lintas dan validasi berhasil, layanan biru dideregistrasi dari AWS Cloud Map dan dihentikan, menyelesaikan penerapan.

Perilaku proxy Service Connect

Proksi Service Connect memainkan peran penting dalam mengelola lalu lintas selama pener blue/green apan. Memahami perilakunya membantu Anda merancang strategi pengujian dan penerapan yang efektif.

Perilaku proxy utama selama blue/green penerapan:

  • Penemuan Rute Otomatis: Proksi secara otomatis menemukan rute produksi dan pengujian AWS Cloud Map tanpa memerlukan restart aplikasi atau perubahan konfigurasi.

  • Header-Based Perutean: Proxy memeriksa header permintaan masuk dan merutekan lalu lintas ke revisi layanan yang sesuai berdasarkan aturan lalu lintas pengujian yang dikonfigurasi.

  • Integrasi Pemeriksaan Kesehatan: Proksi hanya merutekan lalu lintas ke instans layanan yang sehat, secara otomatis mengecualikan tugas yang tidak sehat dari kumpulan routing.

  • Coba Ulang dan Pemutusan Sirkuit: Proksi menyediakan logika coba ulang bawaan dan kemampuan pemutusan sirkuit, meningkatkan ketahanan selama penerapan.

  • Pengumpulan Metrik: Proksi mengumpulkan metrik terperinci untuk layanan biru dan hijau, memungkinkan pemantauan komprehensif selama penerapan.

Pembaruan penemuan layanan

Salah satu keuntungan utama menggunakan Service Connect untuk pener blue/green apan adalah penanganan otomatis pembaruan penemuan layanan. Pener blue/green apan tradisional seringkali memerlukan pembaruan DNS yang kompleks atau konfigurasi ulang penyeimbang beban, tetapi Service Connect mengelola perubahan ini secara transparan.

Selama penerapan, Service Connect menangani:

  • Pembaruan Namespace: Namespace Service Connect secara otomatis menyertakan titik akhir layanan biru dan hijau, dengan aturan routing yang sesuai.

  • Konfigurasi Kli en: Semua layanan klien di namespace secara otomatis menerima informasi routing yang diperbarui tanpa memerlukan restart atau penempatan ulang.

  • Transisi Ber tahap: Pembaruan penemuan layanan terjadi secara bertahap dan aman, memastikan tidak ada gangguan pada permintaan yang sedang berlangsung.

  • Dukungan Rollback: Jika rollback diperlukan, Service Connect dapat dengan cepat mengembalikan konfigurasi penemuan layanan untuk merutekan lalu lintas kembali ke layanan biru.