Mengintegrasikan ILB App Service Environment dengan Azure Application Gateway

Artikel ini menjelaskan cara mengonfigurasi Azure Application Gateway untuk mengarahkan ke aplikasi yang dihosting di Lingkungan App Service. Lingkungan App Service merupakan sebuah penyebaran layanan Azure App Service dalam subnet jaringan virtual Azure milik organisasi tersebut. Lingkungan App Service dapat disebarkan dengan titik akhir eksternal atau internal untuk akses aplikasi. Penyebaran dengan titik akhir internal disebut sebagai Lingkungan Load Balancer Internal (ILB) App Service.

Application Gateway adalah appliance virtual yang menyediakan penyeimbangan beban lapisan 7, offloading TLS, dan perlindungan firewall aplikasi web (WAF). Gateway dapat mendengarkan alamat IP publik dan merutekan lalu lintas ke titik akhir aplikasi Anda. WAF membantu mengamankan aplikasi web Anda dengan memeriksa lalu lintas web masuk untuk memblokir injeksi SQL, pembuatan skrip lintas situs, unggahan malware, dan DDoS aplikasi, dan serangan lainnya. Anda bisa mendapatkan perangkat WAF dari Marketplace Azure atau Anda bisa menggunakan Azure Application Gateway.

Integrasi gateway aplikasi dengan ILB App Service Environment dilakukan pada tingkat aplikasi. Anda mengonfigurasi gateway aplikasi di ILB App Service Environment untuk aplikasi tertentu di lingkungan Anda. Diagram berikut menunjukkan skenario:

Diagram menunjukkan tampilan tingkat tinggi integrasi antara gateway aplikasi dan aplikasi di ILB App Service Environment.

Prasyarat

  • ILB App Service Environment, seperti yang dijelaskan dalam Menyiapkan ILB App Service Environment.

    • Lingkungan harus menyertakan paket App Service.

    • Lingkungan harus menghosting aplikasi App Service dengan ILB App Service Environment yang ditetapkan sebagai lokasi wilayah aplikasi.

  • Zona DNS Privat Azure untuk ILB App Service Environment, seperti yang dijelaskan dalam Membuat zona DNS Privat.

  • Nama DNS publik untuk gateway aplikasi Azure Anda, seperti yang dijelaskan dalam Memetakan nama DNS publik ke gateway aplikasi.

  • Jika Anda berencana menggunakan enkripsi TLS ke gateway aplikasi, Anda memerlukan sertifikat publik yang valid untuk mengikat gateway aplikasi Anda. Untuk detailnya, lihat Membuat sertifikat publik yang valid.

Persiapkan Lingkungan Layanan Aplikasi ILB

Anda dapat membuat ILB App Service Environment di portal Microsoft Azure atau dengan menggunakan templat Azure Resource Manager (templat ARM).

ILB App Service Environment menyediakan dua sumber daya untuk konfigurasi Anda:

  • Domain default dengan bentuk <your-app-service-environment-name>.appserviceenvironment.net.

    Cuplikan layar yang memperlihatkan nama domain untuk ILB App Service Environment di portal Microsoft Azure.

  • Load balancer internal yang disediakan untuk akses masuk. Anda dapat memeriksa alamat Masuk dalam bagian alamat IP pada Pengaturan App Service Environment. Anda dapat membuat zona DNS privat yang dipetakan ke alamat IP ini nanti.

    Cuplikan layar yang memperlihatkan alamat IP Masuk untuk ILB App Service Environment di portal Microsoft Azure.

ILB App Service Environment harus menghosting aplikasi App Service. Saat Anda membuat aplikasi di portal Microsoft Azure, atur lokasi Wilayah ke ILB App Service Environment.

Membuat zona DNS Privat

Anda memerlukan zona DNS Privat untuk resolusi nama internal. Buat lingkungan dengan nama App Service Environment dengan menentukan kumpulan catatan berikut:

Nama Jenis Value
* A Alamat Masuk App Service Environment
@ A Alamat Masuk App Service Environment
@ SOA Nama DNS dari Lingkungan App Service
*.scm A Alamat Masuk App Service Environment

Untuk instruksi mendetail, lihat Membuat zona DNS Privat di portal Microsoft Azure.

Memetakan nama DNS publik ke gateway aplikasi

Untuk menyambungkan ke gateway aplikasi dari internet, Anda memerlukan nama domain yang dapat dirutekan. Contoh dalam artikel ini menggunakan nama zava-public.comdomain yang dapat dirutekan . Koneksi ke aplikasi App Service menggunakan nama app.zava-public.comdomain .

Setelah membuat Application Gateway, Anda perlu memetakan alamat IP publik frontend gateway ke nama domain aplikasi. Artikel ini membuat catatan di zona Azure DNS untuk contohnya. Untuk membuat zona DNS dan kumpulan rekaman, lihat Membuat zona dan rekaman Azure DNS di portal Microsoft Azure.

Saat memetakan domain publik ke gateway aplikasi, Anda tidak perlu mengonfigurasi domain kustom di App Service. Anda dapat membeli dan memetakan domain App Service.

Membuat sertifikat publik yang valid

Untuk peningkatan keamanan, ikat sertifikat TLS untuk enkripsi sesi. Sertifikat diimpor ke gateway aplikasi nanti.

  • File sertifikat harus memiliki kunci privat.

  • Simpan sertifikat dalam format Pertukaran Informasi Pribadi (.pfx).

Untuk mengikat sertifikat TLS ke gateway aplikasi, Anda memerlukan sertifikat publik yang valid dengan informasi berikut:

Nama Deskripsi Value Example
Nama Umum Sertifikat standar atau wildcard certificate untuk gateway aplikasi. <your-application-name>.<your-domain-name>
*.<your-domain-name>
app.zava-public.com
*.zava-public.com
Nama Alternatif Subjek (SAN) SAN yang memungkinkan koneksi ke layanan Kudu App Service. Jika Anda tidak ingin menerbitkan layanan kudu App Service ke internet, pengaturan ini bersifat opsional. <your-application-name>.scm.<your-domain-name>
*.scm.<your-domain-name>
app.scm.zava-public.com
*.scm.zava-public.com

Anda dapat membeli dan mengelola sertifikat App Service untuk digunakan sebagai sertifikat TLS dan mengekspornya dalam format .pfx .

Membuat gerbang aplikasi

Prosedur berikut membuat gateway aplikasi dengan ILB App Service Environment di portal Microsoft Azure. Untuk instruksi umum untuk membuat gateway aplikasi, lihat Membuat gateway aplikasi dengan Web Application Firewall di portal Microsoft Azure.

Mengonfigurasi pengaturan dasar

  1. Di portal Microsoft Azure, buka halaman Beranda , dan pilih + Buat sumber daya.

  2. di halaman Marketplace , cari Application Gateway.

  3. Pada kartu Microsoft Application Gateway , pilih Buat>Application Gateway.

  4. Di panel Buat gateway aplikasi , konfigurasikan pengaturan berikut ini pada tab Dasar :

    1. Pilih Langganan Anda.

    2. Pilih Grup sumber daya yang ada atau buat yang baru.

    3. Masukkan nama Gateway aplikasi.

    4. Pilih lokasi Wilayah .

    5. Atur Tingkat ke Standard V2 atau WAF V2 (mengaktifkan fitur WAF pada gateway aplikasi).

    6. Pilih jaringan Virtual yang sudah ada atau buat jaringan baru.

    7. Pilih Subnet yang sudah ada atau buat yang baru.

Mengonfigurasi pengaturan untuk frontend

  1. Pilih Berikutnya: Frontend , >dan konfigurasikan pengaturan Frontend berikut:

    1. Atur jenis alamat IP Frontend ke Publik, Privat, atau Keduanya.

      Untuk jenis Privat atau Keduanya , Anda juga perlu menetapkan alamat IP Privat statis dalam rentang subnet gateway aplikasi.

    2. Untuk alamat IP Publik, masukkan alamat IP publik yang akan digunakan untuk akses publik gateway aplikasi.

      Cuplikan layar yang memperlihatkan cara mengatur alamat IP publik untuk akses gateway aplikasi di portal Microsoft Azure.

    3. Rekam alamat IP publik untuk nanti, saat Anda menambahkan catatan untuk alamat IP di layanan DNS Anda.

    Contoh dalam artikel ini menggunakan opsi Publik untuk mengaktifkan titik akhir publik saja.

Mengonfigurasi pengaturan untuk backend

  1. Pilih Berikutnya: Backend , >dan konfigurasikan pengaturan Backend berikut:

    1. Masukkan nama kumpulan Backend, seperti zava-backend-pool.

    2. Untuk Jenis target, pilih App Services atau alamat IP atau FQDN.

    3. Untuk Target, pilih aplikasi yang dihosting di ILB App Service Environment Anda.

    4. Pilih Tambahkan.

    Contoh dalam artikel ini memilih opsi App Services :

    Cuplikan layar yang memperlihatkan cara menambahkan kumpulan backend untuk gateway aplikasi di portal Microsoft Azure.

Mengonfigurasi aturan perutean

  1. Pilih Berikutnya: Konfigurasi >, lalu pilih Tambahkan aturan perutean.

    Cuplikan layar yang memperlihatkan cara memilih 'Tambahkan aturan perutean' untuk pengaturan Konfigurasi gateway aplikasi di portal Microsoft Azure.

  2. Di panel Tambahkan aturan perutean , konfigurasikan pengaturan berikut ini:

    1. Masukkan Nama aturan, seperti zava-routing-rule.

    2. Tentukan Prioritas untuk memproses aturan sehubungan dengan aturan lain. Masukkan nilai dari 1 (prioritas tertinggi atau pertama diproses) menjadi 20.000 (prioritas terendah atau terakhir diproses).

    Untuk menyelesaikan konfigurasi aturan, Anda perlu menentukan pengaturan untuk Listener dan target Backend.

Menambahkan pendengar HTTP

  1. Untuk bukti penyebaran konsep, tambahkan pendengar HTTP dengan pengaturan berikut:

    Setting Deskripsi Contoh nilai
    Nama pendengar Masukkan nama untuk pendengar. zava-http-rule-listener
    Frontend IP Identifikasi jenis alamat IP frontend. Contoh dalam artikel ini menggunakan IP yang mendukung akses internet publik. IPv4 Publik
    Protocol Pilih protokol untuk koneksi. HTTP
    Catatan: Untuk contoh ini, jangan pilih enkripsi TLS .
    Port Tentukan port HTTP default. 80
    Jenis pendengar Menunjukkan apakah pendengar mendukung satu atau beberapa situs. - Hanya untuk satu situs, pilih Dasar.
    - Untuk beberapa situs, pilih Multi situs.
    Jenis host Identifikasi jenis nama host situs web. - Untuk satu situs, pilih Satu.
    - Untuk beberapa situs, pilih Beberapa/Wildcard.
    Nama host Masukkan satu atau beberapa nama domain yang dapat dirutekan untuk aplikasi App Service Anda. app.zava-public.com, app.zava-online.com

    Gambar berikut menunjukkan definisi aturan perutean dan konfigurasi untuk pendengar HTTP:

    Cuplikan layar yang memperlihatkan cara mengonfigurasi listener untuk aturan perutean HTTP aplikasi gateway.

Menambahkan pendengar HTTPS

  1. Jika Anda menginginkan peningkatan keamanan, tambahkan pendengar HTTPS dengan enkripsi TLS:

    Setting Deskripsi Contoh nilai
    Nama pendengar Masukkan nama untuk pendengar. zave-https-rule-listener
    Frontend IP Identifikasi jenis alamat IP frontend. Contoh dalam artikel ini menggunakan IP yang mendukung akses internet publik. IPv4 Publik
    Protocol Pilih protokol untuk koneksi. HTTPS atau TLS
    Port Tentukan port HTTPS default. 443
    Jenis pendengar Menunjukkan apakah pendengar mendukung satu atau beberapa situs. - Hanya untuk satu situs, pilih Dasar.
    - Untuk beberapa situs, pilih Multi situs.
    Jenis host Identifikasi jenis nama host situs web. - Untuk satu situs, pilih Satu.
    - Untuk beberapa situs, pilih Beberapa/Wildcard.
    Nama host Masukkan satu atau beberapa nama domain yang dapat dirutekan untuk aplikasi App Service Anda. app.zava-public-cert.com, app.zava-secure.com

    Untuk Pengaturan Https, pilih sertifikat yang akan digunakan untuk koneksi terenkripsi:

    • Unggah sertifikat: Pilih opsi ini jika Anda ingin mengunggah sertifikat yang berisi CN dan kunci privat dengan format .pfx .

      1. Masukkan nama Cert untuk mengidentifikasi sertifikat, seperti zava-https-certificate.

      2. Identifikasi file sertifikat PFX yang menentukan sertifikat. Anda dapat menggunakan ikon Pilih file untuk menemukan file dengan menggunakan File Explorer.

      3. Masukkan kata sandi sertifikat.

    • Pilih sertifikat dari Key Vault: Pilih opsi ini jika Anda ingin memilih sertifikat yang disimpan di Azure Key Vault.

      1. Masukkan nama Cert untuk mengidentifikasi sertifikat, seperti zava-https-certificate.

      2. Menentukan Identitas terkelola yang terkait dengan sertifikat, seperti zava-https-users.

        Nota

        Jika brankas kunci Anda menggunakan model izin Kontrol akses berbasis peran (RBAC), Anda tidak dapat menggunakan portal Microsoft Azure untuk menyelesaikan langkah-langkah awal untuk mereferensikan brankas kunci. Sebagai gantinya, gunakan templat Azure Resource Manager (templat ARM), Bicep, Azure CLI, atau Azure PowerShell. Selama proses, sistem menggunakan identitas terkelola yang berisi izin RBAC yang tepat.

      3. Tentukan Brankas kunci tempat sertifikat disimpan, seperti zava-key-vault.

      4. Identifikasi ID Sertifikat , seperti https://zava-key-vault.vault.azure.net/secrets/zava-certificate.

    Gambar berikut menunjukkan konfigurasi untuk pendengar HTTPS yang mengakses sertifikat yang disimpan dalam brankas kunci:

    Cuplikan layar yang memperlihatkan cara mengonfigurasi pendengar (listener) untuk aturan perutean HTTPS pada gateway aplikasi.

  2. Setelah Anda mengonfigurasi properti HTTPS Listener , pilih Tambahkan.

Mengonfigurasi kumpulan backend

  1. Untuk menyelesaikan definisi aturan perutean, pilih tab Target backend , dan konfigurasikan pengaturan berikut. Untuk bagian ini, Anda menggunakan informasi kumpulan backend yang sama dengan yang Anda tentukan sebelumnya.

    Cuplikan layar yang memperlihatkan cara mengonfigurasi target backend untuk aturan perutean HTTPS untuk gateway aplikasi.

    1. Atur Jenis target ke Kumpulan backend.

    2. Untuk target Backend, pilih kumpulan backend yang Anda tentukan sebelumnya.

    3. Untuk pengaturan Backend, pilih tautan Tambahkan baru dan konfigurasikan pengaturan berikut:

      Setting Deskripsi Contoh nilai
      Nama pengaturan backend Masukkan nama untuk mengidentifikasi pengaturan backend. zava-backend-settings
      Protokol backend Pilih protokol yang akan digunakan untuk koneksi backend. HTTP atau HTTPS
      Catatan: Contoh dalam artikel ini menggunakan HTTPS.
      Port ujung belakang Masukkan nilai port default untuk koneksi backend. 443
      Jenis validasi sertifikat bagian belakang

      dan Penerbit sertifikat backend
      Pilih penerbit sertifikat dan cakupan proses validasi. Penerbit mendefinisikan kriteria untuk cakupan validasi penuh.
      Nama domain default ILB App Service Environment adalah .appserviceenvironment.net. Penerbit untuk sertifikat untuk domain ini adalah otoritas sertifikat akar (CA) tepercaya publik. Anda dapat memilih gunakan untuk CA publik atau penyedia privat, dan menentukan apakah Anda ingin validasi dapat dikonfigurasi.
      - Untuk mengandalkan proses validasi penuh yang disediakan oleh otoritas publik, pilih Selesaikan validasi dan CA Publik. (Opsi ini adalah pengaturan default.)
      - Untuk menggunakan penyedia privat dengan proses validasi yang dapat Anda konfigurasi sesuai kebutuhan Anda, pilih CA Yang Dapat Dikonfigurasi dan Privat.
      Batas waktu permintaan (detik) Masukkan jumlah waktu gateway aplikasi menunggu respons dari kumpulan backend sebelum mengembalikan pesan kesalahan Waktu koneksi habis . 20
      Ganti dengan nama host baru Tentukan apakah akan mengganti header host ketika terhubung ke aplikasi di ILB App Service Environment. Saat Anda memilih Ya, Anda juga mengonfigurasi pengaturan Penggantian nama host . Yes
      Penimpaan nama host Tentukan cara mengganti nama host. Anda dapat menentukan untuk memilih nilai dari target backend atau memasukkan nama domain tertentu. Pilih nama host dari target backend
      Saat Anda mengonfigurasi pool backend ke aplikasi App Service, Anda dapat memilih host dari target backend.
      Membuat pemeriksaan kustom Tentukan apakah akan menggunakan probes kesehatan yang ditentukan khusus. Secara default, pengaturan ini diaktifkan (Ya). No

      Gambar berikut menunjukkan cara mengonfigurasi pengaturan backend untuk koneksi protokol HTTPS:

      Cuplikan layar yang memperlihatkan cara mengonfigurasi pengaturan backend untuk koneksi protokol HTTPS di portal Microsoft Azure.

  2. Setelah Anda mengonfigurasi pengaturan Backend, pilih Tambahkan.

  3. Untuk menyelesaikan definisi aturan perutean, pilih Tambahkan.

  4. (Opsional) Tentukan tag untuk sumber daya.

  5. Pilih Tinjau + Buat dan tinjau pengaturan konfigurasi. Saat Anda siap untuk menyiapkan gateway aplikasi, pilih Buat.

Mengonfigurasi integrasi gateway dengan lingkungan

Anda mengakses ILB App Service Environment dari gateway aplikasi dengan menggunakan tautan Azure Virtual Network ke zona DNS Privat Azure. Tautan Zona DNS Privat menunjuk ke jaringan virtual yang berisi gateway aplikasi.

Periksa tautan jaringan virtual di zona DNS Privat Anda dan konfirmasikan bahwa Anda memiliki tautan untuk gateway aplikasi Anda:

  1. Di portal Microsoft Azure, buka sumber daya Application Gateway Anda.

  2. Rekam jaringan virtual yang berisi sumber daya gateway:

    Cuplikan layar yang memperlihatkan cara menemukan jaringan virtual yang berisi gateway aplikasi di portal Microsoft Azure.

  3. Buka sumber daya zona DNS Privat Anda.

  4. Di menu sebelah kiri, pilih Dns Management>Virtual Network Links.

    Panel kanan mencantumkan tautan yang sudah ada. Setiap tautan menunjukkan jaringan virtual untuk integrasi.

  5. Temukan tautan yang memiliki integrasi untuk jaringan virtual yang berisi gateway aplikasi Anda.

    Jika Anda tidak memiliki tautan ke jaringan virtual untuk gateway aplikasi Anda, selesaikan prosedur di bagian berikut dan tambahkan tautan jaringan virtual.

  1. Di portal Microsoft Azure, buka sumber daya zona DNS Privat Anda.

  2. Di menu sebelah kiri, pilih Dns Management>Virtual Network Links.

  3. Pilih + Tambahkan.

  4. Di panel Tambahkan Tautan Virtual Network , konfigurasikan tautan baru:

    • Masukkan Nama tautan.

    • Pilih Langganan Anda.

    • Pilih Virtual Network yang berisi gateway aplikasi Anda.

    Cuplikan layar yang memperlihatkan cara membuat tautan jaringan virtual baru di zona DNS Privat di portal Microsoft Azure.

  5. Pilih Buat.

Periksa status kesehatan backend

Setelah mengonfirmasi tautan jaringan virtual, Anda dapat memantau status kesehatan backend untuk gateway aplikasi Anda.

  1. Di portal Microsoft Azure, buka sumber daya Application Gateway Anda.

  2. Di menu sebelah kiri, pilih Pemantauan>Kesehatan Backend.

    Cuplikan layar yang memperlihatkan cara memantau status kesehatan backend untuk gateway aplikasi di portal Microsoft Azure.

Menambahkan catatan DNS publik

Untuk mengakses gateway aplikasi dari internet, Anda perlu mengonfigurasi pemetaan DNS.

Anda bisa membuat catatan publik di zona Azure DNS untuk menunjuk ke alamat IP publik frontend untuk gateway aplikasi Anda.

  1. Di portal Microsoft Azure, buka sumber daya Application Gateway Anda.

  2. Di menu sebelah kiri, pilih Pengaturan>konfigurasi IP Frontend.

  3. Temukan alamat IP frontend Publik untuk gateway aplikasi:

    Cuplikan layar yang memperlihatkan cara menemukan alamat IP frontend publik untuk gateway aplikasi di portal Microsoft Azure.

  4. Buka sumber daya zona Azure DNS .

  5. Di menu sebelah kiri, pilihHimpunan Catatan> DNS.

  6. Pilih + Tambahkan dan tambahkan catatan untuk memetakan nama domain aplikasi Anda ke alamat IP publik frontend gateway aplikasi Anda.

    Cuplikan layar yang memperlihatkan catatan yang ditambahkan ke zona DNS untuk memetakan nama domain aplikasi ke alamat IP publik gateway aplikasi.

Memvalidasi koneksi

Verifikasi resolusi nama dari nama domain aplikasi hingga ke alamat IP publik frontend gateway aplikasi.

  • Periksa koneksi dari perangkat yang terhubung ke internet:

    Cuplikan layar jendela perintah memperlihatkan pemeriksaan resolusi nama pada nama domain aplikasi ke alamat IP publik gateway.

  • Uji akses web ke domain untuk aplikasi Anda di browser:

    Cuplikan layar jendela browser memperlihatkan pengujian untuk memverifikasi akses ke nama domain aplikasi.