Mulai Cepat: Mengarahkan lalu lintas web dengan Azure Application Gateway - Azure CLI
Dalam mulai cepat ini, Anda menggunakan Azure PowerShell untuk membuat gateway aplikasi. Kemudian Anda mengujinya untuk memastikan gateway aplikasi bekerja dengan benar.
Gateway aplikasi mengarahkan lalu lintas web aplikasi ke sumber daya tertentu di kumpulan backend. Anda menetapkan pendengar ke port, membuat aturan, dan menambahkan sumber daya ke kumpulan backend. Demi kesederhanaan, artikel ini menggunakan pengaturan sederhana dengan alamat IP frontend publik, pendengar dasar untuk menghosting satu situs di gateway aplikasi, aturan perutean permintaan dasar, dan dua komputer virtual di kumpulan backend.
Anda juga dapat menyelesaikan mulai cepat ini menggunakan Microsoft Azure PowerShell atau portal Microsoft Azure.
Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.
Prasyarat
Gunakan lingkungan Bash di Azure Cloud Shell. Untuk informasi selengkapnya, lihat Mulai Cepat untuk Bash di 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 Masuk dengan Azure CLI.
Saat Anda diminta, instal ekstensi Azure CLI pada penggunaan pertama. Untuk informasi selengkapnya tentang ekstensi, lihat Menggunakan ekstensi dengan Azure CLI.
Jalankan versi az untuk menemukan versi dan pustaka dependen yang diinstal. Untuk meningkatkan ke versi terbaru, jalankan peningkatan az.
- Artikel ini memerlukan Azure CLI versi 2.0.4 atau yang lebih baru. Jika menggunakan Azure Cloud Shell, versi terbaru sudah terinstal.
Catatan
Frontend Application Gateway sekarang mendukung alamat IP tumpukan ganda (Pratinjau). Anda sekarang dapat membuat hingga empat alamat IP frontend: Dua alamat IPv4 (publik dan privat) dan dua alamat IPv6 (publik dan privat).
Buat grup sumber daya
Di Azure, Anda mengalokasikan sumber daya terkait ke grup sumber daya. Buat 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
Agar Azure dapat berkomunikasi antara sumber daya yang Anda buat, maka perlu jaringan virtual. Subnet gateway aplikasi hanya dapat berisi gateway aplikasi. Tak ada sumberdaya lain yang diperbolehkan. Anda dapat membuat subnet baru untuk Application Gateway atau menggunakan subnet yang sudah ada. Dalam contoh ini, Anda membuat dua subnet: satu untuk gateway aplikasi, dan satu lagi untuk server backend. Anda dapat mengonfigurasi IP Ujung Depan dari Application Gateway menjadi Publik atau Privat sesuai kasus penggunaan Anda. Dalam contoh ini, Anda akan memilih alamat IP Ujung Depan Publik.
Catatan
Frontend Application Gateway sekarang mendukung alamat IP tumpukan ganda (Pratinjau Umum). Anda sekarang dapat membuat hingga empat alamat IP frontend: Dua alamat IPv4 (publik dan privat) dan dua alamat IPv6 (publik dan privat).
Untuk membuat jaringan virtual dan subnet, gunakan az network vnet create
. Jalankan az network public-ip create
untuk membuat alamat IP publik.
az network vnet create \
--name myVNet \
--resource-group myResourceGroupAG \
--location eastus \
--address-prefix 10.21.0.0/16 \
--subnet-name myAGSubnet \
--subnet-prefix 10.21.0.0/24
az network vnet subnet create \
--name myBackendSubnet \
--resource-group myResourceGroupAG \
--vnet-name myVNet \
--address-prefix 10.21.1.0/24
az network public-ip create \
--resource-group myResourceGroupAG \
--name myAGPublicIPAddress \
--allocation-method Static \
--sku Standard
Membuat server backend
Backend dapat memiliki NIC, set skala komputer virtual, alamat IP publik, alamat IP internal, nama domain yang sepenuhnya memenuhi syarat (FQDN), dan backend multipenyewa seperti Azure App Service. Dalam contoh ini, Anda membuat dua komputer virtual yang digunakan sebagai server backend untuk gateway aplikasi. Anda juga menginstal NGINX pada komputer virtual untuk menguji gateway aplikasi.
Buat dua komputer virtual
Instal server web NGINX pada mesin virtual untuk memverifikasi gateway aplikasi berhasil dibuat. Anda dapat menggunakan file konfigurasi cloud-init untuk menginstal NGINX dan menjalankan aplikasi Node.js "Halo Dunia" di mesin virtual Linux. Untuk informasi selengkapnya tentang cloud-init, lihat Dukungan cloud-init untuk mesin virtual di Azure.
Di Azure Cloud Shell Anda, salin dan tempel konfigurasi berikut ke dalam file bernama cloud-init.txt. Masukkan editor cloud-init.txt untuk membuat file.
#cloud-config
package_upgrade: true
packages:
- nginx
- nodejs
- npm
write_files:
- owner: www-data:www-data
- path: /etc/nginx/sites-available/default
content: |
server {
listen 80;
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
- owner: azureuser:azureuser
- path: /home/azureuser/myapp/index.js
content: |
var express = require('express')
var app = express()
var os = require('os');
app.get('/', function (req, res) {
res.send('Hello World from host ' + os.hostname() + '!')
})
app.listen(3000, function () {
console.log('Hello world app listening on port 3000!')
})
runcmd:
- service nginx restart
- cd "/home/azureuser/myapp"
- npm init
- npm install express -y
- nodejs index.js
Buat antarmuka jaringan dengan az network nic create
. Untuk membuat mesin virtual, Anda menggunakan az vm create
.
for i in `seq 1 2`; do
az network nic create \
--resource-group myResourceGroupAG \
--name myNic$i \
--vnet-name myVNet \
--subnet myBackendSubnet
az vm create \
--resource-group myResourceGroupAG \
--name myVM$i \
--nics myNic$i \
--image Ubuntu2204 \
--admin-username azureuser \
--generate-ssh-keys \
--custom-data cloud-init.txt
done
Membuat application gateway
Membuat gateway aplikasi menggunakanaz network application-gateway create
. Saat Anda membuat gateway aplikasi dengan Azure CLI, Anda menentukan informasi konfigurasi, seperti kapasitas, SKU (misalnya: Basic
), dan pengaturan HTTP. Azure kemudian menambahkan alamat IP pribadi antarmuka jaringan sebagai server di kumpulan backend gateway aplikasi.
SKU Standard v2 digunakan dalam contoh ini.
address1=$(az network nic show --name myNic1 --resource-group myResourceGroupAG | grep "\"privateIPAddress\":" | grep -oE '[^ ]+$' | tr -d '",')
address2=$(az network nic show --name myNic2 --resource-group myResourceGroupAG | grep "\"privateIPAddress\":" | grep -oE '[^ ]+$' | tr -d '",')
az network application-gateway create \
--name myAppGateway \
--location eastus \
--resource-group myResourceGroupAG \
--capacity 2 \
--sku Standard_v2 \
--public-ip-address myAGPublicIPAddress \
--vnet-name myVNet \
--subnet myAGSubnet \
--servers "$address1" "$address2" \
--priority 100
Diperlukan waktu hingga 30 menit bagi Azure untuk membuat gateway aplikasi. Setelah dibuat, Anda bisa menampilkan pengaturan berikut ini di bagian Pengaturan dari halaman Gateway aplikasi:
- appGatewayBackendPool: Terletak di halaman kumpulan Backend. Ini menentukan kumpulan backend yang diperlukan.
- appGatewayBackendHttpSettings: Terletak di halaman Pengaturan HTTP. Ini menentukan bahwa gateway aplikasi menggunakan port 80 dan protokol HTTP untuk komunikasi.
- appGatewayHttpListener: berlokasi di Halaman pendengar. Ini menentukan pendengar default yang terkait dengan appGatewayBackendPool.
- appGatewayFrontendIP: Terletak di halaman konfigurasi IP Frontend. Ini menetapkan myAGPublicIPAddress ke appGatewayHttpListener.
- aturan1: Terletak di halaman Aturan. Ini menentukan aturan perutean default yang terkait dengan appGatewayHttpListener .
Uji gateway aplikasi
Meskipun Azure tidak memerlukan server web NGINX untuk membuat gateway aplikasi, Anda memasangnya di panduan mulai cepat ini untuk memverifikasi apakah Azure berhasil membuat gateway aplikasi. Untuk mendapatkan alamat IP publik gateway aplikasi yang baru, gunakan az network public-ip show
.
az network public-ip show \
--resource-group myResourceGroupAG \
--name myAGPublicIPAddress \
--query [ipAddress] \
--output tsv
Salin dan tempel alamat IP publik ke bilah alamat browser Anda.
Ketika Anda merefresh browser, Anda akan melihat nama komputer virtual yang kedua. Ini menunjukkan gateway aplikasi berhasil dibuat dan dapat terhubung dengan backend.
Membersihkan sumber daya
Jika Anda tidak memerlukan lagi sumber daya yang Anda buat dengan gateway aplikasi, gunakan az group delete
perintah hapus grup sumber daya tersebut. Saat Anda menghapus grup sumber daya, Anda juga menghapus gateway aplikasi dan semua sumber daya terkait.
az group delete --name myResourceGroupAG