Mengedit atribut grup target untuk Application Load Balancer Anda - Elastic Load Balancing

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

Mengedit atribut grup target untuk Application Load Balancer Anda

Setelah Anda membuat grup target untuk Application Load Balancer, Anda dapat mengedit atribut grup targetnya.

Penundaan Pembatalan Pendaftaran

Elastic Load Balancing berhenti mengirim permintaan ke target yang membatalkan pendaftaran. Secara default, Elastic Load Balancing menunggu 300 detik sebelum menyelesaikan proses pembatalan pendaftaran, yang dapat membantu permintaan dalam penerbangan ke target untuk diselesaikan . Untuk mengubah jumlah waktu tunggu Elastic Load Balancing, memperbarui nilai penundaan pembatalan registrasi.

Keadaan awal dari target deregistering adalahdraining. Setelah penundaan deregistrasi berlalu, proses deregistrasi selesai dan keadaan target adalah unused. Jika target adalah bagian dari grup Auto Scaling, maka dapat dihentikan dan diganti.

Jika target pembatalan pendaftaran tidak memiliki permintaan dalam penerbangan dan tidak ada koneksi aktif, Elastic Load Balancing akan segera menyelesaikan proses pembatalan pendaftaran, tanpa menunggu penundaan pembatalan pendaftaran berlalu. Namun, meskipun deregistrasi target selesai, status target ditampilkan draining hingga batas waktu tunda deregistrasi berakhir. Setelah batas waktu berakhir, target bertransisi ke status. unused

Jika proses deregistrasi target mengakhiri sambungan sebelum penundaan deregistrasi berlalu, klien menerima respons error tingkat 500.

Console
Untuk memperbarui nilai penundaan deregistrasi
  1. Buka EC2 konsol Amazon di https://console.aws.amazon.com/ec2/.

  2. Pada panel navigasi, di bawah Penyeimbangan Beban, pilih Grup Target.

  3. Pilih nama grup target untuk menampilkan laman detailnya.

  4. Pada tab Atribut, pilih Edit.

  5. Masukkan nilai baru untuk penundaan Deregistrasi.

  6. Pilih Simpan perubahan.

AWS CLI
Untuk memperbarui nilai penundaan deregistrasi

Gunakan modify-target-group-attributesperintah dengan deregistration_delay.timeout_seconds atribut.

aws elbv2 modify-target-group-attributes \ --target-group-arn target-group-arn \ --attributes "Key=deregistration_delay.timeout_seconds,Value=60"
CloudFormation
Untuk memperbarui nilai penundaan deregistrasi

Perbarui AWS::ElasticLoadBalancingV2::TargetGroupsumber daya untuk menyertakan deregistration_delay.timeout_seconds atribut.

Resources: myTargetGroup: Type: 'AWS::ElasticLoadBalancingV2::TargetGroup' Properties: Name: my-target-group Protocol: HTTP Port: 80 TargetType: ip VpcId: !Ref myVPC TargetGroupAttributes: - Key: "deregistration_delay.timeout_seconds" Value: "60"

Mode mulai lambat

Secara default, target mulai menerima bagian penuh dari permintaan segera setelah terdaftar dengan kelompok target dan melewati pemeriksaan kesehatan awal. Menggunakan mode start lambat memberikan target waktu untuk pemanasan sebelum load balancer mengirimkan bagian penuh permintaan.

Setelah Anda mengaktifkan lambat mulai untuk kelompok target, target memasuki mode mulai lambat ketika mereka dianggap sehat oleh kelompok target. Target dalam mode start lambat keluar dari mode mulai lambat ketika periode durasi mulai lambat dikonfigurasi berlalu atau target menjadi tidak sehat. Load balancer secara linear meningkatkan jumlah permintaan yang dapat dikirim ke target dalam mode start lambat. Setelah target yang sehat keluar dari mode start yang lambat, load balancer dapat mengirimkan bagian penuh permintaan.

Pertimbangan
  • Ketika Anda mengaktifkan mode mulai lambat untuk kelompok target, target sehat yang telah terdaftar dengan kelompok target tidak masuk mode tersebut.

  • Ketika Anda mengaktifkan mulai lambat untuk kelompok target kosong, lalu mendaftar target menggunakan operasi pendaftaran tunggal, target ini tidak masuk mode mulai lambat. Target yang baru terdaftar memasuki mode mulai lambat hanya ketika ada setidaknya satu target sehat yang tidak dalam mode start lambat.

  • Jika Anda membatalkan pendaftaran (deregister) target dalam mode mulai lambat, target keluar dari mode start lambat. Jika Anda mendaftar target yang sama lagi, memasuki mode start lambat ketika dianggap sehat oleh kelompok target.

  • Jika target dalam mode start lambat menjadi tidak sehat, target keluar dari mode start lambat. Ketika target menjadi sehat, ia memasuki mode mulai lambat lagi.

  • Anda tidak dapat mengaktifkan mode mulai lambat saat menggunakan permintaan yang paling tidak beredar atau algoritme perutean acak tertimbang.

Console
Untuk memperbarui nilai durasi mulai lambat
  1. Buka EC2 konsol Amazon di https://console.aws.amazon.com/ec2/.

  2. Pada panel navigasi, di bawah Penyeimbangan Beban, pilih Grup Target.

  3. Pilih nama grup target untuk menampilkan laman detailnya.

  4. Pada tab Atribut, pilih Edit.

  5. Masukkan nilai baru untuk Durasi mulai lambat. Untuk menonaktifkan mode mulai lambat, masukkan 0.

  6. Pilih Simpan perubahan.

AWS CLI
Untuk memperbarui nilai durasi mulai lambat

Gunakan modify-target-group-attributesperintah dengan slow_start.duration_seconds atribut.

aws elbv2 modify-target-group-attributes \ --target-group-arn target-group-arn \ --attributes "Key=slow_start.duration_seconds,Value=30"
CloudFormation
Untuk memperbarui nilai durasi mulai lambat

Perbarui AWS::ElasticLoadBalancingV2::TargetGroupsumber daya untuk menyertakan slow_start.duration_seconds atribut.

Resources: myTargetGroup: Type: 'AWS::ElasticLoadBalancingV2::TargetGroup' Properties: Name: my-target-group Protocol: HTTP Port: 80 TargetType: ip VpcId: !Ref myVPC TargetGroupAttributes: - Key: "slow_start.duration_seconds" Value: "30"

Penyeimbangan beban lintas zona untuk kelompok sasaran Application Load Balancer

Node untuk Load Balancer Anda mendistribusikan permintaan dari klien ke target yang telah terdaftar. Saat penyeimbangan beban lintas zona aktif, setiap node penyeimbang beban mendistribusikan lalu lintas ke seluruh target terdaftar di semua Availability Zone yang terdaftar. Ketika penyeimbangan beban lintas zona tidak aktif, setiap node penyeimbang beban mendistribusikan lalu lintas hanya di seluruh target yang terdaftar di Availability Zone. Ini bisa terjadi jika domain kegagalan zona lebih disukai daripada regional, memastikan bahwa zona sehat tidak terpengaruh oleh zona yang tidak sehat, atau untuk peningkatan latensi secara keseluruhan.

Dengan Application Load Balancers, penyeimbangan beban lintas zona selalu dihidupkan pada tingkat penyeimbang beban, dan tidak dapat dimatikan. Untuk grup target, defaultnya adalah menggunakan pengaturan penyeimbang beban, tetapi Anda dapat mengganti default dengan menonaktifkan penyeimbangan beban lintas zona secara eksplisit di tingkat grup target.

Pertimbangan
  • Kelengketan target tidak didukung saat penyeimbangan beban lintas zona mati.

  • Lambda berfungsi sebagai target tidak didukung saat penyeimbangan beban lintas zona tidak aktif.

  • Mencoba mematikan penyeimbangan beban lintas zona melalui ModifyTargetGroupAttributes API jika ada target yang memiliki parameter yang AvailabilityZone disetel untuk all menghasilkan kesalahan.

  • Saat mendaftarkan target, AvailabilityZone parameter diperlukan. Nilai Zona Ketersediaan Khusus hanya diperbolehkan saat penyeimbangan beban lintas zona tidak aktif. Jika tidak, parameter diabaikan dan diperlakukan sebagaiall.

Praktik terbaik
  • Rencanakan kapasitas target yang cukup di semua Availability Zone yang Anda harapkan untuk digunakan, per kelompok target. Jika Anda tidak dapat merencanakan kapasitas yang cukup di semua Availability Zone yang berpartisipasi, sebaiknya Anda tetap mengaktifkan penyeimbangan beban lintas zona.

  • Saat mengonfigurasi Application Load Balancer Anda dengan beberapa grup target, pastikan semua grup target berpartisipasi dalam Availability Zone yang sama, di dalam Region yang dikonfigurasi. Ini untuk menghindari Availability Zone kosong saat penyeimbangan beban lintas zona tidak aktif, karena ini memicu kesalahan 503 untuk semua permintaan HTTP yang masuk ke Availability Zone kosong.

  • Hindari membuat subnet kosong. Application Load Balancers mengekspos alamat IP zonal melalui DNS untuk subnet kosong, yang memicu 503 kesalahan untuk permintaan HTTP.

  • Mungkin ada kejadian di mana kelompok target dengan penyeimbangan beban lintas zona dimatikan memiliki kapasitas target yang direncanakan yang cukup per Availability Zone, tetapi semua target di Availability Zone menjadi tidak sehat. Ketika ada setidaknya satu kelompok target dengan semua target yang tidak sehat, alamat IP dari node penyeimbang beban dihapus dari DNS. Setelah kelompok target memiliki setidaknya satu target yang sehat, alamat IP dikembalikan ke DNS.

Matikan penyeimbangan beban lintas zona

Anda dapat mematikan penyeimbangan beban lintas zona untuk grup target Application Load Balancer Anda kapan saja.

Console
Untuk mematikan penyeimbangan beban lintas zona
  1. Buka EC2 konsol Amazon di https://console.aws.amazon.com/ec2/.

  2. Pada panel navigasi, di bawah Penyeimbangan Beban, pilih Grup Target.

  3. Pilih nama grup target untuk menampilkan laman detailnya.

  4. Pada tab Atribut, pilih Edit.

  5. Di bawah Konfigurasi pemilihan Target, pilih Off for Cross-zone load balancing.

  6. Pilih Simpan perubahan.

AWS CLI
Untuk mematikan penyeimbangan beban lintas zona

Gunakan modify-target-group-attributesperintah dan atur load_balancing.cross_zone.enabled atribut kefalse.

aws elbv2 modify-target-group-attributes \ --target-group-arn target-group-arn \ --attributes "Key=load_balancing.cross_zone.enabled,Value=false"
CloudFormation
Untuk mematikan penyeimbangan beban lintas zona

Perbarui AWS::ElasticLoadBalancingV2::TargetGroupsumber daya untuk menyertakan load_balancing.cross_zone.enabled atribut.

Resources: myTargetGroup: Type: 'AWS::ElasticLoadBalancingV2::TargetGroup' Properties: Name: my-target-group Protocol: HTTP Port: 80 TargetType: ip VpcId: !Ref myVPC TargetGroupAttributes: - Key: "load_balancing.cross_zone.enabled" Value: "false"

Aktifkan penyeimbangan beban lintas zona

Anda dapat mengaktifkan penyeimbangan beban lintas zona untuk grup target Application Load Balancer Anda kapan saja. Pengaturan penyeimbangan beban lintas zona pada tingkat kelompok target mengesampingkan pengaturan di tingkat penyeimbang beban.

Console
Untuk mematikan penyeimbangan beban lintas zona
  1. Buka EC2 konsol Amazon di https://console.aws.amazon.com/ec2/.

  2. Pada panel navigasi, di bawah Penyeimbangan Beban, pilih Grup Target.

  3. Pilih nama grup target untuk menampilkan laman detailnya.

  4. Pada tab Atribut, pilih Edit.

  5. Di bawah Konfigurasi pemilihan Target, pilih On for Cross-zone load balancing.

  6. Pilih Simpan perubahan.

AWS CLI
Untuk mengaktifkan penyeimbangan beban lintas zona

Gunakan modify-target-group-attributesperintah dan atur load_balancing.cross_zone.enabled atribut ketrue.

aws elbv2 modify-target-group-attributes \ --target-group-arn target-group-arn \ --attributes "Key=load_balancing.cross_zone.enabled,Value=true"
CloudFormation
Untuk mengaktifkan penyeimbangan beban lintas zona

Perbarui AWS::ElasticLoadBalancingV2::TargetGroupsumber daya untuk menyertakan load_balancing.cross_zone.enabled atribut.

Resources: myTargetGroup: Type: 'AWS::ElasticLoadBalancingV2::TargetGroup' Properties: Name: my-target-group Protocol: HTTP Port: 80 TargetType: ip VpcId: !Ref myVPC TargetGroupAttributes: - Key: "load_balancing.cross_zone.enabled" Value: "true"

Bobot Target Otomatis (ATW)

Automatic Target Weights (ATW) secara konstan memonitor target yang menjalankan aplikasi Anda, mendeteksi penyimpangan kinerja yang signifikan, yang dikenal sebagai anomali. ATW menyediakan kemampuan untuk secara dinamis menyesuaikan jumlah lalu lintas yang diarahkan ke target, melalui deteksi anomali data waktu nyata.

Automatic Target Weights (ATW) melakukan deteksi anomali pada setiap Application Load Balancer di akun Anda secara otomatis. Ketika target anomali diidentifikasi, ATW dapat secara otomatis mencoba menstabilkannya dengan mengurangi jumlah lalu lintas yang dialihkan, yang dikenal sebagai mitigasi anomali. ATW terus mengoptimalkan distribusi lalu lintas untuk memaksimalkan tingkat keberhasilan per target sambil meminimalkan tingkat kegagalan kelompok sasaran.

Pertimbangan:
  • Deteksi anomali saat ini memantau kode respons HTTP 5xx yang berasal dari, dan kegagalan koneksi ke, target Anda. Deteksi anomali selalu aktif dan tidak dapat dimatikan.

  • ATW tidak didukung saat menggunakan Lambda sebagai target.

Deteksi anomali

Deteksi anomali ATW memantau untuk setiap target yang menampilkan penyimpangan perilaku yang signifikan dari target lain dalam kelompok target mereka. Penyimpangan ini, yang disebut anomali, ditentukan dengan membandingkan persen kesalahan satu target dengan persen kesalahan target lain dalam kelompok sasaran. Kesalahan ini dapat berupa kesalahan koneksi dan kode kesalahan HTTP. Target yang melaporkan secara signifikan lebih tinggi daripada rekan-rekan mereka kemudian dianggap anomali.

Deteksi anomali membutuhkan minimal tiga target sehat dalam kelompok sasaran. Ketika target terdaftar ke kelompok sasaran, target harus lulus pemeriksaan kesehatan sebelum menerima lalu lintas. Setelah target mulai menerima lalu lintas, ATW mulai memantau target dan terus menerbitkan hasil anomali. Untuk target tanpa anomali, hasil anomali adalah. normal Untuk target dengan anomali, hasil anomali adalah. anomalous

Deteksi anomali ATW bekerja secara independen dari pemeriksaan kesehatan kelompok sasaran. Target dapat melewati semua pemeriksaan kesehatan kelompok sasaran, tetapi masih ditandai anomali karena tingkat kesalahan yang meningkat. Target yang menjadi anomali tidak mempengaruhi status pemeriksaan kesehatan kelompok sasaran mereka.

Status deteksi anomali

Anda dapat melihat status deteksi anomali saat ini. Berikut ini adalah nilai yang mungkin:

  • normalTidak ada anomali yang terdeteksi.

  • anomalousAnomali terdeteksi.

Console
Untuk melihat status deteksi anomali
  1. Buka EC2 konsol Amazon di https://console.aws.amazon.com/ec2/.

  2. Pada panel navigasi, di bawah Penyeimbangan Beban, pilih Grup Target.

  3. Pilih nama grup target untuk menampilkan detailnya.

  4. Pilih tabTarget.

  5. Dalam tabel Target terdaftar, kolom hasil deteksi anomali menampilkan status anomali setiap target.

AWS CLI
Untuk melihat status deteksi anomali

Gunakan perintah describe-target-health. Contoh berikut menampilkan status untuk setiap target dalam kelompok target yang ditentukan.

aws elbv2 describe-target-health \ --target-group-arn target-group-arn \ --include AnomalyDetection

Mitigasi anomali

Mitigasi anomali ATW mengarahkan lalu lintas menjauh dari target anomali secara otomatis, memberi mereka kesempatan untuk pulih.

Persyaratan

Fungsi mitigasi anomali ATW hanya tersedia saat menggunakan algoritma perutean acak tertimbang.

Selama mitigasi:
  • ATW secara berkala menyesuaikan jumlah lalu lintas yang diarahkan ke target anomali. Saat ini, periodenya setiap lima detik.

  • ATW mengurangi jumlah lalu lintas yang diarahkan ke target anomali ke jumlah minimum yang diperlukan untuk melakukan mitigasi anomali.

  • Target yang tidak lagi terdeteksi sebagai anomali secara bertahap akan memiliki lebih banyak lalu lintas yang diarahkan ke mereka sampai mereka mencapai paritas dengan target normal lainnya dalam kelompok sasaran.

Console
Untuk mengaktifkan mitigasi anomali
  1. Buka EC2 konsol Amazon di https://console.aws.amazon.com/ec2/.

  2. Pada panel navigasi, di bawah Penyeimbangan Beban, pilih Grup Target.

  3. Pilih nama grup target untuk menampilkan laman detailnya.

  4. Pada tab Atribut, pilih Edit.

  5. Di panel konfigurasi Lalu lintas, di bawah Algoritma penyeimbangan beban, pastikan bahwa Weighted random dipilih.

    Ketika algoritma acak tertimbang awalnya dipilih, deteksi anomali diaktifkan secara default.

  6. Di bawah mitigasi anomali, pastikan bahwa Aktifkan mitigasi anomali dipilih.

  7. Pilih Simpan perubahan.

AWS CLI
Untuk mengaktifkan mitigasi anomali

Gunakan modify-target-group-attributesperintah dengan load_balancing.algorithm.anomaly_mitigation atribut.

aws elbv2
Status mitigasi

Anda dapat memeriksa apakah ATW melakukan mitigasi pada target. Berikut ini adalah nilai yang mungkin:

  • yesMitigasi sedang berlangsung.

  • noMitigasi tidak sedang berlangsung.

Console
Untuk melihat status mitigasi anomali
  1. Buka EC2 konsol Amazon di https://console.aws.amazon.com/ec2/.

  2. Pada panel navigasi, di bawah Penyeimbangan Beban, pilih Grup Target.

  3. Pilih nama grup target untuk menampilkan detailnya.

  4. Pilih tabTarget.

  5. Dalam tabel Target terdaftar, Anda dapat melihat status mitigasi anomali dari setiap target di kolom Mitigasi berlaku.

AWS CLI
Untuk melihat status mitigasi anomali

Gunakan perintah describe-target-health. Contoh berikut menampilkan status untuk setiap target dalam kelompok target yang ditentukan.

aws elbv2 describe-target-health \ --target-group-arn target-group-arn \ --include AnomalyDetection

Sesi lengket untuk Application Load Balancer Anda

Secara default, Application Load Balancer merutekan setiap permintaan secara independen ke target terdaftar berdasarkan algoritma load-balancing yang dipilih. Namun, Anda dapat menggunakan fitur sesi lekat (juga dikenal sebagai sesi afinitas atau sesi gabungan) untuk mengaktifkan penyeimbang beban untuk mengikat sesi pengguna ke target tertentu. Hal ini memastikan bahwa semua permintaan dari pengguna selama sesi dikirim ke target yang sama. Fitur ini berguna untuk server yang mempertahankan informasi negara untuk memberikan pengalaman terus-menerus untuk klien. Untuk menggunakan sesi lekat, klien harus mendukung cookie.

Application Load Balancer mendukung cookie berbasis durasi dan cookie berbasis aplikasi. Sesi lekat diaktifkan pada tingkat kelompok target. Anda dapat menggunakan kombinasi kekakuan berbasis durasi, kelengketan berbasis aplikasi, dan tidak lengket di seluruh grup target Anda.

Kunci untuk mengelola sesi lekat adalah menentukan berapa lama penyeimbang beban Anda harus secara konsisten mengarahkan permintaan pengguna ke target yang sama. Jika aplikasi Anda memiliki cookie sesi sendiri, maka Anda dapat menggunakan kekakuan berbasis aplikasi dan cookie sesi penyeimbang beban mengikuti durasi yang ditentukan oleh cookie sesi aplikasi. Jika aplikasi Anda tidak memiliki cookie sesi sendiri, maka Anda dapat menggunakan lengket berbasis durasi untuk menghasilkan cookie sesi penyeimbang beban dengan durasi yang Anda tentukan.

Isi cookie yang dihasilkan penyeimbang beban dienkripsi menggunakan tombol berputar. Anda tidak dapat mendekripsi atau memodifikasi cookie yang dihasilkan penyeimbang beban.

Untuk kedua jenis lengket, Application Load Balancer mengatur ulang berakhirnya cookie yang dihasilkannya setelah setiap permintaan. Jika cookie berakhir, sesi tidak lagi lekat dan klien harus menghapus cookie dari toko cookie.

Persyaratan
  • Penyeimbang HTTP/HTTPS beban.

  • Setidaknya satu contoh sehat di setiap Availability Zone.

Pertimbangan
  • Sesi lengket tidak didukung jika penyeimbangan beban lintas zona dinonaktifkan. Mencoba mengaktifkan sesi lengket saat penyeimbangan beban lintas zona dinonaktifkan akan gagal.

  • Untuk cookie berbasis aplikasi, nama cookie harus ditentukan secara individual untuk setiap kelompok target. Namun, untuk cookie berbasis durasi,AWSALBadalah satu-satunya nama yang digunakan di semua kelompok target.

  • Jika Anda menggunakan beberapa lapisan Balancers Beban Aplikasi, Anda dapat mengaktifkan sesi yang lekat di semua lapisan dengan cookie berbasis aplikasi. Namun, dengan cookie berbasis durasi, Anda dapat mengaktifkan sesi lengket hanya pada satu lapisan, karenaAWSALBadalah satu-satunya nama yang tersedia.

  • Jika Application Load Balancer menerima cookie lengket AWSALB berbasis AWSALBCORS dan durasi, nilai dalam akan diutamakan. AWSALBCORS

  • Stickiness berbasis aplikasi tidak bekerja dengan kelompok target tertimbang.

  • Jika Anda memilikiTindakan ke depandengan beberapa kelompok target, dan sesi lengket diaktifkan untuk satu atau lebih kelompok target, Anda harus mengaktifkan kelekatan di tingkat grup target.

  • WebSocket koneksi secara inheren lengket. Jika klien meminta upgrade koneksi ke WebSockets, target yang mengembalikan kode status HTTP 101 untuk menerima upgrade koneksi adalah target yang digunakan dalam WebSockets koneksi. Setelah WebSockets upgrade selesai, kekakuan berbasis cookie tidak digunakan.

  • Application Load Balancers menggunakanExpiresatribut dalam header cookie bukanMax-Ageatribut.

  • Application Load Balancers tidak mendukung nilai-nilai cookie yang URL dikodekan.

  • Jika Application Load Balancer menerima permintaan baru saat target terkuras karena deregistrasi, permintaan dialihkan ke target yang sehat.

Kelekatan berbasis durasi

Rute lekat berbasis durasi meminta target yang sama di grup target menggunakan cookie yang dihasilkan load balancer (AWSALB). Cookie ini digunakan untuk memetakan sesi ke target. Jika aplikasi Anda tidak memiliki cookie sesi sendiri, Anda dapat menentukan durasi lekat Anda sendiri dan mengelola berapa lama load balancer Anda harus secara konsisten mengarahkan permintaan pengguna ke target yang sama.

Ketika load balancer pertama kali menerima permintaan dari klien, load balancer merutekan permintaan ke target (berdasarkan algoritma yang dipilih), dan menghasilkan cookie bernamaAWSALB. Ini mengkodekan informasi tentang target yang dipilih, mengenkripsi cookie, dan melibatkan cookie dalam menanggapi klien. Load balancer yang dihasilkan cookie memiliki kadaluwarsa sendiri 7 hari yang tidak dapat dikonfigurasi.

Dalam permintaan berikutnya, klien harus mencakup cookieAWSALB. Ketika load balancer menerima permintaan dari klien yang berisi cookie, mendeteksi dan rute permintaan ke target yang sama. Jika cookie ada tetapi tidak dapat diterjemahkan, atau jika mengacu pada target yang tidak terdaftar atau tidak sehat, penyeimbang beban memilih target baru dan memperbarui cookie dengan informasi tentang target baru.

Untuk permintaan berbagi sumber daya lintas asal (CORS), beberapa browser SameSite=None; Secure perlu mengaktifkan kekakuan. Untuk mendukung browser ini, penyeimbang beban selalu menghasilkan cookie lengket keduaAWSALBCORS, yang mencakup informasi yang sama dengan cookie lengket asli, serta atributnya. SameSite Klien menerima kedua cookie, termasuk permintaan non-CORS.

Console
Untuk mengaktifkan kelengketan berbasis durasi
  1. Buka EC2 konsol Amazon di https://console.aws.amazon.com/ec2/.

  2. Pada panel navigasi, di bawah Penyeimbangan Beban, pilih Grup Target.

  3. Pilih nama grup target untuk menampilkan laman detailnya.

  4. Pada tab Atribut, pilih Edit.

  5. Di bawah Konfigurasi pemilihan Target, lakukan hal berikut:

    1. Pilih Nyalakan lengket.

    2. UntukJenis kelekatanPilihCookies yang dihasilkan load balancer.

    3. UntukDurasi kelekatan, tentukan nilai antara 1 detik dan 7 hari.

    4. Pilih Simpan perubahan.

AWS CLI
Untuk mengaktifkan kelengketan berbasis durasi

Gunakan modify-target-group-attributesperintah dengan stickiness.lb_cookie.duration_seconds atribut stickiness.enabled dan.

aws elbv2 modify-target-group-attributes \ --target-group-arn target-group-arn \ --attributes \ "Key=stickiness.enabled,Value=true" \ "Key=stickiness.lb_cookie.duration_seconds,Value=300"
CloudFormation
Untuk mengaktifkan kelengketan berbasis durasi

Perbarui AWS::ElasticLoadBalancingV2::TargetGroupsumber daya untuk menyertakan stickiness.enabled dan stickiness.lb_cookie.duration_seconds atribut.

Resources: myTargetGroup: Type: 'AWS::ElasticLoadBalancingV2::TargetGroup' Properties: Name: my-target-group Protocol: HTTP Port: 80 TargetType: ip VpcId: !Ref myVPC TargetGroupAttributes: - Key: "stickiness.enabled" Value: "true" - Key: "stickiness.lb_cookie.duration_seconds" Value: "300"

Kelekatan berbasis aplikasi

Stickiness berbasis aplikasi memberi Anda fleksibilitas untuk menetapkan kriteria Anda sendiri untuk kelekatan target klien. Bila Anda mengaktifkan kelekatan berbasis aplikasi, penyeimbang beban akan mengarahkan permintaan pertama ke target dalam grup target berdasarkan algoritme yang dipilih. Target diharapkan untuk menetapkan cookie aplikasi kustom yang cocok dengan cookie yang dikonfigurasi pada penyeimbang beban untuk mengaktifkan kelekatan. Cookie kustom ini dapat mencakup salah satu atribut cookie yang diperlukan oleh aplikasi.

Ketika Application Load Balancer menerima cookie aplikasi kustom dari target, maka secara otomatis menghasilkan cookie aplikasi terenkripsi baru untuk menangkap informasi sesi kelekatan. Cookie aplikasi yang dihasilkan load balancer ini menangkap informasi lekat untuk setiap grup target yang mengaktifkan kelekatan berbasis aplikasi.

Cookie aplikasi yang dihasilkan load balancer tidak menyalin atribut cookie kustom yang ditetapkan oleh target. Cookie aplikasi ini akan berakhir dengan sendirinya dalam 7 hari yang tidak dapat dikonfigurasi. Dalam menanggapi klien, Application Load Balancer hanya memvalidasi nama yang dikonfigurasi cookie kustom pada tingkat kelompok target dan bukan nilai atau atribut kadaluwarsa cookie kustom. Selama nama cocok, load balancer mengirimkan kedua cookie, cookie kustom yang ditetapkan oleh target, dan cookie aplikasi yang dihasilkan oleh load balancer, dalam menanggapi klien.

Dalam permintaan berikutnya, klien harus mengirim kembali kedua cookie untuk mempertahankan kelekatan atau sesi afinitas. Load balancer mendekripsi cookie aplikasi, dan memeriksa apakah durasi lekat yang dikonfigurasi masih berlaku. Kemudian informasi dalam cookie digunakan untuk mengirim permintaan ke target yang sama dalam kelompok target untuk mempertahankan kelekatan. Load balancer juga proxy cookie aplikasi kustom ke target tanpa memeriksa atau memodifikasinya. Dalam tanggapan berikutnya, berakhirnya load balancer yang dihasilkan cookie aplikasi dan durasi kelekatan yang dikonfigurasi pada load balancer diatur ulang. Untuk menjaga kelekatan antara klien dan target, kedaluwarsanya cookie, dan durasi kelekatan seharusnya tidak terlewat.

Jika target gagal atau menjadi tidak sehat, load balancer akan berhenti merutekan permintaan ke target tersebut, dan memilih target baru yang sehat berdasarkan algoritma load balancing yang dipilih. Load balancer memperlakukan sesi tersebut seakan “terjebak” ke target baru yang sehat, dan terus merutekan permintaan ke target sehat yang baru bahkan jika target yang gagal kembali.

Dengan permintaan cross-origin resource sharing (CORS), untuk mengaktifkan kelekatan, load balancer menambahkanSameSite=None; Secureatribut ke cookie aplikasi yang dihasilkannya hanya jika versi agen pengguna adalah Chromium80 ke atas.

Karena sebagian besar browser membatasi cookie hingga ukuran 4K, penyeimbang beban memecah cookie aplikasi lebih besar dari 4K menjadi beberapa cookie. Application Load Balancer mendukung cookie hingga 16K dalam ukuran dan karena itu dapat membuat hingga 4 pecahan yang dikirimkan ke klien. Nama cookie aplikasi yang dilihat klien dimulai dengan “AWSALBAPP-” dan termasuk nomor fragmen. Misalnya, jika ukuran cookie 0-4K, klien melihat AWSALBAPP -0. Jika ukuran cookie 4-8k, klien melihat AWSALBAPP -0 dan AWSALBAPP -1, dan seterusnya.

Console
Untuk mengaktifkan kelengketan berbasis aplikasi
  1. Buka EC2 konsol Amazon di https://console.aws.amazon.com/ec2/.

  2. Pada panel navigasi, di bawah Penyeimbangan Beban, pilih Grup Target.

  3. Pilih nama grup target untuk menampilkan laman detailnya.

  4. Pada tab Atribut, pilih Edit.

  5. Di bawah Konfigurasi pemilihan Target, lakukan hal berikut:

    1. Pilih Nyalakan lengket.

    2. UntukJenis kelekatanPilihCookie berbasis aplikasi.

    3. UntukDurasi lengket, tentukan nilai antara 1 detik dan 7 hari.

    4. UntukNama cookie aplikasi, masukkan nama untuk cookie berbasis aplikasi Anda.

      Jangan gunakanAWSALB,AWSALBAPP, atauAWSALBTGuntuk nama cookie; karena sudah dicadangkan untuk digunakan oleh load balancer.

    5. Pilih Simpan perubahan.

AWS CLI
Untuk mengaktifkan kelengketan berbasis aplikasi

Gunakan modify-target-group-attributesperintah dengan atribut berikut:

  • stickiness.enabled

  • stickiness.type

  • stickiness.app_cookie.cookie_name

  • stickiness.app_cookie.duration_seconds

aws elbv2 modify-target-group-attributes \ --target-group-arn target-group-arn \ --attributes \ "Key=stickiness.enabled,Value=true" \ "Key=stickiness.type,Value=app_cookie" \ "Key=stickiness.app_cookie.cookie_name,Value=my-cookie-name" \ "Key=stickiness.app_cookie.duration_seconds,Value=300"
CloudFormation
Untuk mengaktifkan kelengketan berbasis aplikasi

Perbarui AWS::ElasticLoadBalancingV2::TargetGroupsumber daya untuk menyertakan atribut berikut:

  • stickiness.enabled

  • stickiness.type

  • stickiness.app_cookie.cookie_name

  • stickiness.app_cookie.duration_seconds

Resources: myTargetGroup: Type: 'AWS::ElasticLoadBalancingV2::TargetGroup' Properties: Name: my-target-group Protocol: HTTP Port: 80 TargetType: ip VpcId: !Ref myVPC TargetGroupAttributes: - Key: "stickiness.enabled" Value: "true" - Key: "stickiness.type" Value: "app_cookie" - Key: "stickiness.app_cookie.cookie_name" Value: "my-cookie-name" - Key: "stickiness.app_cookie.duration_seconds" Value: "300"
Penyeimbangan ulang manual

Saat meningkatkan skala, jika jumlah target meningkat secara signifikan, ada potensi distribusi beban yang tidak merata karena afinitas. Dalam skenario ini, Anda dapat menyeimbangkan beban pada target Anda menggunakan dua pilihan berikut:

  • Mengatur kadaluwarsa pada cookie yang dihasilkan oleh aplikasi sebelum tanggal dan waktunya. Ini mencegah klien mengirim cookie ke Application Load Balancer, yang akan memulai kembali proses pembentukan lengket.

  • Tetapkan durasi singkat pada konfigurasi lengket berbasis aplikasi penyeimbang beban; misalnya, 1 detik. Ini memaksa Application Load Balancer untuk membangun kembali kekakuan meskipun cookie yang ditetapkan oleh target tidak kedaluwarsa.