Mengelola lalu lintas web dengan gateway aplikasi menggunakan Azure CLI

Gateway aplikasi digunakan untuk mengelola dan mengamankan lalu lintas web ke server yang Anda pertahankan. Anda dapat menggunakan Azure CLI untuk membuat gateway aplikasi yang menggunakan Virtual Machine Scale Set untuk server backend. Dalam contoh ini, set skala berisi dua instans komputer virtual. Set skala ditambahkan ke kumpulan backend default dari gateway aplikasi.

Dalam artikel ini, Anda akan mempelajari cara:

  • Siapkan jaringan
  • Membuat gateway aplikasi
  • Membuat Set Skala Komputer Virtual dengan kumpulan backend default

Jika berkenan, Anda dapat menyelesaikan prosedur ini menggunakan Azure PowerShell.

Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.

Prasyarat

  • 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 yang disebarkan dan dikelola oleh sumber daya Azure. 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 backend 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 gateway aplikasi

Gunakan buat gateway-aplikasi jaringan az 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 application gateway 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.
  • aturan1 - Aturan perutean default yang terkait dengan appGatewayHttpListener.

Membuat Set Skala Komputer Virtual

Dalam contoh ini, Anda membuat Set Skala Komputer Virtual yang menyediakan server untuk kumpulan backend di gateway aplikasi. Komputer virtual dalam set skala dikaitkan dengan myBackendSubnet dan appGatewayBackendPool. Untuk membuat set skala, gunakan buat vmss az.

az vmss create \
 --name myvmss \
 --resource-group myResourceGroupAG \
 --image Ubuntu2204 \
 --admin-username azureuser \
 --admin-password Azure123456! \
 --instance-count 2 \
 --vnet-name myVNet \
 --subnet myBackendSubnet \
 --vm-sku Standard_DS2 \
 --upgrade-policy-mode Automatic \
 --app-gateway myAppGateway \
 --backend-pool-name appGatewayBackendPool

Memasang NGINX

Sekarang Anda dapat menginstal NGINX pada Virtual Machine Scale Set sehingga Anda dapat menguji konektivitas HTTP ke kumpulan backend.

az vmss extension set \
 --publisher Microsoft.Azure.Extensions \
 --version 2.0 \
 --name CustomScript \
 --resource-group myResourceGroupAG \
 --vmss-name myvmss \
 --settings '{ "fileUris": ["https://raw.githubusercontent.com/Azure/azure-docs-powershell-samples/master/application-gateway/iis/install_nginx.sh"], "commandToExecute": "./install_nginx.sh" }'

Uji gateway aplikasi

Untuk mendapatkan alamat IP publik application gateway, gunakan tampilkan ip publik jaringan az. Salin alamat IP publik, lalu tempelkan ke bilah alamat browser Anda.

az network public-ip show \
 --resource-group myResourceGroupAG \
 --name myAGPublicIPAddress \
 --query [ipAddress] \
 --output tsv

Test base URL in application gateway

Membersihkan sumber daya

Jika tidak lagi diperlukan, hapus grup sumber daya, gateway aplikasi, dan semua sumber daya terkait.

az group delete --name myResourceGroupAG --location eastus

Langkah berikutnya

Membatasi lalu lintas web dengan firewall aplikasi web