Sumber daya Service Connect untuk penerapan biru/hijau 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.

Sumber daya Service Connect untuk penerapan biru/hijau Amazon ECS

Saat menggunakan Service Connect dengan blue/green penerapan, 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 service discovery dan service mesh melalui proxy sespan terkelola yang secara otomatis disuntikkan ke tugas Amazon ECS Anda. Proksi ini menangani keputusan perutean, percobaan ulang, dan pengumpulan metrik, sambil AWS Cloud Map menyediakan backend registri layanan. Saat Anda menerapkan layanan dengan Service Connect diaktifkan, layanan akan 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 perutean ke instance layanan yang sebenarnya. Dengan blue/green penerapan, model ini diperluas untuk menyertakan perutean lalu lintas uji melalui konfigurasi. testTrafficRules

Selama blue/green penerapan, komponen-komponen kunci berikut bekerja sama:

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

  • AWS Cloud Map Pendaftaran: Penerapan biru dan hijau mendaftar AWS Cloud Map, tetapi penerapan hijau awalnya terdaftar sebagai titik akhir “uji”.

  • Uji Perutean Lalu Lintas: Konfigurasi testTrafficRules dalam Service Connect menentukan cara mengidentifikasi dan merutekan lalu lintas pengujian ke penerapan hijau. Hal 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 protokol berbasis HTTP ketika tidak ada aturan khusus yang ditentukan.

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

Apa yang membuat pendekatan ini kuat adalah menangani kompleksitas penemuan layanan selama transisi. Saat lalu lintas bergeser dari penyebaran biru ke hijau, semua konektivitas dan mekanisme 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 dan pengujian lalu lintas

Service Connect menyediakan kemampuan perutean 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 perutean berbasis header untuk mengidentifikasi lalu lintas pengujian. Secara default, Service Connect mengenali x-amzn-ecs-blue-green-test header untuk protokol berbasis HTTP 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.

Menguji aturan header lalu lintas memungkinkan Anda untuk:

  • Permintaan rute dengan header tertentu ke revisi layanan hijau

  • Uji fungsionalitas baru dengan subset lalu lintas

  • Validasi perilaku layanan sebelum pemotongan lalu lintas penuh

  • Menerapkan strategi pengujian kenari

  • Lakukan pengujian integrasi dalam lingkungan seperti produksi

Mekanisme routing berbasis header bekerja mulus dengan arsitektur aplikasi 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 perutean secara otomatis.

Untuk informasi selengkapnya tentang mengonfigurasi aturan header lalu lintas pengujian, lihat ServiceConnectTestTrafficHeaderRulesdi Referensi API Amazon Elastic Container Service.

Aturan pencocokan header

Aturan pencocokan header menentukan kriteria untuk merutekan lalu lintas pengujian selama blue/green penerapan. Anda dapat mengonfigurasi beberapa kondisi pencocokan untuk secara tepat mengontrol permintaan mana yang dirutekan ke revisi layanan hijau.

Pencocokan header mendukung:

  • Pencocokan nilai header yang tepat

  • Pemeriksaan kehadiran header

  • Pencocokan berbasis pola

  • Beberapa kombinasi header

Contoh kasus penggunaan termasuk permintaan perutean dengan string agen pengguna tertentu, versi API, atau flag fitur ke layanan hijau untuk pengujian.

Untuk informasi selengkapnya tentang konfigurasi pencocokan header, lihat ServiceConnectTestTrafficHeaderMatchRulesdi Referensi API Amazon Elastic Container Service.

Alias klien untuk penerapan blue/green

Alias klien menyediakan titik akhir DNS yang stabil untuk layanan selama penerapan. blue/green 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

  • Memberikan kemampuan rollback dengan mengarahkan 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 ServiceConnectClientAliasdi Referensi API Amazon Elastic Container Service.

Praktik terbaik untuk perutean lalu lintas

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

  • Mulai dengan pengujian berbasis header: Gunakan aturan header lalu lintas uji untuk memvalidasi layanan hijau 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 lalu lintas perutean ke instance yang tidak sehat.

  • Monitor metrik layanan: Lacak indikator kinerja utama untuk kedua revisi layanan selama penerapan untuk mengidentifikasi masalah lebih awal.

  • Strategi rollback rencana: Konfigurasikan alias klien dan aturan perutean untuk mengaktifkan rollback cepat ke layanan biru jika masalah terdeteksi.

  • Uji logika pencocokan header: Validasi aturan pencocokan header Anda di lingkungan non-produksi sebelum menerapkannya ke penerapan produksi.

Alur kerja blue/green penerapan Service Connect

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

Fase penyebaran

blue/green Penerapan Service Connect berlangsung melalui beberapa fase berbeda:

  1. Keadaan Awal: 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. Registrasi Layanan Hijau: Ketika penerapan hijau dimulai, ia mendaftar AWS Cloud Map sebagai titik akhir “uji”. Proxy Service Connect di layanan klien secara otomatis menerima konfigurasi rute produksi dan pengujian.

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

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

  5. Production Traffic Shift: Konfigurasi Service Connect memperbarui 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 dan dihentikan, menyelesaikan penerapan. AWS Cloud Map

Perilaku proxy Service Connect

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

Perilaku proxy kunci selama blue/green penerapan:

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

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

  • Integrasi Pemeriksaan Kesehatan: Proxy hanya mengarahkan lalu lintas ke instance layanan sehat, secara otomatis mengecualikan tugas yang tidak sehat dari kumpulan perutean.

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

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

Pembaruan penemuan layanan

Salah satu keuntungan utama menggunakan Service Connect untuk blue/green penerapan adalah penanganan otomatis pembaruan penemuan layanan. blue/green Penerapan 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 perutean yang sesuai.

  • Konfigurasi Klien: Semua layanan klien di namespace secara otomatis menerima informasi perutean yang diperbarui tanpa memerlukan restart atau pemindahan.

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

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