Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Application Load Balancer
Penyeimbang beban berfungsi sebagai titik kontak tunggal untuk klien. Klien mengirim permintaan ke penyeimbang beban, dan penyeimbang beban mengirimkannya ke target, seperti EC2 instance. Untuk mengonfigurasi penyeimbang beban, Anda membuat grup target, lalu mendaftarkan target dengan grup target Anda. Anda juga membuat listener untuk memeriksa permintaan koneksi dari klien dan aturan listener untuk merutekan permintaan dari klien ke target di satu atau beberapa grup target.
Untuk informasi selengkapnya, lihat Cara kerja Elastic Load Balancing di Panduan Pengguna Elastic Load Balancing.
Daftar Isi
- Subnet untuk penyeimbang beban Anda
- Grup keamanan penyeimbang beban
- Status penyeimbang beban
- Atribut penyeimbang beban
- Jenis alamat IP
- Koneksi penyeimbang beban
- Penyeimbangan beban lintas zona
- AWS WAF
- Membuat penyeimbang beban
- Memperbarui Availability Zone
- Memperbarui grup keamanan
- Perbarui jenis alamat IP
- Edit atribut penyeimbang beban
- Tandai penyeimbang beban
- Menghapus penyeimbang beban
- Lihat peta sumber daya
- Mulai pergeseran zona
Subnet untuk penyeimbang beban Anda
Saat Anda membuat Application Load Balancer, Anda harus mengaktifkan zona yang berisi target Anda. Untuk mengaktifkan zona, tentukan subnet di zona tersebut. Elastic Load Balancing menciptakan simpul penyeimbang beban di setiap zona yang Anda tentukan.
Pertimbangan
-
Penyeimbang beban Anda paling efektif ketika Anda memastikan bahwa setiap zona yang diaktifkan memiliki setidaknya satu target terdaftar.
-
Jika Anda mendaftarkan target di zona tetapi tidak mengaktifkan zona tersebut, target terdaftar ini tidak menerima lalu lintas dari penyeimbang beban.
-
Jika Anda mengaktifkan beberapa zona untuk penyeimbang beban Anda, zona harus dari jenis yang sama. Misalnya, Anda tidak dapat mengaktifkan Availability Zone dan Local Zone.
-
Anda dapat menentukan subnet yang dibagikan dengan Anda.
Aplikasi Load Balancers mendukung jenis subnet berikut.
Subnet Zona Ketersediaan
Anda harus memilih setidaknya dua subnet Availability Zone. Pembatasan berikut berlaku:
-
Setiap subnet harus berasal dari Availability Zone yang berbeda.
-
Untuk memastikan penyeimbang beban Anda dapat menskalakan dengan benar, verifikasi bahwa setiap subnet Availability Zone untuk penyeimbang beban Anda memiliki CIDR blok dengan setidaknya
/27
bitmask (misalnya,10.0.0.0/27
) dan setidaknya delapan alamat IP gratis per subnet. Kedelapan alamat IP ini diperlukan untuk memungkinkan penyeimbang beban skala jika diperlukan. Penyeimbang beban Anda menggunakan alamat IP ini untuk membuat koneksi dengan target. Tanpa mereka Application Load Balancer Anda dapat mengalami kesulitan dengan upaya penggantian node, menyebabkannya memasuki status gagal.Catatan: Jika subnet Application Load Balancers kehabisan alamat IP yang dapat digunakan saat mencoba menskalakan, Application Load Balancer akan berjalan dengan kapasitas yang tidak mencukupi. Selama waktu ini node lama akan terus melayani lalu lintas, tetapi upaya penskalaan yang macet dapat menyebabkan kesalahan 5xx atau batas waktu ketika mencoba membuat koneksi.
Subnet Zona Lokal
Anda dapat menentukan satu atau beberapa subnet Zona Lokal. Pembatasan berikut berlaku:
-
Anda tidak dapat menggunakan AWS WAF dengan penyeimbang beban.
-
Anda tidak dapat menggunakan fungsi Lambda sebagai target.
-
Anda tidak dapat menggunakan sesi lengket atau kelengketan aplikasi.
Subnet pos terdepan
Anda dapat menentukan subnet Outpost tunggal. Pembatasan berikut berlaku:
-
Anda harus menginstal dan mengonfigurasi Outpost di pusat data On-Premise Anda. Anda harus memiliki koneksi jaringan yang dapat diandalkan antara Outpost Anda dan Wilayah AWS . Untuk informasi selengkapnya, lihat Panduan Pengguna AWS Outposts.
-
Penyeimbang beban membutuhkan dua
large
instance di Outpost untuk node penyeimbang beban. Jenis instance yang didukung ditampilkan dalam tabel berikut. Timbangan penyeimbang beban sesuai kebutuhan, mengubah ukuran node satu ukuran pada satu waktu (darilarge
kexlarge
, laluxlarge
ke2xlarge
, dan kemudian2xlarge
ke4xlarge
). Setelah menskalakan node ke ukuran instans terbesar, jika Anda membutuhkan kapasitas tambahan, penyeimbang beban menambahkan4xlarge
instance sebagai node penyeimbang beban. Jika Anda tidak memiliki kapasitas instans yang memadai atau alamat IP yang tersedia untuk menskalakan penyeimbang beban, penyeimbang beban melaporkan peristiwa ke AWS Health Dashboarddan status penyeimbang beban adalah active_impaired
. -
Anda dapat mendaftarkan target dengan ID instans atau alamat IP. Jika Anda mendaftarkan target di AWS Wilayah untuk Pos Luar, mereka tidak digunakan.
-
Fitur berikut tidak tersedia: Fungsi Lambda sebagai target, integrasi AWS WAF , sesi lekat, dukungan autentikasi, dan integrasi dengan AWS Global Accelerator.
Application Load Balancer dapat di-deploy pada instans c5/c5d, m5/m5d, atau r5/r5d pada Outpost. Tabel berikut menunjukkan ukuran dan EBS volume per jenis instans yang dapat digunakan penyeimbang beban pada Outpost:
Tipe dan ukuran instans | EBSvolume (GB) |
---|---|
c5/c5d | |
large | 50 |
xlarge | 50 |
2xlarge | 50 |
4xlarge | 100 |
m5/m5d | |
large | 50 |
xlarge | 50 |
2xlarge | 100 |
4xlarge | 100 |
r5/r5d | |
large | 50 |
xlarge | 100 |
2xlarge | 100 |
4xlarge | 100 |
Grup keamanan penyeimbang beban
Grup keamanan bertindak sebagai firewall yang mengontrol lalu lintas yang diizinkan ke dan dari penyeimbang beban Anda. Anda dapat memilih port dan protokol untuk mengizinkan lalu lintas masuk dan keluar.
Aturan untuk grup keamanan yang terkait dengan penyeimbang beban Anda harus mengizinkan lalu lintas di kedua arah pada listener dan port pemeriksaan kondisi. Setiap kali menambahkan listener ke penyeimbang beban atau memperbarui port pemeriksaan kondisi untuk grup target, Anda harus meninjau aturan grup keamanan untuk memastikan bahwa mereka mengizinkan lalu lintas pada port baru di kedua arah. Untuk informasi selengkapnya, lihat Aturan yang direkomendasikan.
Status penyeimbang beban
Penyeimbang beban dapat berada dalam salah satu status berikut:
provisioning
-
Penyeimbang beban sedang disiapkan.
active
-
Penyeimbang beban telah sepenuhnya disiapkan dan siap untuk merutekan lalu lintas.
active_impaired
-
Penyeimbang beban merutekan lalu lintas, tetapi tidak memiliki sumber daya yang dibutuhkan untuk menskalakan.
failed
-
Penyeimbang beban tidak dapat disiapkan.
Atribut penyeimbang beban
Berikut adalah atribut penyeimbang beban:
access_logs.s3.enabled
-
Menunjukkan apakah log akses yang disimpan di Amazon S3 diaktifkan. Default-nya adalah
false
. access_logs.s3.bucket
-
Nama bucket Amazon S3 untuk log akses. Atribut ini diperlukan jika log akses diaktifkan. Untuk informasi selengkapnya, lihat Aktifkan log akses.
access_logs.s3.prefix
-
Prefiks untuk lokasi di bucket Amazon S3.
client_keep_alive.seconds
-
Nilai klien keepalive, dalam hitungan detik. Standarnya adalah 3600 detik.
deletion_protection.enabled
-
Menunjukkan apakah perlindungan penghapusan diaktifkan. Default-nya adalah
false
. idle_timeout.timeout_seconds
-
Nilai batas waktu idle dalam detik. Nilai default-nya adalah 60 detik.
ipv6.deny_all_igw_traffic
-
Memblokir akses gateway internet (IGW) ke penyeimbang beban, mencegah akses yang tidak diinginkan ke penyeimbang beban internal Anda melalui gateway internet. Ini diatur
false
untuk penyeimbang beban yang menghadap ke internet dantrue
untuk penyeimbang beban internal. Atribut ini tidak mencegah akses IGW non-internet (seperti, melalui peering, Transit Gateway AWS Direct Connect, atau AWS VPN). routing.http.desync_mitigation_mode
-
Menentukan bagaimana penyeimbang beban menangani permintaan yang mungkin menimbulkan risiko keamanan pada aplikasi Anda. Nilai yang mungkin adalah
monitor
,defensive
, danstrictest
. Default-nya adalahdefensive
. routing.http.drop_invalid_header_fields.enabled
-
Menunjukkan apakah HTTP header dengan bidang header yang tidak valid dihapus oleh load balancer (
true
), atau dirutekan ke target ().false
Default-nya adalahfalse
. Elastic Load Balancing mengharuskan nama HTTP header yang valid sesuai dengan ekspresi reguler[-A-Za-z0-9]+
, seperti yang dijelaskan dalam Registri Nama HTTP Bidang. Setiap nama terdiri dari karakter alfanumerik atau tanda hubung. Pilihtrue
jika Anda ingin HTTP header yang tidak sesuai dengan pola ini, untuk dihapus dari permintaan. routing.http.preserve_host_header.enabled
-
Menunjukkan apakah Application Load Balancer harus mempertahankan
Host
header dalam HTTP permintaan dan mengirimkannya ke target tanpa perubahan apa pun. Nilai yang mungkin adalahtrue
danfalse
. Default-nya adalahfalse
. routing.http.x_amzn_tls_version_and_cipher_suite.enabled
-
Menunjukkan apakah dua header (
x-amzn-tls-version
danx-amzn-tls-cipher-suite
), yang berisi informasi tentang TLS versi yang dinegosiasikan dan cipher suite, ditambahkan ke permintaan klien sebelum mengirimnya ke target.x-amzn-tls-version
Header memiliki informasi tentang versi TLS protokol yang dinegosiasikan dengan klien, danx-amzn-tls-cipher-suite
header memiliki informasi tentang cipher suite yang dinegosiasikan dengan klien. Kedua header dalam SSL format Terbuka. Nilai yang mungkin untuk atribut adalahtrue
danfalse
. Default-nya adalahfalse
. routing.http.xff_client_port.enabled
-
Menunjukkan apakah
X-Forwarded-For
header harus mempertahankan port sumber yang digunakan klien untuk terhubung ke penyeimbang beban. Nilai yang mungkin adalahtrue
danfalse
. Default-nya adalahfalse
. routing.http.xff_header_processing.mode
-
Memungkinkan Anda untuk memodifikasi, mempertahankan, atau menghapus
X-Forward-For
header dalam HTTP permintaan sebelum Application Load Balancer mengirimkan permintaan ke target. Nilai yang mungkin adalahappend
,preserve
, danremove
. Default-nya adalahappend
.-
Jika nilainya
append
, Application Load Balancer menambahkan alamat IP klien (dari lompatan terakhir) keX-Forward-For
header dalam HTTP permintaan sebelum mengirimkannya ke target. -
Jika nilainya
preserve
, Application Load Balancer mempertahankanX-Forward-For
header dalam HTTP permintaan, dan mengirimkannya ke target tanpa perubahan apa pun. -
Jika nilainya
remove
, Application Load Balancer menghapusX-Forward-For
header dalam HTTP permintaan sebelum mengirimkannya ke target.
-
routing.http2.enabled
-
Menunjukkan apakah HTTP /2 diaktifkan. Default-nya adalah
true
. waf.fail_open.enabled
-
Menunjukkan apakah akan mengizinkan penyeimbang beban yang AWS WAF diaktifkan untuk merutekan permintaan ke target jika tidak dapat meneruskan permintaan ke. AWS WAF Nilai yang mungkin adalah
true
danfalse
. Default-nya adalahfalse
.
catatan
routing.http.drop_invalid_header_fields.enabled
Atribut diperkenalkan untuk menawarkan perlindungan HTTP desync. routing.http.desync_mitigation_mode
Atribut ditambahkan untuk memberikan perlindungan yang lebih komprehensif dari HTTP desync untuk aplikasi Anda. Anda tidak diharuskan untuk menggunakan kedua atribut dan dapat memilih salah satunya, tergantung pada persyaratan aplikasi Anda.
Jenis alamat IP
Anda dapat mengatur jenis alamat IP yang dapat digunakan klien untuk mengakses penyeimbang beban internal dan internet-facing Anda.
Application Load Balancers mendukung jenis alamat IP berikut:
ipv4
-
Klien harus terhubung ke penyeimbang beban menggunakan IPv4 alamat (misalnya, 192.0.2.1)
dualstack
-
Klien dapat terhubung ke penyeimbang beban menggunakan kedua IPv4 alamat (misalnya, 192.0.2.1) dan IPv6 alamat (misalnya, 2001:0 db 8:85 a 3:0:0:8 a2e: 0370:7334).
Pertimbangan
-
Load balancer berkomunikasi dengan target berdasarkan jenis alamat IP dari kelompok target.
-
Saat Anda mengaktifkan mode dualstack untuk penyeimbang beban, Elastic Load Balancing memberikan AAAA DNS catatan untuk penyeimbang beban. Klien yang berkomunikasi dengan penyeimbang beban menggunakan IPv4 alamat menyelesaikan DNS catatan A. Klien yang berkomunikasi dengan penyeimbang beban menggunakan IPv6 alamat menyelesaikan AAAA DNS catatan.
-
Akses ke penyeimbang beban dualstack internal Anda melalui gateway internet diblokir untuk mencegah akses internet yang tidak diinginkan. Namun, ini tidak mencegah akses IGW non-internet (seperti, melalui peering, Transit Gateway AWS Direct Connect, atau AWS VPN).
-
dualstack-without-public-ipv4
-
Klien harus terhubung ke penyeimbang beban menggunakan IPv6 alamat (misalnya, 2001:0 db 8:85 a 3:0:0:8 a2e: 0370:7334).
Pertimbangan
-
Autentikasi Application Load Balancer hanya mendukung IPv4 saat menghubungkan ke Endpoint Penyedia Identitas (IDP) atau Amazon Cognito. Tanpa IPv4 alamat publik penyeimbang beban tidak dapat menyelesaikan proses otentikasi, menghasilkan HTTP 500 kesalahan.
-
Untuk informasi selengkapnya tentang jenis alamat IP, lihatPerbarui jenis alamat IP untuk Application Load Balancer.
Koneksi penyeimbang beban
Saat memproses permintaan, penyeimbang beban mempertahankan dua koneksi: satu koneksi dengan klien dan satu koneksi dengan target. Koneksi antara penyeimbang beban dan klien juga disebut sebagai koneksi front-end. Koneksi antara penyeimbang beban dan target juga disebut sebagai koneksi back-end.
Penyeimbangan beban lintas zona
Dengan Application Load Balancers, penyeimbangan beban lintas zona aktif secara default dan tidak dapat diubah pada tingkat penyeimbang beban. Untuk informasi selengkapnya, lihat bagian penyeimbangan beban lintas zona di Panduan Pengguna Elastic Load Balancing.
Mematikan penyeimbangan beban lintas zona dimungkinkan di tingkat kelompok sasaran. Untuk informasi selengkapnya, lihat Matikan penyeimbangan beban lintas zona.
Aplikasi Load Balancer dan AWS WAF
Anda dapat menggunakan AWS WAF Application Load Balancer untuk mengizinkan atau memblokir permintaan berdasarkan aturan dalam daftar kontrol akses web (webACL). Untuk informasi selengkapnya, lihat Bekerja dengan web ACLs di Panduan AWS WAF Pengembang.
Secara default, jika penyeimbang beban tidak bisa mendapatkan respons dari AWS WAF, ia mengembalikan kesalahan HTTP 500 dan tidak meneruskan permintaan. Jika Anda membutuhkan penyeimbang beban untuk meneruskan permintaan ke target meskipun tidak dapat dihubungi AWS WAF, Anda dapat mengaktifkan AWS WAF gagal terbuka. Untuk memeriksa apakah penyeimbang beban Anda terintegrasi dengan AWS WAF, pilih penyeimbang beban Anda di AWS Management Console dan pilih tab Layanan terintegrasi.
Web yang telah ditentukan sebelumnya ACLs
Saat mengaktifkan AWS WAF integrasi, Anda dapat memilih untuk membuat web baru secara otomatis ACL dengan aturan yang telah ditentukan sebelumnya. Web yang telah ditentukan sebelumnya ACL mencakup tiga aturan AWS terkelola yang menawarkan perlindungan terhadap ancaman keamanan yang paling umum.
-
AWSManagedRulesAmazonIpReputationList
- Grup aturan daftar reputasi IP Amazon memblokir alamat IP yang biasanya terkait dengan bot atau ancaman lainnya. Untuk informasi selengkapnya, lihat grup aturan terkelola daftar reputasi IP Amazon di Panduan AWS WAF Pengembang. -
AWSManagedRulesCommonRuleSet
Kelompok aturan set inti (CRS) memberikan perlindungan terhadap eksploitasi berbagai kerentanan, termasuk beberapa risiko tinggi dan kerentanan yang umum terjadi yang dijelaskan dalam OWASP publikasi seperti OWASP Top 10.Untuk informasi selengkapnya, lihat Grup aturan terkelola kumpulan aturan inti (CRS) di Panduan AWS WAF Pengembang. -
AWSManagedRulesKnownBadInputsRuleSet
- Kelompok aturan masukan buruk yang diketahui memblokir pola permintaan yang diketahui tidak valid dan terkait dengan eksploitasi atau penemuan kerentanan. Untuk informasi selengkapnya, lihat Grup aturan terkelola masukan buruk yang diketahui di Panduan AWS WAF Pengembang.
Untuk mengaktifkan AWS WAF menggunakan konsol
Buka EC2 konsol Amazon di https://console.aws.amazon.com/ec2/
. -
Pada panel navigasi, pilih Load Balancers.
-
Pilih penyeimbang beban.
-
Pada tab Integrasi, perluas AWS Web Application Firewall (WAF), dan pilih Associate a WAF web ACL.
-
Di bawah Web ACL, pilih Auto-create pre-definied webACL, atau pilih web yang sudah ada. ACL
-
Di bawah Tindakan aturan, pilih Blokir, atau Hitung.
-
Pilih Konfirmasi.
Untuk mengaktifkan AWS WAF gagal buka menggunakan AWS CLI
Gunakan modify-load-balancer-attributesperintah dengan waf.fail_open.enabled
atribut yang disetel ketrue
.