Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Sumber daya Network Load Balancer untuk Amazon ECS blue/green, penyebaran linear, dan canary
Untuk menggunakan Network Load Balancer dengan penerapan Amazon ECS blue/green , Anda perlu mengonfigurasi sumber daya tertentu yang memungkinkan perutean lalu lintas antara revisi layanan biru dan hijau. Bagian ini menjelaskan komponen yang diperlukan dan konfigurasinya.
Jika konfigurasi Anda menyertakan Network Load Balancer, Amazon ECS menambahkan penundaan 10 menit ke tahapan siklus hidup berikut:
-
PERGESERAN PERGESERAN LALU LINTAS
-
PERGESERAN LALU LINTAS PRODUKSI
Penundaan ini menjelaskan masalah waktu Network Load Balancer yang dapat menyebabkan ketidakcocokan antara bobot lalu lintas yang dikonfigurasi dan perutean lalu lintas aktual di bidang data.
Kelompok-kelompok target
Untuk blue/green penerapan dengan Network Load Balancer, Anda perlu membuat dua kelompok target:
-
Kelompok target utama untuk revisi layanan biru (lalu lintas produksi saat ini)
-
Kelompok target alternatif untuk revisi layanan hijau (revisi layanan baru)
Kedua kelompok target harus dikonfigurasi dengan pengaturan berikut:
-
Jenis target:
ip(untuk Fargate atau EC2 dengan modeawsvpcjaringan) -
Protokol:
TCP(atau protokol yang digunakan aplikasi Anda) -
Port: Port yang didengarkan aplikasi Anda (biasanya
80untuk HTTP) -
VPC: VPC yang sama dengan tugas Amazon ECS Anda
-
Pengaturan pemeriksaan kesehatan: Dikonfigurasi untuk memeriksa kesehatan aplikasi Anda dengan benar
Untuk pemeriksaan kesehatan TCP, Network Load Balancer membuat koneksi TCP dengan target. Jika koneksi berhasil, target dianggap sehat.
Untuk pemeriksaan HTTP/HTTPS kesehatan, Network Load Balancer mengirimkan HTTP/HTTPS permintaan ke target dan memverifikasi respons.
Selama blue/green penerapan, Amazon ECS secara otomatis mendaftarkan tugas dengan kelompok target yang sesuai berdasarkan tahap penerapan.
contoh Membuat grup target untuk Network Load Balancer
Perintah AWS CLI berikut membuat dua grup target untuk digunakan dengan Network Load Balancer dalam penerapan: blue/green
aws elbv2 create-target-group \ --nameblue-target-group\ --protocol TCP \ --port 80 \ --vpc-idvpc-abcd1234\ --target-type ip \ --health-check-protocol TCP aws elbv2 create-target-group \ --namegreen-target-group\ --protocol TCP \ --port 80 \ --vpc-idvpc-abcd1234\ --target-type ip \ --health-check-protocol TCP
Penyeimbang Beban Jaringan
Anda perlu membuat Network Load Balancer dengan konfigurasi berikut:
-
Skema: Internet-facing atau internal, tergantung pada kebutuhan Anda
-
Jenis alamat IP: IPv4
-
VPC: VPC yang sama dengan tugas Amazon ECS Anda
-
Subnet: Setidaknya dua subnet di Zona Ketersediaan yang berbeda
Tidak seperti Application Load Balancers, Network Load Balancers beroperasi pada lapisan transport (Layer 4) dan tidak menggunakan grup keamanan. Sebagai gantinya, Anda perlu memastikan bahwa grup keamanan yang terkait dengan tugas Amazon ECS Anda mengizinkan lalu lintas dari Network Load Balancer pada port pendengar.
contoh Membuat Penyeimbang Beban Jaringan
Perintah AWS CLI berikut membuat Network Load Balancer untuk digunakan dalam penerapan: blue/green
aws elbv2 create-load-balancer \ --namemy-network-load-balancer\ --type network \ --subnetssubnet-12345678subnet-87654321
Pertimbangan untuk menggunakan NLB dengan penerapan blue/green
Saat menggunakan Network Load Balancer untuk penerapan blue/green , pertimbangkan hal berikut:
-
Operasi Layer 4: Network Load Balancers beroperasi pada lapisan transport (Layer 4) dan tidak memeriksa konten lapisan aplikasi (Layer 7). Ini berarti Anda tidak dapat menggunakan header atau jalur HTTP untuk keputusan routing.
-
Pemeriksaan kesehatan: Pemeriksaan kesehatan Network Load Balancer terbatas pada protokol TCP, HTTP, atau HTTPS. Untuk pemeriksaan kesehatan TCP, Network Load Balancer hanya memverifikasi bahwa koneksi dapat dibuat.
-
Pelestarian koneksi: Network Load Balancers mempertahankan alamat IP sumber klien, yang dapat berguna untuk tujuan keamanan dan pencatatan.
-
Alamat IP statis: Network Load Balancer menyediakan alamat IP statis untuk setiap subnet, yang dapat berguna untuk daftar putih atau ketika klien perlu terhubung ke alamat IP tetap.
-
Lalu lintas uji: Karena Network Load Balancers tidak mendukung perutean berbasis konten, lalu lintas uji harus dikirim ke port yang berbeda dari lalu lintas produksi.
Pendengar dan aturan
Untuk blue/green penerapan dengan Network Load Balancer, Anda perlu mengkonfigurasi pendengar:
-
Pendengar produksi: Menangani lalu lintas produksi (biasanya pada port 80 atau 443)
-
Awalnya meneruskan lalu lintas ke kelompok target utama (revisi layanan biru)
-
Setelah penerapan, meneruskan lalu lintas ke kelompok target alternatif (revisi layanan hijau)
-
-
Tes pendengar (opsional): Menangani lalu lintas pengujian untuk memvalidasi revisi layanan hijau sebelum mengalihkan lalu lintas produksi
-
Dapat dikonfigurasi pada port yang berbeda (misalnya, 8080 atau 8443)
-
Meneruskan lalu lintas ke kelompok target alternatif (revisi layanan hijau) selama pengujian
-
Tidak seperti Application Load Balancers, Network Load Balancers tidak mendukung aturan routing berbasis konten. Sebaliknya, lalu lintas dirutekan berdasarkan port pendengar dan protokol.
Perintah AWS CLI berikut membuat pendengar produksi dan pengujian untuk Network Load Balancer:
Ganti user-input dengan nilai-nilai Anda.
aws elbv2 create-listener \ --load-balancer-arnarn:aws:elasticloadbalancing:region:123456789012:loadbalancer/net/my-network-lb/1234567890123456\ --protocol TCP \ --port 80 \ --default-actions Type=forward, TargetGroupArn=arn:aws:elasticloadbalancing:region:123456789012:targetgroup/blue-target-group/1234567890123456aws elbv2 create-listener \ --load-balancer-arnarn:aws:elasticloadbalancing:region:123456789012:loadbalancer/net/my-network-lb/1234567890123456\ --protocol TCP \ --port 8080 \ --default-actions Type=forward, TargetGroupArn=arn:aws:elasticloadbalancing:region:123456789012:targetgroup/green-target-group/1234567890123456
Konfigurasi layanan
Anda harus memiliki izin untuk mengizinkan Amazon ECS mengelola sumber daya penyeimbang beban di cluster Anda atas nama Anda. Untuk informasi selengkapnya, lihat Peran IAM infrastruktur Amazon ECS untuk penyeimbang beban.
Saat membuat atau memperbarui layanan Amazon ECS untuk pener blue/green apan dengan Network Load Balancer, Anda perlu menentukan konfigurasi berikut:
Ganti user-input dengan nilai-nilai Anda.
Komponen utama dalam konfigurasi ini adalah:
-
targetGroupArn: ARN dari kelompok sasaran utama (revisi layanan biru) -
alternateTargetGroupArn: ARN dari kelompok sasaran alternatif (revisi layanan hijau) -
productionListenerRule: ARN pendengar untuk lalu lintas produksi -
testListenerRule: (Opsional) ARN pendengar untuk lalu lintas uji -
roleArn: ARN peran yang memungkinkan Amazon ECS mengelola sumber daya Network Load Balancer -
strategy: SetelBLUE_GREENuntuk mengaktifkan pener blue/green apan -
bakeTimeInMinutes: Durasi ketika revisi layanan biru dan hijau berjalan secara bersamaan setelah lalu lintas produksi bergeser
{ "loadBalancers": [ { "targetGroupArn": "arn:aws:elasticloadbalancing:region:123456789012:targetgroup/blue-target-group/1234567890123456", "containerName": "container-name", "containerPort": 80, "advancedConfiguration": { "alternateTargetGroupArn": "arn:aws:elasticloadbalancing:region:123456789012:targetgroup/green-target-group/1234567890123456", "productionListenerRule": "arn:aws:elasticloadbalancing:region:123456789012:listener/net/my-network-lb/1234567890123456/1234567890123456", "testListenerRule": "arn:aws:elasticloadbalancing:region:123456789012:listener/net/my-network-lb/1234567890123456/2345678901234567", "roleArn": "arn:aws:iam::123456789012:role/ecs-nlb-role" } } ], "deploymentConfiguration": { "strategy": "BLUE_GREEN", "maximumPercent": 200, "minimumHealthyPercent": 100, "bakeTimeInMinutes": 5 } }
Aliran lalu lintas selama penerapan
Selama blue/green penerapan dengan Network Load Balancer, lalu lintas mengalir melalui sistem sebagai berikut:
-
Status awal: Semua lalu lintas produksi dialihkan ke kelompok target utama (revisi layanan biru).
-
Penyebaran revisi layanan hijau: Amazon ECS menyebarkan tugas baru dan mendaftarkannya ke kelompok target alternatif.
-
Lalu lintas uji: Jika pendengar pengujian dikonfigurasi, lalu lintas pengujian dialihkan ke grup target alternatif untuk memvalidasi revisi layanan hijau.
-
Pergeseran lalu lintas produksi: Amazon ECS memperbarui pendengar produksi untuk merutekan lalu lintas ke kelompok target alternatif (revisi layanan hijau).
-
Waktu memanggang: Durasi ketika revisi layanan biru dan hijau berjalan secara bersamaan setelah lalu lintas produksi bergeser.
-
Pen yelesaian: Setelah penerapan berhasil, revisi layanan biru dihentikan.
Jika masalah terdeteksi selama penerapan, Amazon ECS dapat secara otomatis memutar kembali dengan merutekan lalu lintas kembali ke grup target utama (revisi layanan biru).