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.

Untuk memperbarui nilai penundaan deregistrasi menggunakan konsol
  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. Pada tabDetail grup, di bagian atribut, pilihEdit.

  5. Pada laman Edit atribut, mengubah nilaiPenundaan Deregistrasiseperlunya.

  6. Pilih Simpan perubahan.

Untuk memperbarui nilai penundaan deregistrasi menggunakan AWS CLI

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

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.

Untuk memperbarui nilai durasi mulai lambat menggunakan konsol
  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. Pada tabDetail kelompok, di bagianatribut, pilihEdit.

  5. Pada lamanEdit atribut, ubah nilaiDurasi mulai lambatseperlunya. Untuk menonaktifkan mode mulai lambat, atur durasi ke 0.

  6. Pilih Simpan perubahan.

Untuk memperbarui nilai durasi mulai lambat menggunakan AWS CLI

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

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 ketika 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 setidaknya ada 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.

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

  2. Pada panel navigasi, di bawah Load Balancing, pilih Grup Target.

  3. Pilih nama grup target untuk membuka halaman detailnya.

  4. Pada tab Atribut, pilih Edit.

  5. Pada halaman Edit atribut grup target, pilih Off for Cross-zone load balancing.

  6. Pilih Simpan perubahan.

Untuk mematikan penyeimbangan beban lintas zona menggunakan AWS CLI

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

aws elbv2 modify-target-group-attributes --target-group-arn my-targetgroup-arn --attributes Key=load_balancing.cross_zone.enabled,Value=false

Berikut adalah respons contohnya:

{ "Attributes": [ { "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.

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

  2. Pada panel navigasi, di bawah Load Balancing, pilih Grup Target.

  3. Pilih nama grup target untuk membuka halaman detailnya.

  4. Pada tab Atribut, pilih Edit.

  5. Pada halaman Edit atribut grup target, pilih Aktif untuk penyeimbangan beban lintas zona.

  6. Pilih Simpan perubahan.

Untuk mengaktifkan penyeimbangan beban lintas zona menggunakan AWS CLI

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

aws elbv2 modify-target-group-attributes --target-group-arn my-targetgroup-arn --attributes Key=load_balancing.cross_zone.enabled,Value=true

Berikut adalah respons contohnya:

{ "Attributes": [ { "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, pertama-tama harus lulus pemeriksaan kesehatan untuk mulai menerima lalu lintas. Setelah target menerima target, 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

ATW terus menerbitkan status deteksi anomali yang dilakukannya pada target. Anda dapat melihat status saat ini kapan saja menggunakan AWS Management Console atau AWS CLI.

Untuk melihat status deteksi anomali menggunakan konsol
  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. Pada halaman detail grup target, pilih tab Target.

  5. Dalam tabel Target terdaftar, Anda dapat melihat setiap status anomali target di kolom Hasil deteksi anomali.

    Jika tidak ada anomali yang terdeteksi, hasilnya adalah. normal

    Jika anomali terdeteksi, hasilnya adalah. anomalous

Untuk melihat hasil deteksi anomali menggunakan AWS CLI

Gunakan describe-target-healthperintah dengan nilai Include.member.N atribut yang disetel keAnomalyDetection.

Mitigasi anomali

penting

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

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

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.

Aktifkan mitigasi anomali ATW

Anda dapat mengaktifkan mitigasi anomali kapan saja.

Untuk mengaktifkan mitigasi anomali menggunakan konsol
  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. Pada halaman detail grup target, pada tab Atribut, pilih Edit.

  5. Pada halaman Edit atribut grup target, di bagian Konfigurasi lalu lintas, di bawah Algoritma penyeimbangan beban, pastikan acak tertimbang dipilih.

    Catatan: Ketika algoritma acak tertimbang awalnya dipilih, deteksi anomali aktif secara default.

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

  7. Pilih Simpan perubahan.

Untuk mengaktifkan mitigasi anomali menggunakan AWS CLI

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

Status mitigasi anomali

Setiap kali ATW melakukan mitigasi pada target, Anda dapat melihat status saat ini kapan saja menggunakan atau. AWS Management Console AWS CLI

Untuk melihat status mitigasi anomali menggunakan konsol
  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. Pada halaman detail grup target, pilih tab Target.

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

    Jika mitigasi tidak sedang berlangsung, statusnya. yes

    Jika mitigasi sedang berlangsung, statusnya. no

Untuk melihat status mitigasi anomali menggunakan AWS CLI

Gunakan describe-target-healthperintah dengan nilai Include.member.N atribut yang disetel keAnomalyDetection.

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 load balancer yang dihasilkan cookie.

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 beban HTTP/HTTPS.

  • 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.

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 hadir tetapi tidak dapat diterjemahkan, atau jika mengacu pada target yang deregistered 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.

Cara mengaktifkan kelekatan berbasis durasi menggunakan konsol
  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. Pada tabDetail kelompok, di bagianatribut, pilihEdit.

  5. Di laman Edit Perilaku , lakukan hal berikut:

    1. PilihKelekatan.

    2. UntukJenis kelekatanPilihCookies yang dihasilkan load balancer.

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

    4. Pilih Simpan perubahan.

Untuk mengaktifkan kelengketan berbasis durasi menggunakan AWS CLI

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

Gunakan perintah berikut untuk mengaktifkan kelekatan berbasis durasi.

aws elbv2 modify-target-group-attributes --target-group-arn ARN --attributes Key=stickiness.enabled,Value=true Key=stickiness.lb_cookie.duration_seconds,Value=time-in-seconds

Output Anda harus serupa dengan berikut ini.

{ "Attributes": [ ... { "Key": "stickiness.enabled", "Value": "true" }, { "Key": "stickiness.lb_cookie.duration_seconds", "Value": "86500" }, ... ] }

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 dengan ukuran 4K, load balancer memecah cookie aplikasi yang lebih besar dari 4K ke dalam 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.

Cara mengaktifkan kelekatan berbasis aplikasi menggunakan konsol
  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. Pada tabDetail kelompok, di bagianatribut, pilihEdit.

  5. Di laman Edit Perilaku , lakukan hal berikut:

    1. PilihKelekatan.

    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.

Untuk mengaktifkan kelengketan berbasis aplikasi menggunakan AWS CLI

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

  • stickiness.enabled

  • stickiness.type

  • stickiness.app_cookie.cookie_name

  • stickiness.app_cookie.duration_seconds

Gunakan perintah berikut untuk mengaktifkan kelekatan berbasis aplikasi.

aws elbv2 modify-target-group-attributes --target-group-arn 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=time-in-seconds

Output Anda harus serupa dengan berikut ini.

{ "Attributes": [ ... { "Key": "stickiness.enabled", "Value": "true" }, { "Key": "stickiness.app_cookie.cookie_name", "Value": "MyCookie" }, { "Key": "stickiness.type", "Value": "app_cookie" }, { "Key": "stickiness.app_cookie.duration_seconds", "Value": "86500" }, ... ] }
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 akan mencegah klien mengirim cookie ke Application Load Balancer, yang akan memulai ulang proses pembentukan kelekatan.

  • Tetapkan durasi yang sangat singkat pada konfigurasi kelekatan berbasis aplikasi load balancer, misalnya, 1 detik. Ini memaksa Application Load Balancer untuk membangun kembali kelekatan meskipun cookie yang ditetapkan oleh target belum kedaluwarsa.