Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Anda dapat menggunakan Azure CLI untuk mengonfigurasi aturan perutean berbasis jalur URL ketika membuat gateway aplikasi. Dalam tutorial ini, Anda membuat kumpulan backend menggunakan set skala komputer virtual. Anda kemudian membuat aturan perutean URL yang memastikan lalu lintas web dialihkan ke kumpulan backend yang sesuai.
Dalam tutorial ini, Anda akan mempelajari cara:
- Siapkan jaringan
- Membuat gerbang aplikasi
- Tambahkan pendengar dan aturan perutean
- Buat set skala komputer virtual untuk kumpulan backend
Contoh berikut menunjukkan lalu lintas situs yang berasal dari keduanya yakni port 8080 dan 8081 dan diarahkan ke kumpulan backend yang sama:
Jika mau, Anda dapat menyelesaikan tutorial ini menggunakan Azure PowerShell.
Jika Anda tidak memiliki akun Azure, buat akun gratis sebelum memulai.
Prasyarat
Gunakan lingkungan Bash di Azure Cloud Shell. Untuk informasi selengkapnya, lihat Mulai menggunakan Azure Cloud Shell.
Jika Anda lebih suka menjalankan perintah referensi CLI secara lokal, instal Azure CLI. Jika Anda menjalankan Windows atau macOS, pertimbangkan untuk menjalankan Azure CLI dalam kontainer Docker. Untuk informasi lebih lanjut, lihat Cara menjalankan Azure CLI di kontainer Docker.
Jika Anda menggunakan instalasi lokal, masuk ke Azure CLI dengan menggunakan perintah login az. Untuk menyelesaikan proses autentikasi, ikuti langkah-langkah yang ditampilkan di terminal Anda. Untuk opsi masuk lainnya, lihat Mengautentikasi ke Azure menggunakan Azure CLI.
Saat Anda diminta, instal ekstensi Azure CLI pada penggunaan pertama. Untuk informasi selengkapnya tentang ekstensi, lihat Menggunakan dan mengelola ekstensi dengan Azure CLI.
Jalankan versi az untuk menemukan versi dan pustaka dependen yang diinstal. Untuk meningkatkan ke versi terbaru, jalankan az upgrade.
- Tutorial ini memerlukan Azure CLI versi 2.0.4 atau yang lebih baru. Jika menggunakan Azure Cloud Shell, versi terbaru sudah terinstal.
Buat grup sumber daya
Grup sumber daya adalah kontainer logis tempat sumber daya Azure disebarkan dan dikelola. Membuat grup sumber daya dengan menggunakan az group create.
Contoh berikut membuat grup sumber daya bernama myResourceGroupAG di lokasi eastus.
az group create --name myResourceGroupAG --location eastus
Membuat sumber daya jaringan
Buat jaringan virtual bernama myVNet dan subnet bernama myAGSubnet menggunakan az network vnet create. Anda kemudian dapat menambahkan subnet bernama myBackendSubnet yang diperlukan oleh server ujung belakang menggunakan az network vnet subnet create. Buat alamat IP publik bernama myAGPublicIPAddress menggunakan buat ip-publik jaringan az.
az network vnet create \
--name myVNet \
--resource-group myResourceGroupAG \
--location eastus \
--address-prefix 10.0.0.0/16 \
--subnet-name myAGSubnet \
--subnet-prefix 10.0.1.0/24
az network vnet subnet create \
--name myBackendSubnet \
--resource-group myResourceGroupAG \
--vnet-name myVNet \
--address-prefix 10.0.2.0/24
az network public-ip create \
--resource-group myResourceGroupAG \
--name myAGPublicIPAddress \
--allocation-method Static \
--sku Standard
Membuat gerbang aplikasi
Gunakan az network application-gateway create untuk membuat gateway aplikasi bernama myAppGateway. Saat Anda membuat gateway aplikasi menggunakan Azure CLI, Anda menentukan informasi konfigurasi, seperti pengaturan kapasitas, sku, dan HTTP. Gateway aplikasi ditetapkan ke myAGSubnet dan myPublicIPAddress yang Anda buat sebelumnya.
az network application-gateway create \
--name myAppGateway \
--location eastus \
--resource-group myResourceGroupAG \
--vnet-name myVNet \
--subnet myAGsubnet \
--capacity 2 \
--sku Standard_v2 \
--http-settings-cookie-based-affinity Disabled \
--frontend-port 80 \
--http-settings-port 80 \
--http-settings-protocol Http \
--public-ip-address myAGPublicIPAddress \
--priority 100
Mungkin perlu waktu beberapa menit untuk membuat gateway aplikasi. Setelah gateway aplikasi dibuat, Anda bisa melihat fitur baru ini:
- appGatewayBackendPool - Gateway aplikasi harus memiliki setidaknya satu kumpulan alamat backend.
- appGatewayBackendHttpSettings - Menentukan bahwa port 80 dan protokol HTTP digunakan untuk komunikasi.
- appGatewayHttpListener - Listener default yang dikaitkan dengan appGatewayBackendPool.
- appGatewayFrontendIP: Menetapkan myAGPublicIPAddress ke appGatewayHttpListener.
- rule1 - Aturan perutean default yang diasosiasikan dengan appGatewayHttpListener.
Tambahkan kumpulan backend dan port
Anda dapat menambahkan pool alamat backend bernama imagesBackendPool dan videoBackendPool ke gateway aplikasi Anda dengan menggunakan az network application-gateway address-pool create. Anda menambahkan port frontend untuk pool menggunakan az network application-gateway frontend-port create.
az network application-gateway address-pool create \
--gateway-name myAppGateway \
--resource-group myResourceGroupAG \
--name imagesBackendPool
az network application-gateway address-pool create \
--gateway-name myAppGateway \
--resource-group myResourceGroupAG \
--name videoBackendPool
az network application-gateway frontend-port create \
--port 8080 \
--gateway-name myAppGateway \
--resource-group myResourceGroupAG \
--name bport
az network application-gateway frontend-port create \
--port 8081 \
--gateway-name myAppGateway \
--resource-group myResourceGroupAG \
--name rport
Menambahkan pendengar dan aturan
Tambahkan listener
Tambahkan pendengar backend bernama backendListener dan redirectedListener yang diperlukan untuk merutekan lalu lintas menggunakan az network application-gateway http-listener create.
az network application-gateway http-listener create \
--name backendListener \
--frontend-ip appGatewayFrontendIP \
--frontend-port bport \
--resource-group myResourceGroupAG \
--gateway-name myAppGateway
az network application-gateway http-listener create \
--name redirectedListener \
--frontend-ip appGatewayFrontendIP \
--frontend-port rport \
--resource-group myResourceGroupAG \
--gateway-name myAppGateway
Tambahkan peta jalur URL default
Peta jalur URL memastikan URL tertentu dirutekan ke kumpulan backend tertentu. Anda dapat membuat peta jalur URL bernama imagePathRule dan videoPathRule menggunakan az network application-gateway url-path-map create dan az network application-gateway url-path-map rule create
az network application-gateway url-path-map create \
--gateway-name myAppGateway \
--name urlpathmap \
--paths /images/* \
--resource-group myResourceGroupAG \
--address-pool imagesBackendPool \
--default-address-pool appGatewayBackendPool \
--default-http-settings appGatewayBackendHttpSettings \
--http-settings appGatewayBackendHttpSettings \
--rule-name imagePathRule
az network application-gateway url-path-map rule create \
--gateway-name myAppGateway \
--name videoPathRule \
--resource-group myResourceGroupAG \
--path-map-name urlpathmap \
--paths /video/* \
--address-pool videoBackendPool
Tambahkan konfigurasi pengalihan
Anda dapat mengonfigurasi pengalihan untuk listener menggunakan az network application-gateway redirect-config create.
az network application-gateway redirect-config create \
--gateway-name myAppGateway \
--name redirectConfig \
--resource-group myResourceGroupAG \
--type Found \
--include-path true \
--include-query-string true \
--target-listener backendListener
Menambahkan peta jalur URL pengalihan
az network application-gateway url-path-map create \
--gateway-name myAppGateway \
--name redirectpathmap \
--paths /images/* \
--resource-group myResourceGroupAG \
--redirect-config redirectConfig \
--rule-name redirectPathRule
Tambahkan aturan perutean
Aturan perutean mengaitkan jalur peta URL dengan listener yang Anda buat. Anda dapat menambahkan aturan dengan nama defaultRule dan redirectedRule menggunakan az network application-gateway rule create.
az network application-gateway rule create \
--gateway-name myAppGateway \
--name defaultRule \
--resource-group myResourceGroupAG \
--http-listener backendListener \
--rule-type PathBasedRouting \
--url-path-map urlpathmap \
--address-pool appGatewayBackendPool \
--priority 100
az network application-gateway rule create \
--gateway-name myAppGateway \
--name redirectedRule \
--resource-group myResourceGroupAG \
--http-listener redirectedListener \
--rule-type PathBasedRouting \
--url-path-map redirectpathmap \
--address-pool appGatewayBackendPool \
--priority 100
Membuat set skala mesin virtual
Dalam contoh ini, Anda membuat tiga set skala mesin virtual yang mendukung tiga kumpulan backend yang Anda buat. Set skala yang Anda buat bernama myvmss1, myvmss2, dan myvmss3. Setiap set skala berisi dua instans komputer virtual di tempat Anda menginstal NGINX.
Ganti <azure-pengguna> dan <kata sandi> dengan nama pengguna dan kata sandi pilihan Anda.
for i in `seq 1 3`; do
if [ $i -eq 1 ]
then
poolName="appGatewayBackendPool"
fi
if [ $i -eq 2 ]
then
poolName="imagesBackendPool"
fi
if [ $i -eq 3 ]
then
poolName="videoBackendPool"
fi
az vmss create \
--name myvmss$i \
--resource-group myResourceGroupAG \
--image Ubuntu2204 \
--admin-username <azure-user> \
--admin-password <password> \
--instance-count 2 \
--vnet-name myVNet \
--subnet myBackendSubnet \
--vm-sku Standard_DS2 \
--upgrade-policy-mode Automatic \
--app-gateway myAppGateway \
--backend-pool-name $poolName
done
Memasang NGINX
for i in `seq 1 3`; do
az vmss extension set \
--publisher Microsoft.Azure.Extensions \
--version 2.0 \
--name CustomScript \
--resource-group myResourceGroupAG \
--vmss-name myvmss$i \
--settings '{ "fileUris": ["https://raw.githubusercontent.com/Azure/azure-docs-powershell-samples/master/application-gateway/iis/install_nginx.sh"], "commandToExecute": "./install_nginx.sh" }'
done
Uji gateway aplikasi
Untuk mendapatkan alamat IP publik dari application gateway, gunakan az network public-ip show. Salin alamat IP publik, lalu tempelkan ke bilah alamat browser Anda. Seperti, http://40.121.222.19, http://40.121.222.19:8080/images/test.htm, http://40.121.222.19:8080/video/test.htm, atau http://40.121.222.19:8081/images/test.htm.
az network public-ip show \
--resource-group myResourceGroupAG \
--name myAGPublicIPAddress \
--query [ipAddress] \
--output tsv
Ubah URL ke http://<alamat IP>:8080/images/test.html, ganti alamat IP Anda untuk < alamat IP>, dan Anda akan melihat sesuatu seperti contoh berikut:
Ubah URL ke http://<alamat-ip>:8080/video/test.html, mengganti alamat IP Anda dengan <alamat-ip>, dan Anda akan melihat sesuatu seperti contoh berikut:
Sekarang, ubah URL ke http://<ip-address>:8081/images/test.htm, ganti alamat IP Anda untuk <alamat ip>, dan Anda akan melihat lalu lintas dialihkan kembali ke kumpulan backend gambar di http://<ip-address>:8080/images.
Membersihkan sumber daya
Jika tidak lagi diperlukan, hapus grup sumber daya, gateway aplikasi, dan semua sumber daya terkait.
az group delete --name myResourceGroupAG