Application Load Balancer

Menyeimbangkan beban lalu lintas HTTP dan HTTPS dengan perutean permintaan tingkat lanjut yang ditargetkan pada pengiriman aplikasi modern.

Mengapa Penyeimbang Beban Aplikasi?

Penyeimbang Beban Aplikasi beroperasi pada level permintaan (lapisan 7), merutekan lalu lintas ke target (instans EC2, kontainer, alamat IP, dan fungsi Lambda) berdasarkan konten permintaan. Ideal untuk penyeimbangan beban lalu lintas HTTP dan HTTPS tingkat lanjut, Penyeimbang Beban Aplikasi menyediakan perutean permintaan lanjutan yang ditargetkan pada pengiriman arsitektur aplikasi modern, termasuk layanan mikro dan aplikasi berbasis kontainer. Penyeimbang Beban Aplikasi menyederhanakan dan meningkatkan keamanan aplikasi Anda, dengan memastikan bahwa cipher dan protokol SSL/TLS terbaru selalu digunakan.

Page Topics

Fitur

Fitur

TLS Bersama adalah protokol untuk autentikasi dua arah antara klien dan server yang menggunakan identitas berbasis sertifikat x509. Dengan fitur ini, ALB akan mengautentikasi sertifikat klien dan melakukan pemeriksaan revokasi untuk sertifikat yang dikeluarkan oleh Certificate Authorities (CA) pihak ketiga atau Private Certificate Authority (ACM PCA). Penyeimbang beban juga akan memproksi informasi sertifikat klien ke target, yang dapat digunakan untuk keputusan otorisasi oleh aplikasi. 

Bobot target otomatis (ATW) menggunakan algoritma penyeimbangan beban acak tertimbang baru yang meningkatkan ketersediaan aplikasi bahkan saat target aplikasi mengalami gangguan. Algoritma menganalisis kode status HTTP dan tingkat kesalahan TCP/TLS untuk mengidentifikasi target dengan tingkat kesalahan yang lebih tinggi daripada rekan dalam grup target yang sama. Ketika ATW mengidentifikasi target yang beperforma buruk, fitur ini menyesuaikan volume lalu lintas yang diarahkan ke setiap target berdasarkan peforma, membantu target yang mengalami kesulitan agar berhasil pulih.

Anda dapat menyeimbangkan beban lalu lintas HTTP/HTTPS ke target - instans Amazon EC2, layanan mikro, dan kontainer berdasarkan atribut permintaan (seperti header X-Forwarded-For).

Ketika menggunakan Amazon Virtual Private Cloud (Amazon VPC), Anda dapat membuat dan mengelola grup keamanan yang terkait dengan Elastic Load Balancing untuk memberikan opsi jaringan dan keamanan tambahan. Anda dapat mengonfigurasi Penyeimbang Beban Aplikasi agar terhubung dengan Internet atau membuat penyeimbang beban tanpa alamat IP publik agar berperan sebagai penyeimbang beban internal (tidak terhubung ke internet).

ALB mendukung implementasi perlindungan Desync berdasarkan pustaka http_desync_guardian. Dengan fitur baru ini, aplikasi pelanggan terlindung dari kerentanan HTTP akibat Desync tanpa membuat kompromi besar pada ketersediaan dan/atau latensi. Pelanggan juga memiliki kemampuan untuk memilih tingkat toleransi mereka terhadap permintaan yang mencurigakan berdasarkan arsitektur aplikasi mereka.

Penyeimbang Beban Aplikasi (ALB) mendukung AWS Outposts, sebuah layanan terkelola penuh yang memperluas infrastruktur, layanan, dan alat AWS ke hampir semua pusat data, ruang co-location, atau fasilitas on-premise untuk pengalaman hibrida yang benar-benar konsisten. Pelanggan dapat menyediakan ALB pada tipe instans yang didukung dan ALB akan menaikkan skala secara otomatis ke kapasitas yang tersedia di rak untuk memenuhi berbagai tingkat beban aplikasi tanpa intervensi manual. Pelanggan dapat juga memperoleh notifikasi untuk membantu menavigasi kebutuhan kapasitas terkait penyeimbangan beban mereka. Pelanggan dapat menggunakan Konsol AWS, API, dan CLI yang sama untuk menyediakan serta mengelola ALB di Outposts seperti yang mereka lakukan saat ini dengan ALB di Wilayah.

Application Load Balancer mendukung penghentian HTTPS antara klien dan penyeimbang muatan. Penyeimbang Beban Aplikasi juga menawarkan pengelolaan sertifikat SSL melalui AWS Identity and Access Management (IAM) dan AWS Certificate Manager untuk kebijakan keamanan yang ditentukan sebelumnya.

HTTP/2 adalah Protokol Transfer Hiperteks (HTTP) versi baru yang menggunakan satu koneksi multipleks agar dapat mengirim banyak permintaan pada koneksi yang sama. Protokol ini juga mengompres data header sebelum mengirimkannya dalam format biner dan mendukung koneksi SSL ke klien.

ALB dapat merutekan dan menyeimbangkan beban lalu lintas gRPC antara layanan mikro atau antara klien dan layanan yang diaktifkan gRPC. Hal ini memungkinkan penggunaan manajemen lalu lintas gRPC yang lancar dalam arsitektur tanpa mengubah infrastruktur dasar apa pun pada klien atau layanan pelanggan. gRPC menggunakan HTTP/2 untuk transportasi dan menjadi protokol pilihan bagi komunikasi antar layanan dalam arsitektur layanan mikro. Fiturnya antara lain serialisasi biner yang efisien dan dukungan untuk berbagai bahasa, selain manfaat bawaan HTTP/2 seperti jejak jaringan yang lebih ringan, kompresi, dan streaming dua arah, yang membuatnya lebih baik daripada protokol warisan seperti REST.

Anda dapat membuat pendengar HTTPS yang menggunakan koneksi terenkripsi (dikenal juga sebagai pemindahan SSL). Fitur ini memungkinkan enkripsi lalu lintas antara penyeimbang beban Anda dan klien yang memulai sesi SSL atau TLS. Penyeimbang Beban Aplikasi mendukung penghentian sesi TLS klien. Hal ini memungkinkan Anda untuk memindahkan tugas penghentian TLS ke penyeimbang beban, sambil mempertahankan alamat IP sumber untuk aplikasi back-end Anda. Anda dapat memilih dari kebijakan keamanan yang telah ditentukan sebelumnya untuk pendengar TLS guna memenuhi standar kepatuhan dan keamanan. AWS Certificate Manager (ACM) atau AWS Identity and Access Management (IAM) dapat digunakan untuk mengelola sertifikat server Anda.

Anda dapat menggunakan SNI untuk melayani banyak situs web yang aman menggunakan satu pendengar TLS. Jika nama host di klien cocok dengan banyak sertifikat, penyeimbang beban akan memilih sertifikat terbaik untuk digunakan berdasarkan algoritma pemilihan cerdas.

Sesi lekat adalah mekanisme untuk merutekan permintaan dari klien yang sama ke target yang sama. Penyeimbang Beban Aplikasi mendukung kuki berbasis durasi dan kuki berbasis aplikasi. Kunci untuk mengelola sesi lekat adalah menentukan berapa lama penyeimbang beban Anda harus merutekan permintaan pengguna ke target yang sama secara konsisten. Sesi lekat diaktifkan di tingkat grup target. Anda dapat menggunakan kombinasi kelekatan berbasis durasi, kelekatan berbasis aplikasi, dan tanpa kelekatan di semua grup target Anda.

Penyeimbang Beban Aplikasi mendukung Protokol Internet versi 6 (IPv6) native di VPC. Hal ini memungkinkan klien untuk terhubung ke Penyeimbang Beban Aplikasi melalui IPv4 atau IPv6.

Penyeimbang Beban Aplikasi memasukkan pengenal kustom baru “X-Amzn-Trace-Id” sebagai header HTTP di semua permintaan yang masuk ke penyeimbang beban. Pelacakan permintaan memungkinkan Anda untuk melacak permintaan berdasarkan ID uniknya saat melintasi berbagai layanan yang membentuk sebagian besar lalu lintas bagi situs web dan aplikasi terdistribusi Anda. Anda dapat menggunakan pengenal jejak yang unik untuk mencari tahu masalah performa atau waktu apa pun di tumpukan aplikasi Anda pada perincian permintaan individual.

Application Load Balancer dapat mengalihkan permintaan masuk dari satu URL ke URL lain. Ini mencakup kemampuan untuk mengalihkan permintaan HTTP ke permintaan HTTPS, yang memungkinkan Anda untuk memenuhi tujuan kepatuhan penelusuran aman Anda, sementara juga mampu mencapai peringkat pencarian dan skor SSL/TLS yang lebih baik untuk situs Anda. Anda juga dapat menggunakan pengalihan untuk mengirim pengguna ke situs web lain; misalnya, mengalihkan dari versi aplikasi lama ke versi baru.

Application Load Balancer dapat mengendalikan permintaan klien mana yang dilayani oleh aplikasi Anda. Hal ini memungkinkan Anda untuk merespons permintaan masuk dengan kode respons kesalahan HTTP dan pesan kesalahan kustom dari penyeimbang beban itu sendiri, tanpa meneruskan permintaan ke aplikasi.

WebSocket memungkinkan server untuk bertukar pesan real-time dengan pengguna akhir yang mana pengguna akhir tidak perlu meminta (atau memilih) pembaruan kepada server. Protokol WebSocket menyediakan saluran komunikasi dua arah antara klien dan server melalui koneksi TCP yang sedang berjalan.

Indikasi Nama Server (SNI) merupakan ekstensi dari protokol TLS yang mana klien menunjukkan nama host yang dihubungkan pada awal sambungan TLS. Penyeimbang muatan ini dapat memberikan berbagai sertifikat melalui pendengar aman yang sama, yang memungkinkan untuk mendukung berbagai situs web yang aman menggunakan satu pendengar yang aman. Application Load Balancer juga mendukung algoritme pilihan sertifikat cerdas dengan SNI. Jika nama host yang ditunjukkan oleh klien yang sesuai dengan berbagai sertifikat, penyeimbang muatan menentukan sertifikat terbaik yang akan digunakan berdasarkan pada berbagai faktor termasuk kemampuan klien.

Anda dapat menyeimbangkan muatan aplikasi apa pun yang dihost di AWS atau di lokasi menggunakan alamat IP backend aplikasi sebagai target. Ini memungkinkan penyeimbangan muatan pada backend aplikasi yang dihost pada alamat IP dan antarmuka mana pun pada instans. Setiap aplikasi yang dihost pada instans yang sama dapat memiliki grup keamanan terkait dan menggunakan port yang sama. Anda juga dapat menggunakan alamat IP sebagai target untuk menyeimbangkan beban aplikasi yang di-hosting di lokasi on-premise (melalui koneksi Direct Connect atau VPN), VPC yang dihubungkan secara peer, dan EC2-Classic (menggunakan ClassicLink). Kemampuan untuk menyeimbangkan beban di seluruh sumber daya AWS dan on-premise akan membantu Anda bermigrasi ke cloud, melonjak ke cloud, atau failover ke cloud.

Penyeimbang Beban Aplikasi mendukung invokasi fungsi Lambda untuk melayani permintaan HTTP(S) yang memungkinkan pengguna mengakses aplikasi nirserver dari klien HTTP mana pun, temasuk peramban web. Anda dapat mendaftarkan fungsi Lambda sebagai target untuk penyeimbang beban dan memanfaatkan dukungan bagi aturan perutean berbasis konten guna merutekan permintaan ke fungsi Lambda yang berbeda. Anda dapat menggunakan Penyeimbang Beban Aplikasi sebagai titik akhir HTTP umum untuk aplikasi yang menggunakan server dan komputasi nirserver. Anda dapat membangun seluruh situs web menggunakan fungsi Lambda atau menggabungkan instans EC2, kontainer, server on-premise, dan fungsi Lambda untuk membangun aplikasi.

Jika aplikasi Anda terdiri dari beberapa layanan individual, Penyeimbang Beban Aplikasi dapat merutekan permintaan ke layanan berdasarkan konten permintaan seperti bidang Host, URL Jalur, header HTTP, metode HTTP, string Kueri atau alamat IP Sumber.

Perutean Berbasis Host: Anda dapat merutekan permintaan klien berdasarkan bidang Host header HTTP yang memungkinkan Anda untuk merutekan ke banyak domain dari penyeimbang beban yang sama.

Perutean Berbasis Jalur: Anda dapat merutekan permintaan klien berdasarkan jalur URL header HTTP.

Perutean berbasis header HTTP: Anda dapat merutekan permintaan klien berdasarkan nilai header HTTP standar atau kustom.

Perutean berbasis metode HTTP: Anda dapat merutekan permintaan klien berdasarkan metode HTTP standar atau kustom.

Perutean berbasis parameter string kueri: Anda dapat merutekan permintaan klien berdasarkan parameter string kueri atau kueri.

Perutean berbasis CIDR alamat IP sumber: Anda dapat merutekan permintaan klien berdasarkan CIDR alamat IP sumber tempat permintaan tersebut berasal.

Penyeimbang Beban Aplikasi memberikan dukungan kontainer yang ditingkatkan dengan penyeimbangan beban di banyak port pada satu instans Amazon EC2. Integrasi lebih dalam dengan Amazon Elastic Container Service (ECS) memberikan penawaran kontainer yang terkelola penuh. ECS memungkinkan Anda untuk menetapkan port dinamis dalam penentuan tugas ECS, yang memberikan port yang tidak terpakai kepada kontainer ketika dijadwalkan pada instans EC2. Penjadwal ECS menambahkan tugas ke penyeimbang beban secara otomatis menggunakan port ini.

Sekarang Anda dapat menggunakan AWS WAF untuk melindungi aplikasi web Anda pada Application Load Balancer Anda. AWS WAF merupakan firewall aplikasi web yang membantu melindungi aplikasi web Anda dari eksploitasi web umum yang dapat memengaruhi ketersediaan aplikasi, membahayakan keamanan, atau memakai sumber daya yang berlebihan.

Penyeimbang Beban Aplikasi mendukung algoritma penyeimbangan beban round-robin. Selain itu, Penyeimbang Beban Aplikasi mendukung mode mulai lambat dengan algoritma round-robin yang memungkinkan Anda untuk menambahkan target baru tanpa terlalu membebaninya dengan luapan permintaan. Dengan mode mulai lambat, target melakukan pemanasan sebelum menerima bagian permintaan berdasarkan periode kenaikan yang Anda tentukan. Mulai lambat sangat bermanfaat untuk aplikasi yang mengandalkan cache dan memerlukan periode pemanasan sebelum mampu merespons permintaan dengan kinerja optimal.

Anda dapat melakukan offload fungsionalitas autentikasi dari aplikasi Anda ke Application Load Balancer. Application Load Balancer akan melakukan autentikasi pada pengguna secara aman ketika mereka mengakses aplikasi cloud. Application Load Balancer tampaknya terintegrasi dengan Amazon Cognito, yang memungkinkan pengguna akhir untuk melalukan autentikasi melalui penyedia identitas sosial seperti Google, Facebook, dan Amazon, dan melalui penyedia identitas perusahaan seperti Microsoft Active Directory melalui SAML atau OpenID Connect-compliant identity provider (IdP) apa pun. Apabila Anda sudah memiliki solusi IdP kustom yaitu yang kompatibel dengan OpenID Connect, Penyeimbang Beban Aplikasi juga dapat melakukan autentikasi pengguna korporasi dengan menghubungkan ke penyedia identitas Anda secara langsung.