Konfigurasi infrastruktur Azure Application Gateway

Infrastruktur Azure Application Gateway mencakup jaringan virtual, subnet, grup keamanan jaringan (NSG), dan rute yang ditentukan pengguna (UDR).

Jaringan virtual dan subnet khusus

Gateway aplikasi adalah penyebaran khusus di jaringan virtual Anda. Dalam jaringan virtual Anda, subnet khusus diperlukan untuk gateway aplikasi. Anda dapat memiliki beberapa instans penyebaran Application Gateway tertentu dalam subnet. Anda juga dapat menggunakan gateway aplikasi lain di subnet. Tetapi Anda tidak dapat menyebarkan sumber daya lain di subnet Application Gateway. Anda tidak dapat mencampur SKU Application Gateway v1 dan v2 pada subnet yang sama.

Catatan

Kebijakan titik akhir layanan jaringan virtual saat ini tidak didukung dalam subnet Application Gateway.

Ukuran subnet

Application Gateway menggunakan satu alamat IP privat per instans, ditambah alamat IP privat lain jika IP frontend privat dikonfigurasi.

Azure juga mencadangkan lima alamat IP di setiap subnet untuk penggunaan internal. Ini adalah empat alamat pertama dan alamat IP terakhir. Misalnya, pertimbangkan 15 instans Application Gateway tanpa IP frontend privat. Anda memerlukan setidaknya 20 alamat IP untuk subnet ini. Anda memerlukan 5 untuk penggunaan internal dan 15 untuk instans Application Gateway.

Pertimbangkan subnet yang memiliki 27 instans Application Gateway dan alamat IP untuk IP frontend privat. Dalam hal ini, Anda memerlukan 33 alamat IP. Anda memerlukan 27 untuk instans Application Gateway, satu untuk frontend privat, dan 5 untuk penggunaan internal.

Application Gateway (SKU Standar atau WAF) dapat mendukung hingga 32 instans (32 alamat IP instans + 1 konfigurasi IP frontend privat + 5 Azure dicadangkan). Kami merekomendasikan ukuran subnet minimum /26.

Application Gateway (Standard_v2 atau WAF_v2 SKU) dapat mendukung hingga 125 instans (125 alamat IP instans + 1 konfigurasi IP frontend pribadi + 5 Azure yang dicadangkan). Kami merekomendasikan ukuran subnet minimum /24.

Untuk menentukan kapasitas subnet yang tersedia yang memiliki gateway aplikasi yang ada yang disediakan, ambil ukuran subnet dan kurangi lima alamat IP cadangan subnet yang dicadangkan oleh platform. Selanjutnya, ambil setiap gateway dan kurangi jumlah instans maksimum. Untuk setiap gateway yang memiliki konfigurasi IP frontend privat, kurangi satu alamat IP lagi per gateway.

Misalnya, berikut cara menghitung alamat yang tersedia untuk subnet dengan tiga gateway dengan berbagai ukuran:

  • Gateway 1: Maksimum 10 instans. Menggunakan konfigurasi IP frontend privat.
  • Gateway 2: Maksimum 2 instans. Tidak ada konfigurasi IP frontend privat.
  • Gateway 3: Maksimum 15 instans. Menggunakan konfigurasi IP frontend privat.
  • Ukuran subnet: /24
    • Ukuran subnet /24 = 256 alamat IP - 5 dicadangkan dari platform = 251 alamat yang tersedia
    • 251: Gateway 1 (10) - 1 konfigurasi IP frontend privat = 240
    • 240: Gateway 2 (2) = 238
    • 238: Gateway 3 (15) - 1 konfigurasi IP frontend privat = 222

Penting

Meskipun subnet /24 tidak diperlukan per penyebaran SKU Application Gateway v2, kami sangat merekomendasikannya. Subnet /24 memastikan bahwa Application Gateway v2 memiliki ruang yang cukup untuk perluasan penskalaan otomatis dan peningkatan pemeliharaan.

Anda harus memastikan bahwa subnet Application Gateway v2 memiliki ruang alamat yang cukup untuk mengakomodasi jumlah instans yang diperlukan untuk melayani lalu lintas maksimum yang diharapkan. Jika Anda menentukan jumlah instans maksimum, subnet harus memiliki kapasitas untuk setidaknya banyak alamat. Untuk perencanaan kapasitas sekeliling jumlah instans, lihat Detail jumlah instans.

Subnet bernama GatewaySubnet dicadangkan untuk gateway VPN. Sumber daya Application Gateway v1 yang menggunakan GatewaySubnet subnet perlu dipindahkan ke subnet yang berbeda atau dimigrasikan ke SKU v2 sebelum 30 September 2023, untuk menghindari kegagalan sarana kontrol dan inkonsistensi platform. Untuk informasi tentang mengubah subnet instans Application Gateway yang sudah ada, lihat Tanya jawab umum tentang Application Gateway.

Tip

Alamat IP dialokasikan dari awal ruang subnet yang ditentukan untuk instans gateway. Saat instans dibuat dan dihapus karena pembuatan gateway atau peristiwa penskalaan, mungkin sulit untuk memahami apa alamat berikutnya yang tersedia di subnet. Agar dapat menentukan alamat berikutnya yang akan digunakan untuk gateway di masa mendatang dan memiliki tema alamat yang berdekatan untuk IP frontend, pertimbangkan untuk menetapkan alamat IP frontend dari bagian atas ruang subset yang ditentukan.

Misalnya, jika ruang alamat subnet adalah 10.5.5.0/24, pertimbangkan untuk mengatur konfigurasi IP frontend privat gateway Anda dimulai dengan 10.5.5.254 dan kemudian mengikuti dengan 10.5.5.253, 10.5.5.252, 10.5.5.251, dan sebagainya untuk gateway mendatang.

Dimungkinkan untuk mengubah subnet instans Application Gateway yang ada dalam jaringan virtual yang sama. Untuk membuat perubahan ini, gunakan Azure PowerShell atau Azure CLI. Untuk informasi selengkapnya, lihat Pertanyaan umum tentang Application Gateway.

Server DNS untuk resolusi nama

Sumber daya jaringan virtual mendukung konfigurasi server DNS, yang memungkinkan Anda memilih antara server DNS default atau kustom yang disediakan Azure. Instans gateway aplikasi Anda juga mematuhi konfigurasi DNS ini untuk resolusi nama apa pun. Setelah mengubah pengaturan ini, Anda harus memulai ulang (Hentikan dan Mulai) gateway aplikasi Agar perubahan ini berlaku pada instans.

Saat instans Application Gateway Anda mengeluarkan kueri DNS, itu menggunakan nilai dari server yang merespons terlebih dahulu.

Catatan

Jika Anda menggunakan server DNS kustom di jaringan virtual Application Gateway, server DNS harus dapat menyelesaikan nama internet publik. Application Gateway memerlukan kemampuan ini.

Izin jaringan virtual

Sumber daya Application Gateway disebarkan di dalam jaringan virtual, sehingga pemeriksaan juga dilakukan untuk memverifikasi izin pada sumber daya jaringan virtual. Validasi ini dilakukan selama operasi pembuatan dan manajemen dan juga berlaku untuk identitas terkelola untuk Pengontrol Ingress Application Gateway.

Periksa kontrol akses berbasis peran Azure Anda untuk memverifikasi bahwa pengguna dan perwakilan layanan yang mengoperasikan gateway aplikasi memiliki setidaknya izin berikut pada jaringan virtual atau subnet:

  • Microsoft.Network/virtualNetworks/subnets/gabung/tindakan
  • Microsoft.Network/virtualNetworks/subnets/baca

Anda dapat menggunakan peran bawaan, seperti kontributor Jaringan, yang sudah mendukung izin ini. Jika peran bawaan tidak memberikan izin yang tepat, Anda dapat membuat dan menetapkan peran kustom. Pelajari selengkapnya tentang mengelola izin subnet.

Catatan

Anda mungkin harus mengizinkan waktu yang memadai untuk refresh cache Azure Resource Manager setelah penetapan peran berubah.

Mengidentifikasi pengguna atau perwakilan layanan yang terpengaruh untuk langganan Anda

Dengan mengunjungi Azure Advisor untuk akun Anda, Anda dapat memverifikasi apakah langganan Anda memiliki pengguna atau perwakilan layanan dengan izin yang tidak mencukupi. Detail rekomendasi tersebut adalah sebagai berikut:

Judul: Memperbarui izin VNet kategori pengguna
Application Gateway: Dampak Keandalan
: Tinggi

Gunakan bendera Azure Feature Exposure Control (AFEC) sementara

Sebagai ekstensi sementara, kami memperkenalkan Azure Feature Exposure Control (AFEC) tingkat langganan. Anda dapat mendaftar untuk AFEC dan menggunakannya hingga Anda memperbaiki izin untuk semua pengguna dan perwakilan layanan Anda. Daftar untuk fitur dengan mengikuti langkah-langkah yang sama dengan pendaftaran fitur pratinjau untuk langganan Azure Anda.

Nama: Microsoft.Network/DisableApplicationGatewaySubnetPermissionCheck
Description: Nonaktifkan Application Gateway Subnet Permission Check
ProviderNamespace: Microsoft.Network
EnrollmentType: AutoApprove

Catatan

Sebaiknya gunakan provisi AFEC hanya sebagai mitigasi sementara hingga Anda menetapkan izin yang benar. Anda harus memprioritaskan perbaikan izin untuk semua pengguna yang berlaku (dan perwakilan layanan) lalu membatalkan pendaftaran bendera AFEC ini untuk memperkenalkan kembali verifikasi izin pada sumber daya jaringan virtual. Kami menyarankan agar Anda tidak bergantung pada metode AFEC ini secara permanen karena akan dihapus di masa mendatang.

Azure Virtual Network Manager

Azure Virtual Network Manager adalah layanan manajemen yang memungkinkan Anda mengelompokkan, mengonfigurasi, menyebarkan, dan mengelola jaringan virtual secara global di seluruh langganan. Dengan Virtual Network Manager, Anda dapat menentukan grup jaringan untuk mengidentifikasi dan secara logis mengelompokkan jaringan virtual Anda. Setelah itu, Anda dapat menentukan konfigurasi konektivitas dan keamanan yang Anda inginkan dan menerapkannya di semua jaringan virtual yang dipilih dalam grup jaringan sekaligus.

Konfigurasi aturan admin keamanan di Azure Virtual Network Manager memungkinkan Anda menentukan kebijakan keamanan dalam skala besar dan menerapkannya ke beberapa jaringan virtual sekaligus.

Catatan

Aturan admin keamanan Azure Virtual Network Manager hanya berlaku untuk subnet Application Gateway yang berisi gateway aplikasi dengan Isolasi Jaringan diaktifkan. Subnet dengan gateway aplikasi yang menonaktifkan Isolasi Jaringan tidak memiliki aturan admin keamanan.

Grup keamanan jaringan

Anda dapat menggunakan NSG untuk subnet Application Gateway Anda, tetapi waspadai beberapa poin dan batasan utama.

Penting

Batasan NSG ini dilonggarkan saat Anda menggunakan penyebaran Gateway Aplikasi Privat (pratinjau).

Aturan keamanan yang diperlukan

Untuk menggunakan NSG dengan gateway aplikasi, Anda perlu membuat atau mempertahankan beberapa aturan keamanan penting. Anda dapat mengatur prioritasnya dalam urutan yang sama.

Aturan masuk

Lalu lintas klien: Izinkan lalu lintas masuk dari klien yang diharapkan (sebagai IP sumber atau rentang IP), dan untuk tujuan sebagai seluruh awalan IP subnet gateway aplikasi Anda dan port akses masuk. Misalnya, jika Anda memiliki listener yang dikonfigurasi untuk port 80 dan 443, Anda harus mengizinkan port ini. Anda juga dapat mengatur aturan ini ke Any.

Sumber Port sumber Tujuan Port tujuan Protokol Access
<as per need> Mana pun <Subnet IP Prefix> <listener ports> TCP Izinkan

Setelah Anda mengonfigurasi listener publik dan privat aktif (dengan aturan) dengan nomor port yang sama, gateway aplikasi Anda mengubah Tujuan semua alur masuk ke IP frontend gateway Anda. Perubahan ini terjadi bahkan untuk pendengar yang tidak berbagi port apa pun. Anda harus menyertakan alamat IP publik dan privat frontend gateway Anda di Tujuan aturan masuk saat Anda menggunakan konfigurasi port yang sama.

Sumber Port sumber Tujuan Port tujuan Protokol Access
<as per need> Mana pun <Public and Private<br/>frontend IPs> <listener ports> TCP Izinkan

Port infrastruktur: Izinkan permintaan masuk dari sumber sebagai tag layanan GatewayManager dan Tujuan apa pun . Rentang port tujuan berbeda berdasarkan SKU dan diperlukan untuk mengomunikasikan status kesehatan backend. Port ini dilindungi/dikunci oleh sertifikat Azure. Entitas eksternal tidak dapat memulai perubahan pada titik akhir tersebut tanpa sertifikat yang sesuai.

  • V2: Port 65200-65535
  • V1: Port 65503-65534
Sumber Port sumber Tujuan Port tujuan Protokol Access
GatewayManager Apa pun Apa pun <as per SKU given above> TCP Izinkan

Pemeriksaan Azure Load Balancer: Izinkan lalu lintas masuk dari sumber sebagai tag layanan AzureLoadBalancer . Aturan ini dibuat secara default untuk NSG. Anda tidak boleh mengambil alihnya dengan aturan Tolak manual untuk memastikan kelancaran operasi gateway aplikasi Anda.

Sumber Port sumber Tujuan Port tujuan Protokol Access
AzureLoadBalancer Apa pun Apa pun Apa pun Apa pun Izinkan

Anda dapat memblokir semua lalu lintas masuk lainnya dengan menggunakan aturan Tolak Semua .

Aturan keluar

Keluar ke internet: Izinkan lalu lintas keluar ke internet untuk semua tujuan. Aturan ini dibuat secara default untuk NSG. Anda tidak boleh mengambil alihnya dengan aturan Tolak manual untuk memastikan kelancaran operasi gateway aplikasi Anda. Aturan NSG keluar yang menolak konektivitas keluar tidak boleh dibuat.

Sumber Port sumber Tujuan Port tujuan Protokol Access
Apa pun Apa pun Internet Apa pun Apa pun Izinkan

Catatan

Application Gateway yang tidak mengaktifkan Isolasi Jaringan tidak mengizinkan lalu lintas dikirim antara VNet yang di-peering saat Izinkan lalu lintas ke jaringan virtual jarak jauh dinonaktifkan.

Rute yang ditentukan pengguna yang didukung

Kontrol halus atas subnet Application Gateway melalui aturan tabel rute dimungkinkan dalam pratinjau publik. Untuk informasi selengkapnya, lihat Penyebaran Application Gateway Privat (pratinjau).

Dengan fungsionalitas saat ini, ada beberapa batasan:

Penting

Menggunakan UDR pada subnet Application Gateway dapat menyebabkan status kesehatan dalam tampilan kesehatan backend muncul sebagai Tidak Diketahui. Ini juga dapat menyebabkan pembuatan log dan metrik Application Gateway gagal. Sebaiknya jangan gunakan UDR pada subnet Application Gateway sehingga Anda dapat melihat kesehatan, log, dan metrik backend.

  • v1: Untuk SKU v1, UDR didukung pada subnet Application Gateway jika tidak mengubah komunikasi permintaan/respons end-to-end. Misalnya, Anda dapat mengatur UDR di subnet Application Gateway untuk mengarahkan ke alat firewall untuk inspeksi paket. Tetapi Anda harus memastikan bahwa paket dapat mencapai tujuan yang dimaksudkan setelah inspeksi. Kegagalan untuk melakukannya dapat mengakibatkan pemeriksaan kesehatan yang salah atau perilaku lalu lintas perutean. Rute yang dipelajari atau rute 0.0.0.0/0 default yang disebarkan oleh Gateway Azure ExpressRoute atau VPN di jaringan virtual juga disertakan.

  • v2: Untuk SKU v2, ada skenario yang didukung dan tidak didukung.

v2 skenario yang didukung

Peringatan

Konfigurasi tabel rute yang salah dapat mengakibatkan perutean asimetris di Application Gateway v2. Pastikan bahwa semua lalu lintas sarana manajemen/kontrol dikirim langsung ke internet dan bukan melalui appliance virtual. Pengelogan, metrik, dan pemeriksaan CRL juga dapat terpengaruh.

Skenario 1: UDR untuk menonaktifkan propagasi rute Border Gateway Protocol (BGP) ke subnet Application Gateway

Terkadang rute gateway default (0.0.0.0/0) diiklankan melalui gateway ExpressRoute atau VPN yang terkait dengan jaringan virtual Application Gateway. Perilaku ini memutus lalu lintas sarana manajemen, yang memerlukan jalur langsung ke internet. Dalam skenario seperti itu, Anda dapat menggunakan UDR untuk menonaktifkan penyebaran rute BGP.

Untuk menonaktifkan penyebaran rute BGP:

  1. Buat sumber daya tabel rute di Azure.
  2. Nonaktifkan parameter propagasi rute gateway jaringan Virtual.
  3. Kaitkan tabel rute ke subnet yang sesuai.

Mengaktifkan UDR untuk skenario ini seharusnya tidak merusak pengaturan yang ada.

Skenario 2: UDR untuk mengarahkan 0.0.0.0/0 ke internet

Anda dapat membuat UDR untuk mengirim lalu lintas 0.0.0.0/0 langsung ke internet.

Skenario 3: UDR untuk Azure Kubernetes Service (AKS) dengan kubenet

Jika Anda menggunakan kubenet dengan AKS dan Application Gateway Ingress Controller, Anda memerlukan tabel rute untuk memungkinkan lalu lintas yang dikirim ke pod dari Application Gateway untuk dirutekan ke node yang benar. Anda tidak perlu menggunakan tabel rute jika Anda menggunakan Antarmuka Jaringan Kontainer Azure.

Untuk menggunakan tabel rute agar kubenet berfungsi:

  1. Buka grup sumber daya yang dibuat oleh AKS. Nama grup sumber daya harus dimulai dengan MC_.

  2. Temukan tabel rute yang dibuat oleh AKS dalam grup sumber daya tersebut. Tabel rute harus diisi dengan informasi berikut:

    • Awalan alamat haruslah rentang IP pod yang ingin Anda jangkau di AKS.
    • Jenis hop berikutnya harus appliance virtual.
    • Alamat hop berikutnya harus menjadi alamat IP dari node hosting Pod.
  3. Kaitkan tabel rute ini ke subnet Application Gateway.

v2 skenario yang tidak didukung

Skenario 1: UDR untuk appliance virtual

Skenario apa pun di mana 0.0.0.0/0 perlu dialihkan melalui appliance virtual, jaringan virtual hub/spoke, atau lokal (penerowongan paksa) tidak didukung untuk v2.

Langkah berikutnya