Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Sumber daya Penyeimbang Beban Aplikasi untuk pener blue/green apan, linier, dan canary
Untuk menggunakan Application Load Balancers dengan penerapan Amazon ECS blue/green , Anda perlu mengonfigurasi sumber daya tertentu yang memungkinkan perutean lalu lintas antara revisi layanan biru dan hijau.
Kelompok-kelompok target
Untuk blue/green penerapan dengan Elastic Load Balancing, Anda perlu membuat dua grup target:
-
Kelompok target utama untuk revisi layanan biru (lalu lintas produksi saat ini)
-
Kelompok target alternatif untuk revisi layanan hijau (versi baru)
Kedua kelompok target harus dikonfigurasi dengan pengaturan berikut:
-
Jenis target:
IP(untuk Fargate atau EC2 dengan modeawsvpcjaringan) -
Protokol:
HTTP(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
Selama blue/green penerapan, Amazon ECS secara otomatis mendaftarkan tugas dengan kelompok target yang sesuai berdasarkan tahap penerapan.
contoh Membuat grup target untuk Penyeimbang Beban Aplikasi
Perintah CLI berikut membuat dua grup target untuk digunakan dengan Application Load Balancer dalam penerapan: blue/green
aws elbv2 create-target-group \ --nameblue-target-group\ --protocol HTTP \ --port 80 \ --vpc-idvpc-abcd1234\ --target-type ip \ --health-check-path / \ --health-check-protocol HTTP \ --health-check-interval-seconds 30 \ --health-check-timeout-seconds 5 \ --healthy-threshold-count 2 \ --unhealthy-threshold-count 2 aws elbv2 create-target-group \ --namegreen-target-group\ --protocol HTTP \ --port 80 \ --vpc-idvpc-abcd1234\ --target-type ip \ --health-check-path / \ --health-check-protocol HTTP \ --health-check-interval-seconds 30 \ --health-check-timeout-seconds 5 \ --healthy-threshold-count 2 \ --unhealthy-threshold-count 2
Penyeimbang Beban Aplikasi
Anda perlu membuat Application 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
-
Grup keamanan: Grup keamanan yang mengizinkan lalu lintas pada port pendengar
Grup keamanan yang dilampirkan ke Application Load Balancer harus memiliki aturan keluar yang memungkinkan lalu lintas ke grup keamanan yang dilampirkan ke tugas Amazon ECS Anda.
contoh Membuat Penyeimbang Beban Aplikasi
Perintah CLI berikut membuat Application Load Balancer untuk digunakan dalam penerapan: blue/green
aws elbv2 create-load-balancer \ --namemy-application-load-balancer\ --type application \ --security-groupssg-abcd1234\ --subnetssubnet-12345678subnet-87654321
Pendengar dan aturan
Untuk pener blue/green apan, Anda perlu mengonfigurasi pendengar di Application Load Balancer Anda:
-
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
-
Selama blue/green penerapan, Amazon ECS secara otomatis memperbarui aturan pendengar untuk merutekan lalu lintas ke grup target yang sesuai berdasarkan tahap penerapan.
contoh Membuat pendengar produksi
Perintah CLI berikut membuat pendengar produksi pada port 80 yang meneruskan lalu lintas ke grup target utama (biru):
aws elbv2 create-listener \ --load-balancer-arnarn:aws:elasticloadbalancing:region:123456789012:loadbalancer/app/my-application-load-balancer/abcdef123456\ --protocol HTTP \ --port 80 \ --default-actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:region:123456789012:targetgroup/blue-target-group/abcdef123456
contoh Membuat pendengar tes
Perintah CLI berikut membuat pendengar uji pada port 8080 yang meneruskan lalu lintas ke grup target alternatif (hijau):
aws elbv2 create-listener \ --load-balancer-arnarn:aws:elasticloadbalancing:region:123456789012:loadbalancer/app/my-application-load-balancer/abcdef123456\ --protocol HTTP \ --port 8080 \ --default-actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:region:123456789012:targetgroup/green-target-group/ghijkl789012
contoh Membuat aturan pendengar untuk routing berbasis jalur
Perintah CLI berikut membuat aturan yang meneruskan lalu lintas untuk jalur tertentu ke grup target hijau untuk pengujian:
aws elbv2 create-rule \ --listener-arnarn:aws:elasticloadbalancing:region:123456789012:listener/app/my-application-load-balancer/abcdef123456/ghijkl789012\ --priority 10 \ --conditions Field=path-pattern,Values='/test/*' \ --actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:region:123456789012:targetgroup/green-target-group/ghijkl789012
contoh Membuat aturan pendengar untuk routing berbasis header
Perintah CLI berikut membuat aturan yang meneruskan lalu lintas dengan header tertentu ke grup target hijau untuk pengujian:
aws elbv2 create-rule \ --listener-arnarn:aws:elasticloadbalancing:region:123456789012:listener/app/my-application-load-balancer/abcdef123456/ghijkl789012\ --priority 20 \ --conditions Field=http-header,HttpHeaderConfig='{Name=X-Environment,Values=[test]}' \ --actions Type=forward,TargetGroupArn=arn:aws:elasticloadbalancing:region:123456789012:targetgroup/green-target-group/ghijkl789012
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 penerapan blue/green dengan Elastic Load Balancing, 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 aturan pendengar untuk lalu lintas produksi. -
roleArn: ARN peran yang memungkinkan Amazon ECS mengelola sumber daya Elastic Load Balancing. -
strategy: SetelBLUE_GREENuntuk mengaktifkan pener blue/green apan. -
bakeTimeInMinutes: Durasi ketika revisi layanan biru dan hijau berjalan secara bersamaan setelah lalu lintas produksi bergeser. -
TestListenerRule: ARN aturan pendengar untuk lalu lintas uji. Ini adalah parameter opsional.
{ "loadBalancers": [ { "targetGroupArn": "arn:aws:elasticloadbalancing:region:123456789012:targetgroup/primary-target-group/abcdef123456", "containerName": "container-name", "containerPort": 80, "advancedConfiguration": { "alternateTargetGroupArn": "arn:aws:elasticloadbalancing:region:account-id:targetgroup/alternate-target-group/ghijkl789012", "productionListenerRule": "arn:aws:elasticloadbalancing:region:account-id:listener-rule/app/load-balancer-name/abcdef123456/listener/ghijkl789012/rule/mnopqr345678", "roleArn": "arn:aws:iam::123456789012:role/ecs-elb-role" } } ], "deploymentConfiguration": { "strategy": "BLUE_GREEN", "maximumPercent": 200, "minimumHealthyPercent": 100, "bakeTimeInMinutes": 5 } }
Aliran lalu lintas selama penerapan
Selama blue/green penerapan dengan Elastic Load Balancing, 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 aturan pendengar produksi untuk merutekan lalu lintas ke grup 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).