Fitur Azure Application Gateway
Azure Application Gateway adalah penyeimbang beban lalu lintas web yang memungkinkan Anda mengelola lalu lintas ke aplikasi web Anda.
Catatan
Untuk beban kerja web, sebaiknya gunakan perlindungan Azure DDoS dan firewall aplikasi web untuk melindungi dari serangan DDoS yang muncul. Opsi lain adalah menggunakan Azure Front Door bersama dengan firewall aplikasi web. Azure Front Door menawarkan perlindungan tingkat platform terhadap serangan DDoS tingkat jaringan. Untuk informasi selengkapnya, lihat garis besar keamanan untuk layanan Azure.
Application Gateway menyertakan fitur berikut ini:
Penghentian Secure Sockets Layer (SSL/TLS)
Application Gateway mendukung penghentian SSL di gateway, setelah itu lalu lintas biasanya mengalir tanpa dienkripsi ke server ujung belakang. Fitur ini memungkinkan server web terbebas dari biaya overhead enkripsi dan dekripsi yang mahal. Tetapi terkadang komunikasi yang tidak terenkripsi ke server bukanlah opsi yang dapat diterima. Hal ini mungkin terjadi karena persyaratan keamanan, persyaratan kepatuhan, atau aplikasi hanya dapat menerima koneksi yang aman. Untuk aplikasi ini, gateway aplikasi mendukung enkripsi SSL/TLS end to end.
Untuk info selengkapnya, lihat Gambaran Umum penghentian SSL dan SSL end to end dengan Application Gateway
Penskalaan otomatis
Application Gateway Standard_v2 mendukung penskalaan otomatis dan dapat meningkatkan atau menurunkan skala berdasarkan perubahan pola beban lalu lintas. Autoscaling tidak mengharuskan pemilihan ukuran penyebaran atau jumlah instans selama provisi.
Untuk informasi selengkapnya tentang fitur Standard_v2 Application Gateway, lihat Apa itu Azure Application Gateway v2.
Redundansi zona
Application Gateway Standard_v2 dapat mencakup beberapa Zona Ketersediaan, menawarkan ketahanan kesalahan yang lebih baik dan menghapus kebutuhan untuk penyediaan Application Gateway terpisah di setiap zona.
VIP Statik
Gateway aplikasi Standard_v2 SKU mendukung tipe VIP statik secara eksklusif. Hal ini memastikan bahwa VIP yang terkait dengan gateway aplikasi tidak berubah bahkan selama masa pakai Application Gateway.
Web Application Firewall
Web Application Firewall (WAF) adalah layanan yang memberikan perlindungan terpusat untuk aplikasi web Anda dari eksploitasi dan kerentanan umum. WAF didasarkan pada aturan dari seperangkat aturan inti OWASP (Open Web Application Security Project) 3.1 (hanya WAF_v2), 3.0, dan 2.2.9.
Aplikasi web semakin menjadi target serangan berbahaya yang mengeksploitasi kerentanan umum yang diketahui. Yang umum di antara eksploitasi ini adalah serangan injeksi SQL, serangan pembuatan skrip lintas situs untuk beberapa nama. Mencegah serangan semacam itu dalam kode aplikasi bisa menjadi tantangan dan mungkin memerlukan pemeliharaan, penambalan, dan pemantauan yang ketat di banyak lapisan topologi aplikasi. Firewall aplikasi web terpusat membantu membuat manajemen keamanan jauh lebih sederhana dan memberikan jaminan yang lebih baik kepada admin aplikasi terhadap ancaman atau gangguan. Solusi WAF juga dapat bereaksi lebih cepat terhadap ancaman keamanan dengan menambal kerentanan yang sudah diketahui di lokasi pusat versus mengamankan masing-masing aplikasi web individu. Gateway aplikasi yang ada dapat dikonversi ke gateway aplikasi yang dengan mudah diaktifkan Web Application Firewall.
Lihat Perlindungan DDoS Aplikasi untuk panduan tentang cara menggunakan Azure WAF dengan Application Gateway untuk melindungi dari serangan DDoS. Untuk informasi selengkapnya, lihat Apa itu Azure Web Application Firewall.
Ingress Controller untuk AKS
Application Gateway Ingress Controller (AGIC) memungkinkan Anda untuk menggunakan Application Gateway sebagai ingress untuk kluster Azure Kubernetes Service (AKS).
Ingress controller berjalan sebagai pod di dalam kluster AKS dan menggunakan Sumber daya Kubernetes Ingress dan mengubahnya menjadi konfigurasi Application Gateway, yang memungkinkan gateway untuk memuat penyeimbang muatan lalu lintas ke pod Kubernetes. Ingress controller hanya mendukung Application Gateway Standard_v2 dan WAF_v2 SKU.
Untuk info selengkapnya, lihat Application Gateway Ingress Controller (AGIC).
Perutean Berbasis URL
Perutean Berbasis Jalur URL memungkinkan Anda merutekan lalu lintas ke kumpulan server backend berdasarkan Jalur URL permintaan. Salah satu skenarionya adalah merutekan permintaan untuk berbagai jenis konten ke kumpulan yang berbeda.
Misalnya, permintaan http://contoso.com/video/*
dirutekan ke VideoServerPool, danhttp://contoso.com/images/*
dirutekan ke ImageServerPool. DefaultServerPool dipilih jika tidak ada pola jalur yang cocok.
Untuk info selengkapnya, lihat Gambaran umum Perutean Berbasis Jalur URL.
Hosting multi-situs
Dengan Application Gateway, Anda dapat mengonfigurasi perutean berdasarkan nama host atau nama domain untuk lebih dari satu aplikasi web di gateway yang sama. Ini memungkinkan Anda untuk mengkonfigurasi topologi yang lebih efisien untuk penyebaran Anda dengan menambahkan hingga 100 + situs web ke satu gateway aplikasi. Setiap situs web dapat diarahkan ke kumpulan backend-nya sendiri. Misalnya, tiga domain, contoso.com, fabrikam.com, dan adatum.com, arahkan ke alamat IP gateway aplikasi. Anda akan membuat tiga pendengar multi-situs dan mengonfigurasi setiap pendengar untuk pengaturan port dan protokol masing-masing.
Permintaan http://contoso.com
dirutekan ke ContosoServerPool, http://fabrikam.com
dirutekan ke FabrikamServerPool, dan sebagainya.
Demikian pula, dua subdomain dari domain induk yang sama dapat dihosting pada penyebaran gateway aplikasi yang sama. Contoh penggunaan subdomain dapat mencakup http://blog.contoso.com
dan http://app.contoso.com
dihosting pada satu penyebaran gateway aplikasi. Untuk info selengkapnya, lihat Hosting Application Gateway beberapa situs.
Anda juga dapat menentukan nama host wildcard di pendengar multi-situs dan hingga 5 nama host per pendengar. Untuk mempelajari selengkapnya, lihat nama host kartubebas di pendengar.
Pengalihan
Skenario umum untuk banyak aplikasi web adalah mendukung pengalihan otomatis HTTP ke HTTPS untuk memastikan semua komunikasi antara aplikasi dan penggunanya terjadi melalui jalur terenkripsi.
Di masa lalu, Anda mungkin telah menggunakan teknik seperti pembuatan kumpulan khusus yang tujuan tunggalnya adalah untuk mengalihkan permintaan yang diterimanya di HTTP ke HTTPS. Gateway aplikasi mendukung kemampuan untuk mengalihkan lalu lintas di Application Gateway. Hal ini mempermudah konfigurasi aplikasi, mengoptimalkan penggunaan sumber daya, dan mendukung skenario pengalihan baru, termasuk pengalihan global dan berbasis jalur. Dukungan pengalihan Application Gateway tidak terbatas pada pengalihan HTTP ke HTTPS saja. Ini adalah mekanisme pengalihan generik, sehingga Anda dapat mengalihkan ke dan dari port apa pun yang Anda tentukan dengan menggunakan aturan. Ini juga mendukung pengalihan ke situs eksternal.
Dukungan pengalihan Application Gateway menawarkan kemampuan berikut:
- Pengalihan global dari satu port ke port lain di Gateway. Ini memungkinkan pengalihan HTTP ke HTTPS pada situs.
- Pengalihan berbasis jalur. Jenis pengalihan ini memungkinkan pengalihan HTTP ke HTTPS hanya pada area situs tertentu, misalnya area keranjang belanja yang ditandai dengan
/cart/*
. - Mengalihkan ke situs eksternal.
Untuk info selengkapnya, lihat Gambaran umum pengalihan Application Gateway.
Afinitas Sesi
Fitur afinitas sesi berbasis cookie akan berguna saat Anda ingin mempertahankan sesi pengguna pada server yang sama. Dengan menggunakan cookie yang dikelola gateway, Application Gateway dapat mengarahkan lalu lintas berikutnya dari sesi pengguna ke server yang sama untuk diproses. Ini penting dalam kasus di mana keadaan sesi disimpan secara lokal di server untuk sesi pengguna.
Untuk info selengkapnya, lihat Cara kerja gateway aplikasi.
Lalu lintas Websocket dan HTTP/2
Application Gateway memberikan dukungan asli untuk protokol WebSocket dan HTTP/2. Tidak ada pengaturan yang dapat dikonfigurasi pengguna untuk mengaktifkan atau menonaktifkan dukungan WebSocket secara selektif.
Protokol WebSocket dan HTTP/2 memungkinkan komunikasi dupleks penuh antara server dan klien melalui koneksi TCP yang berjalan lama. Ini memungkinkan komunikasi yang lebih interaktif antara server web dan klien, yang dapat berjalan dua arah tanpa perlu penjajakan seperti yang diperlukan dalam implementasi berbasis HTTP. Protokol ini memiliki overhead rendah, tidak seperti HTTP, dan dapat menggunakan kembali koneksi TCP yang sama untuk beberapa permintaan/respons yang menghasilkan pemanfaatan sumber daya yang lebih efisien. Protokol ini dirancang untuk bekerja melalui port HTTP tradisional 80 dan 443.
Untuk info selengkapnya, lihat Dukungan WebSocket dan Dukungan HTTP/2.
Pengurasan koneksi
Pengurasan koneksi membantu Anda mencapai penghapusan anggota kumpulan backend yang anggun selama pembaruan layanan terencana atau masalah dengan kesehatan backend. Pengaturan ini diaktifkan melalui Pengaturan Backend dan diterapkan ke semua anggota kumpulan backend selama pembuatan aturan. Setelah diaktifkan, gateway aplikasi memastikan semua instans pendaftaran kumpulan backend tidak menerima permintaan baru sambil memungkinkan permintaan yang ada selesai dalam batas waktu yang dikonfigurasi. Ini berlaku untuk kasus di mana instans backend adalah:
- dihapus secara eksplisit dari kumpulan backend setelah perubahan konfigurasi oleh pengguna, atau
- dilaporkan tidak sehat oleh pemeriksaan kesehatan
Satu-satunya pengecualian adalah ketika permintaan terus diproksi ke instans deregistering karena afinitas sesi yang dikelola gateway.
Pengurasan koneksi juga dihormati untuk koneksi WebSocket. Pengurasan koneksi dipanggil untuk setiap pembaruan tunggal ke gateway. Untuk mencegah hilangnya koneksi ke anggota kumpulan backend yang ada, pastikan untuk mengaktifkan pengurasan koneksi.
Untuk informasi tentang batas waktu, lihat Konfigurasi Pengaturan Backend.
Halaman kesalahan kustom
Application Gateway memungkinkan Anda membuat halaman kesalahan kustom, bukan menampilkan halaman kesalahan default. Anda dapat menggunakan branding dan tata letak Anda sendiri menggunakan halaman kesalahan kustom.
Untuk info selengkapnya, lihat Kesalahan Kustom.
Regenerasi header HTTP dan URL
Header HTTP memungkinkan klien dan server untuk meneruskan informasi tambahan dengan permintaan atau respons. Meregenerasi header HTTP ini membantu Anda mencapai beberapa skenario penting, seperti:
- Menambahkan bidang header tyang erkait keamanan seperti HSTS/ X-XSS-Protection.
- Menghapus bidang header respons yang bisa mengungkapkan informasi sensitif.
- Menanggalkan informasi port dari header X-Forwarded-For.
Application Gateway dan WAF v2 SKU mendukung kemampuan untuk menambahkan, menghapus, atau memperbarui header permintaan dan respons HTTP, sementara paket permintaan dan respons berpindah antara klien dan kumpulan backend. Anda juga dapat meregenerasi URL, parameter string kueri, dan nama host. Dengan penulisan ulang URL dan perutean berbasis jalur URL, Anda dapat memilih untuk merutekan permintaan ke salah satu kumpulan backend berdasarkan jalur asli atau jalur yang ditulis ulang, menggunakan opsi peta jalur evaluasi ulang.
Hal ini juga memberi Anda kemampuan untuk menambahkan kondisi untuk memastikan header atau URL yang ditentukan diregenerasi hanya ketika kondisi tertentu terpenuhi. Kondisi tersebut didasarkan pada informasi permintaan dan respons.
Untuk informasi selengkapnya, lihat Regenerasi header dan URL HTTP.
Pengukuran
Application Gateway Standard_v2 dapat dikonfigurasi untuk penyebaran autoscaling atau ukuran tetap. v2 SKU tidak menawarkan ukuran instans yang berbeda. Untuk informasi selengkapnya tentang kinerja dan harga v2, lihat Autoscaling V2 dan Harga pemahaman.
Application Gateway Standard (v1) ditawarkan dalam tiga ukuran: Kecil, Sedang,dan Besar. Ukuran instans kecil ditujukan untuk skenario pengembangan dan pengujian.
Untuk daftar lengkap batas gateway aplikasi, lihat Batas layanan Application Gateway.
Tabel berikut ini memperlihatkan throughput kinerja rata-rata untuk setiap instans gateway aplikasi v1 dengan offload SSL diaktifkan:
Ukuran respons halaman backend rata-rata | Bentuk dan | Medium | Bentuk dan |
---|---|---|---|
6 KB | 7,5 Mbps | 13 Mbps | 50 Mbps |
100 KB | 35 Mbps | 100 Mbps | 200 Mbps |
Catatan
Nilai-nilai ini adalah nilai perkiraan untuk throughput gateway aplikasi. Throughput aktual tergantung pada berbagai detail lingkungan, seperti ukuran halaman rata-rata, lokasi instans backend, dan waktu pemrosesan untuk melayani halaman. Untuk jumlah performa yang tepat, Anda harus menjalankan pengujian Anda sendiri. Nilai-nilai ini hanya disediakan untuk panduan perencanaan kapasitas.
Perbandingan fitur versi
Untuk perbandingan fitur Application Gateway v1-v2, lihat Apa itu Azure Application Gateway v2.