Mulai cepat: Arahkan lalu lintas web dengan Azure Application Gateway menggunakan Azure PowerShell

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.

application gateway resources

Anda juga dapat menyelesaikan mulai cepat ini menggunakan Azure CLI atau portal Microsoft Azure.

Prasyarat

Azure Cloud Shell

Azure meng-hosting Azure Cloud Shell, lingkungan shell interaktif yang dapat Anda gunakan melalui browser. Anda dapat menggunakan Bash atau PowerShell dengan Cloud Shell untuk bekerja dengan layanan Azure. Anda dapat menggunakan perintah Cloud Shell yang telah diinstal sebelumnya untuk menjalankan kode dalam artikel ini tanpa harus menginstal apa-apa di lingkungan lokal Anda.

Untuk memulai Azure Cloud Shell:

Opsi Contoh/Tautan
Pilih Coba di pojok kanan atas blok kode atau perintah. Memilih Coba tidak otomatis menyalin kode atau perintah ke Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Buka https://shell.azure.com, atau pilih tombol Luncurkan Cloud Shell untuk membuka Cloud Shell di browser Anda. Button to launch Azure Cloud Shell.
Pilih tombol Cloud Shell pada bilah menu di kanan atas di portal Microsoft Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Untuk menggunakan Azure Cloud Shell:

  1. Mulai Cloud Shell.

  2. Pilih tombol Salin pada blok kode (atau blok perintah) untuk menyalin kode atau perintah.

  3. Tempel kode atau perintah ke dalam sesi Cloud Shell dengan memilih Ctrl+Shift+V di Windows dan Linux, atau dengan memilih Cmd+Shift+V di macOS.

  4. Pilih Masukkan untuk menjalankan kode atau perintah.

Catatan

Sebaiknya Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Lihat Menginstal Azure PowerShell untuk memulai. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.

Hubungkan ke Azure

Untuk tersambung dengan Azure, jalankan Connect-AzAccount.

Buat grup sumber daya

Di Azure, Anda mengalokasikan sumber daya terkait ke grup sumber daya. Anda dapat menggunakan grup sumber daya yang sudah ada atau membuat baru.

Untuk membuat grup sumber daya baru, gunakan cmdlet New-AzResourceGroup:

New-AzResourceGroup -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. Ada dua subnet dalam contoh ini: satu untuk gateway aplikasi, dan satu lagi untuk server backend. Anda dapat mengonfigurasi alamat 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.

  1. Buat konfigurasi subnet menggunakan New-AzVirtualNetworkSubnetConfig.
  2. Buat jaringan virtual dengan konfigurasi subnet menggunakan New-AzVirtualNetwork.
  3. Buat alamat IP publik menggunakan New-AzPublicIpAddress.

Catatan

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

$agSubnetConfig = New-AzVirtualNetworkSubnetConfig `
  -Name myAGSubnet `
  -AddressPrefix 10.21.0.0/24
$backendSubnetConfig = New-AzVirtualNetworkSubnetConfig `
  -Name myBackendSubnet `
  -AddressPrefix 10.21.1.0/24
New-AzVirtualNetwork `
  -ResourceGroupName myResourceGroupAG `
  -Location eastus `
  -Name myVNet `
  -AddressPrefix 10.21.0.0/16 `
  -Subnet $agSubnetConfig, $backendSubnetConfig
New-AzPublicIpAddress `
  -ResourceGroupName myResourceGroupAG `
  -Location eastus `
  -Name myAGPublicIPAddress `
  -AllocationMethod Static `
  -Sku Standard

Membuat gateway aplikasi

Membuat konfigurasi IP dan port ujung depan

  1. Gunakan New-AzApplicationGatewayIPConfiguration untuk membuat konfigurasi yang mengaitkan subnet yang Anda buat dengan gateway aplikasi.
  2. Gunakan New-AzApplicationGatewayFrontendIPConfig untuk membuat konfigurasi yang menetapkan alamat IP publik yang sebelumnya Anda buat untuk gateway aplikasi.
  3. Gunakan New-AzApplicationGatewayFrontendPort untuk menetapkan port 80 untuk mengakses gateway aplikasi.
$vnet   = Get-AzVirtualNetwork -ResourceGroupName myResourceGroupAG -Name myVNet
$subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $vnet -Name myAGSubnet
$pip    = Get-AzPublicIPAddress -ResourceGroupName myResourceGroupAG -Name myAGPublicIPAddress 
$gipconfig = New-AzApplicationGatewayIPConfiguration `
  -Name myAGIPConfig `
  -Subnet $subnet
$fipconfig = New-AzApplicationGatewayFrontendIPConfig `
  -Name myAGFrontendIPConfig `
  -PublicIPAddress $pip
$frontendport = New-AzApplicationGatewayFrontendPort `
  -Name myFrontendPort `
  -Port 80

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).

Buat kumpulan backend

  1. Gunakan New-AzApplicationGatewayBackendAddressPool untuk membuat kumpulan ujung belakang untuk gateway aplikasi. Kumpulan ujung belakang kosong untuk saat ini. Saat Anda membuat NIC server ujung belakang di bagian berikutnya, Anda akan menambahkannya ke kumpulan ujung belakang.
  2. Konfigurasikan pengaturan untuk kumpulan ujung belakang dengan New-AzApplicationGatewayBackendHttpSetting.
$backendPool = New-AzApplicationGatewayBackendAddressPool `
  -Name myAGBackendPool
$poolSettings = New-AzApplicationGatewayBackendHttpSetting `
  -Name myPoolSettings `
  -Port 80 `
  -Protocol Http `
  -CookieBasedAffinity Enabled `
  -RequestTimeout 30

Membuat pendengar dan menambahkan aturan

Azure memerlukan pendengar untuk mengaktifkan gateway aplikasi untuk melakukan perutean lalu lintas dengan tepat ke kumpulan ujung belakang. Azure juga memerlukan aturan agar pendengar mengetahui kumpulan ujung belakang mana yang akan digunakan untuk lalu lintas masuk.

  1. Buat pendengar menggunakan New-AzApplicationGatewayHttpListener dengan konfigurasi ujung depan dan port ujung depan yang sebelumnya Anda buat.
  2. Gunakan New-AzApplicationGatewayRequestRoutingRule untuk membuat aturan bernama rule1.
$defaultlistener = New-AzApplicationGatewayHttpListener `
  -Name myAGListener `
  -Protocol Http `
  -FrontendIPConfiguration $fipconfig `
  -FrontendPort $frontendport
$frontendRule = New-AzApplicationGatewayRequestRoutingRule `
  -Name rule1 `
  -RuleType Basic `
  -Priority 100 `
  -HttpListener $defaultlistener `
  -BackendAddressPool $backendPool `
  -BackendHttpSettings $poolSettings

Membuat application gateway

Sekarang setelah Anda membuat sumber daya pendukung yang diperlukan, buat gateway aplikasi:

  1. Gunakan New-AzApplicationGatewaySku untuk menentukan parameter untuk gateway aplikasi.
  2. Gunakan New-AzApplicationGateway untuk membuat gateway aplikasi.
$sku = New-AzApplicationGatewaySku `
  -Name Standard_v2 `
  -Tier Standard_v2 `
  -Capacity 2
New-AzApplicationGateway `
  -Name myAppGateway `
  -ResourceGroupName myResourceGroupAG `
  -Location eastus `
  -BackendAddressPools $backendPool `
  -BackendHttpSettingsCollection $poolSettings `
  -FrontendIpConfigurations $fipconfig `
  -GatewayIpConfigurations $gipconfig `
  -FrontendPorts $frontendport `
  -HttpListeners $defaultlistener `
  -RequestRoutingRules $frontendRule `
  -Sku $sku

Server ujung belakang

Sekarang setelah Anda membuat Application Gateway, buat komputer virtual ujung belakang yang akan menghosting situs web. Backend dapat terdiri dari 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 memasang IIS pada komputer virtual untuk memverifikasi bahwa Azure berhasil membuat gateway aplikasi.

Buat dua komputer virtual

  1. Dapatkan konfigurasi kumpulan ujung belakang Application Gateway yang baru dibuat dengan Get-AzApplicationGatewayBackendAddressPool.
  2. Buat antarmuka jaringan dengan New-AzNetworkInterface.
  3. Buat konfigurasi komputer virtual dengan New-AzVMConfig.
  4. Buat komputer virtual dengan New-AzVM.

Saat Anda menjalankan sampel kode berikut untuk membuat mesin virtual, Azure akan meminta info masuk kepada Anda. Masukkan nama pengguna dan kata sandi:

$appgw = Get-AzApplicationGateway -ResourceGroupName myResourceGroupAG -Name myAppGateway
$backendPool = Get-AzApplicationGatewayBackendAddressPool -Name myAGBackendPool -ApplicationGateway $appgw
$vnet   = Get-AzVirtualNetwork -ResourceGroupName myResourceGroupAG -Name myVNet
$subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $vnet -Name myBackendSubnet
$cred = Get-Credential
for ($i=1; $i -le 2; $i++)
{
  $nic = New-AzNetworkInterface `
    -Name myNic$i `
    -ResourceGroupName myResourceGroupAG `
    -Location EastUS `
    -Subnet $subnet `
    -ApplicationGatewayBackendAddressPool $backendpool
  $vm = New-AzVMConfig `
    -VMName myVM$i `
    -VMSize Standard_DS2_v2
  Set-AzVMOperatingSystem `
    -VM $vm `
    -Windows `
    -ComputerName myVM$i `
    -Credential $cred
  Set-AzVMSourceImage `
    -VM $vm `
    -PublisherName MicrosoftWindowsServer `
    -Offer WindowsServer `
    -Skus 2016-Datacenter `
    -Version latest
  Add-AzVMNetworkInterface `
    -VM $vm `
    -Id $nic.Id
  Set-AzVMBootDiagnostic `
    -VM $vm `
    -Disable
  New-AzVM -ResourceGroupName myResourceGroupAG -Location EastUS -VM $vm
  Set-AzVMExtension `
    -ResourceGroupName myResourceGroupAG `
    -ExtensionName IIS `
    -VMName myVM$i `
    -Publisher Microsoft.Compute `
    -ExtensionType CustomScriptExtension `
    -TypeHandlerVersion 1.4 `
    -SettingString '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}' `
    -Location EastUS
}

Uji gateway aplikasi

Meskipun IIS tidak diperlukan untuk membuat gateway aplikasi, IIS dipasang dalam mulai cepat ini untuk memverifikasi apakah Azure berhasil membuat gateway aplikasi.

Gunakan IIS untuk menguji gateway aplikasi:

  1. Jalankan Get-AzPublicIPAddress untuk mendapatkan alamat IP publik gateway aplikasi.
  2. Salin dan tempel alamat IP publik ke bilah alamat browser Anda. Ketika Anda merefresh browser, Anda akan melihat nama komputer virtual. Respons yang valid memverifikasi bahwa gateway aplikasi berhasil dibuat dan berhasil tersambung dengan ujung belakang.
Get-AzPublicIPAddress -ResourceGroupName myResourceGroupAG -Name myAGPublicIPAddress

Test application gateway

Membersihkan sumber daya

Jika Anda tidak memerlukan lagi sumber daya yang Anda buat dengan application gateway, hapus grup sumber daya tersebut. Saat Anda menghapus grup sumber daya, Anda juga menghapus gateway aplikasi dan semua sumber daya terkait.

Untuk menghapus grup sumber daya tersebut, hubungi Remove-AzResourceGroup cmdlet:

Remove-AzResourceGroup -Name myResourceGroupAG

Langkah berikutnya