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 PowerShell untuk mengonfigurasi hosting beberapa situs web saat membuat gateway aplikasi. Di artikel ini, Anda akan menentukan kumpulan alamat backend menggunakan set skala mesin virtual. Kemudian, Anda akan mengonfigurasi listener dan aturan berdasarkan domain yang Anda punya untuk memastikan lalu lintas web masuk ke server yang tepat di dalam kumpulan. Artikel ini mengasumsikan bahwa Anda memiliki beberapa domain dan menggunakan contoh www.contoso.com dan www.fabrikam.com.
Dalam artikel ini, Anda akan mempelajari cara:
- Siapkan jaringan
- Buatlah gateway aplikasi
- Membuat listener ujung belakang
- Membuat aturan routing
- Membuat set skala mesin virtual dengan kolam backend
- Membuat data CNAME di domain Anda
Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.
Catatan
Sebaiknya Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Untuk memulai, lihat Menginstal Azure PowerShell. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.
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. |
|
| Buka https://shell.azure.com, atau pilih tombol Luncurkan Cloud Shell untuk membuka Cloud Shell di browser Anda. |
|
| Pilih tombol Cloud Shell pada bilah menu di kanan atas di portal Microsoft Azure. |
|
Untuk menggunakan Azure Cloud Shell:
Mulai Cloud Shell.
Pilih tombol Salin pada blok kode (atau blok perintah) untuk menyalin kode atau perintah.
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.
Pilih Masukkan untuk menjalankan kode atau perintah.
Jika Anda memilih untuk menginstal dan menggunakan PowerShell secara lokal, artikel ini memerlukan modul Azure PowerShell versi 1.0.0 atau yang lebih baru. Jalankan Get-Module -ListAvailable Az untuk mencari tahu versinya. Jika Anda perlu peningkatan, lihat Instal modul Azure PowerShell. Jika Anda menjalankan PowerShell secara lokal, Anda juga harus menjalankan Login-AzAccount untuk membuat koneksi dengan Azure.
Buat grup sumber daya
Grup sumber daya adalah wadah logis di mana sumber daya Azure ditempatkan dan dikelola. Buat grup sumber daya Azure menggunakan New-AzResourceGroup.
New-AzResourceGroup -Name myResourceGroupAG -Location eastus
Membuat sumber daya jaringan
Buat konfigurasi subnet menggunakan New-AzVirtualNetworkSubnetConfig. Buat jaringan virtual menggunakan New-AzVirtualNetwork dengan menggunakan konfigurasi subnet. Terakhir, buat alamat IP publik menggunakan New-AzPublicIpAddress. Sumber daya ini digunakan untuk menyediakan konektivitas jaringan ke gateway aplikasi dan sumber daya terkait.
$backendSubnetConfig = New-AzVirtualNetworkSubnetConfig `
-Name myBackendSubnet `
-AddressPrefix 10.0.1.0/24
$agSubnetConfig = New-AzVirtualNetworkSubnetConfig `
-Name myAGSubnet `
-AddressPrefix 10.0.2.0/24
$vnet = New-AzVirtualNetwork `
-ResourceGroupName myResourceGroupAG `
-Location eastus `
-Name myVNet `
-AddressPrefix 10.0.0.0/16 `
-Subnet $backendSubnetConfig, $agSubnetConfig
$pip = New-AzPublicIpAddress `
-ResourceGroupName myResourceGroupAG `
-Location eastus `
-Name myAGPublicIPAddress `
-AllocationMethod Dynamic
Buatlah gateway aplikasi
Membuat konfigurasi IP dan port ujung depan
Kaitkan subnet yang sebelumnya Anda buat ke application gateway menggunakan New-AzApplicationGatewayIPConfiguration. Tetapkan alamat IP publik ke application gateway menggunakan New-AzApplicationGatewayFrontendIPConfig.
$vnet = Get-AzVirtualNetwork `
-ResourceGroupName myResourceGroupAG `
-Name myVNet
$subnet=$vnet.Subnets[0]
$gipconfig = New-AzApplicationGatewayIPConfiguration `
-Name myAGIPConfig `
-Subnet $subnet
$fipconfig = New-AzApplicationGatewayFrontendIPConfig `
-Name myAGFrontendIPConfig `
-PublicIPAddress $pip
$frontendport = New-AzApplicationGatewayFrontendPort `
-Name myFrontendPort `
-Port 80
Buat kolam backend dan pengaturannya
Buatlah kumpulan alamat ujung belakang pertama untuk application gateway menggunakan New-AzApplicationGatewayBackendAddressPool. Konfigurasikan pengaturan untuk kumpulan backend menggunakan New-AzApplicationGatewayBackendHttpSettings.
$contosoPool = New-AzApplicationGatewayBackendAddressPool `
-Name contosoPool
$fabrikamPool = New-AzApplicationGatewayBackendAddressPool `
-Name fabrikamPool
$poolSettings = New-AzApplicationGatewayBackendHttpSettings `
-Name myPoolSettings `
-Port 80 `
-Protocol Http `
-CookieBasedAffinity Enabled `
-RequestTimeout 120
Membuat para pendengar dan aturan
Pendengar diharuskan untuk mengaktifkan gerbang aplikasi agar dapat merutekan lalu lintas dengan benar ke kumpulan alamat backend. Dalam artikel ini, Anda membuat dua listener untuk dua domain Anda. Listener dibuat untuk domain contoso.com dan fabrikam.com.
Buat listener pertama menggunakan New-AzApplicationGatewayHttpListener dengan konfigurasi antarmuka utama dan port antarmuka utama yang sudah Anda buat sebelumnya. Sebuah aturan diperlukan agar pendengar mengetahui pool server backend mana yang harus digunakan untuk lalu lintas masuk. Buat aturan dasar bernama contosoRule menggunakan New-AzApplicationGatewayRequestRoutingRule.
Catatan
Dengan Application Gateway atau WAF v2 SKU, Anda dapat mengonfigurasi hingga 5 nama host per listener dan Anda dapat menggunakan karakter wildcard untuk nama host. Lihat nama host wildcard di listener untuk informasi selengkapnya.
Untuk menggunakan beberapa nama host dan karakter wildcard pada listener menggunakan Azure PowerShell, Anda harus menggunakan -HostNames alih-alih -HostName. Dengan HostName, Anda dapat menyebutkan hingga 5 nama host sebagai nilai yang dipisahkan koma. Misalnya: -HostNames "*.contoso.com","*.fabrikam.com"
$contosolistener = New-AzApplicationGatewayHttpListener `
-Name contosoListener `
-Protocol Http `
-FrontendIPConfiguration $fipconfig `
-FrontendPort $frontendport `
-HostName "www.contoso.com"
$fabrikamlistener = New-AzApplicationGatewayHttpListener `
-Name fabrikamListener `
-Protocol Http `
-FrontendIPConfiguration $fipconfig `
-FrontendPort $frontendport `
-HostName "www.fabrikam.com"
$contosoRule = New-AzApplicationGatewayRequestRoutingRule `
-Name contosoRule `
-RuleType Basic `
-HttpListener $contosoListener `
-BackendAddressPool $contosoPool `
-BackendHttpSettings $poolSettings
$fabrikamRule = New-AzApplicationGatewayRequestRoutingRule `
-Name fabrikamRule `
-RuleType Basic `
-HttpListener $fabrikamListener `
-BackendAddressPool $fabrikamPool `
-BackendHttpSettings $poolSettings
Tambahkan prioritas ke aturan perutean
$contosoRule = New-AzApplicationGatewayRequestRoutingRule `
-Name wccontosoRule `
-RuleType Basic `
-Priority 200 `
-HttpListener $wccontosoListener `
-BackendAddressPool $wccontosoPool `
-BackendHttpSettings $poolSettings
$fabrikamRule = New-AzApplicationGatewayRequestRoutingRule `
-Name shopcontosoRule `
-RuleType Basic `
-Priority 100 `
-HttpListener $shopcontosoListener `
-BackendAddressPool $shopcontosoPool `
-BackendHttpSettings $poolSettings
Buat gerbang aplikasi
Setelah sumber daya pendukung yang diperlukan dibuat, tentukan parameter untuk application gateway menggunakan New-AzApplicationGatewaySku, kemudian buatlah menggunakan New-AzApplicationGateway.
$sku = New-AzApplicationGatewaySku `
-Name Standard_Medium `
-Tier Standard `
-Capacity 2
$appgw = New-AzApplicationGateway `
-Name myAppGateway `
-ResourceGroupName myResourceGroupAG `
-Location eastus `
-BackendAddressPools $contosoPool, $fabrikamPool `
-BackendHttpSettingsCollection $poolSettings `
-FrontendIpConfigurations $fipconfig `
-GatewayIpConfigurations $gipconfig `
-FrontendPorts $frontendport `
-HttpListeners $contosoListener, $fabrikamListener `
-RequestRoutingRules $contosoRule, $fabrikamRule `
-Sku $sku
Membuat set skala mesin virtual
Dalam contoh ini, Anda membuat dua set skala mesin virtual yang mendukung dua pool backend yang Anda buat. Set skala yang Anda buat bernama myvmss1, dan myvmss2. Setiap set skala berisi dua instans komputer virtual di tempat Anda menginstal IIS. Anda menetapkan rangkaian skala ke kumpulan backend saat mengonfigurasi pengaturan IP.
$vnet = Get-AzVirtualNetwork `
-ResourceGroupName myResourceGroupAG `
-Name myVNet
$appgw = Get-AzApplicationGateway `
-ResourceGroupName myResourceGroupAG `
-Name myAppGateway
$contosoPool = Get-AzApplicationGatewayBackendAddressPool `
-Name contosoPool `
-ApplicationGateway $appgw
$fabrikamPool = Get-AzApplicationGatewayBackendAddressPool `
-Name fabrikamPool `
-ApplicationGateway $appgw
for ($i=1; $i -le 2; $i++)
{
if ($i -eq 1)
{
$poolId = $contosoPool.Id
}
if ($i -eq 2)
{
$poolId = $fabrikamPool.Id
}
$ipConfig = New-AzVmssIpConfig `
-Name myVmssIPConfig$i `
-SubnetId $vnet.Subnets[1].Id `
-ApplicationGatewayBackendAddressPoolsId $poolId
$vmssConfig = New-AzVmssConfig `
-Location eastus `
-SkuCapacity 2 `
-SkuName Standard_DS2 `
-UpgradePolicyMode Automatic
Set-AzVmssStorageProfile $vmssConfig `
-ImageReferencePublisher MicrosoftWindowsServer `
-ImageReferenceOffer WindowsServer `
-ImageReferenceSku 2016-Datacenter `
-ImageReferenceVersion latest `
-OsDiskCreateOption FromImage
Set-AzVmssOsProfile $vmssConfig `
-AdminUsername azureuser `
-AdminPassword "Azure123456!" `
-ComputerNamePrefix myvmss$i
Add-AzVmssNetworkInterfaceConfiguration `
-VirtualMachineScaleSet $vmssConfig `
-Name myVmssNetConfig$i `
-Primary $true `
-IPConfiguration $ipConfig
New-AzVmss `
-ResourceGroupName myResourceGroupAG `
-Name myvmss$i `
-VirtualMachineScaleSet $vmssConfig
}
Instal IIS
$publicSettings = @{ "fileUris" = (,"https://raw.githubusercontent.com/Azure/azure-docs-powershell-samples/master/application-gateway/iis/appgatewayurl.ps1");
"commandToExecute" = "powershell -ExecutionPolicy Unrestricted -File appgatewayurl.ps1" }
for ($i=1; $i -le 2; $i++)
{
$vmss = Get-AzVmss `
-ResourceGroupName myResourceGroupAG `
-VMScaleSetName myvmss$i
Add-AzVmssExtension -VirtualMachineScaleSet $vmss `
-Name "customScript" `
-Publisher "Microsoft.Compute" `
-Type "CustomScriptExtension" `
-TypeHandlerVersion 1.8 `
-Setting $publicSettings
Update-AzVmss `
-ResourceGroupName myResourceGroupAG `
-Name myvmss$i `
-VirtualMachineScaleSet $vmss
}
Membuat data CNAME di domain Anda
Setelah gateway aplikasi dibuat dengan alamat IP publiknya, Anda bisa mendapatkan alamat DNS dan menggunakannya untuk membuat data CNAME di domain Anda. Gunakan Get-AzPublicIPAddress untuk mendapatkan alamat DNS application gateway. Salin nilai fqdn dari DNSSettings dan gunakan sebagai nilai catatan CNAME yang Anda buat. Penggunaan A-record tidak disarankan karena VIP dapat berubah ketika application gateway dihidupkan ulang di SKU V1.
Get-AzPublicIPAddress -ResourceGroupName myResourceGroupAG -Name myAGPublicIPAddress
Uji gateway aplikasi
Masukkan nama domain Anda ke bilah alamat browser. Misalnya http://www.contoso.com.
Ubah alamat tadi ke domain Anda yang lain dan Anda akan menemukan sesuatu seperti contoh berikut:
Membersihkan sumber daya
Jika tidak lagi diperlukan, hapus grup sumber daya, gateway aplikasi, dan semua sumber daya terkait menggunakan Remove-AzResourceGroup.
Remove-AzResourceGroup -Name myResourceGroupAG
Langkah berikutnya
Membuat gateway aplikasi dengan aturan perutean berbasis jalur URL