Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Uygulama ağ geçidi oluştururken URL tabanlı yönlendirme kurallarını yapılandırmak için Azure PowerShell'i kullanabilirsiniz. Bu öğreticide, sanal makine ölçek kümeleri kullanarak arka uç havuzları oluşturacaksınız. Ardından, web trafiğini istek URL'si yoluna göre uygun arka uç havuzuna yönlendiren URL yönlendirme kuralları oluşturursunuz. Bir uygulama ağ geçidi oluştururken gelişmiş URL tabanlı yönlendirme kurallarını yapılandırmak için Azure PowerShell'i kullanabilirsiniz.
Bu öğreticide en iyi güvenlik uygulamaları, performans iyileştirme ve izleme kurulumu gibi üretime hazır yapılandırmalar yer alır.
Bu eğitimde şunları öğreniyorsunuz:
- Ağ altyapısını ayarlama
- Yol tabanlı yönlendirme ile uygulama ağ geçidi oluşturma
- URL yeniden yönlendirmesi için dinleyiciler ve yönlendirme kuralları ekleme
- Arka plan havuzları için sanal makine ölçek kümeleri oluşturun
- Uygulama ağ geçidi yönlendirme ve yeniden yönlendirme işlevselliğini test edin
Aşağıdaki örnekte, 8080 ve 8081 numaralı bağlantı noktalarından gelen ve aynı arka uç havuzlarına yönlendirilmekte olan site trafiği gösterilir:
Önkoşullar
İsterseniz, Azure CLI kullanarak bu yordamı tamamlayabilirsiniz.
Bu öğreticiye başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:
- Etkin bir Azure aboneliği. Hesabınız yoksa ücretsiz bir hesap oluşturun.
- Yerel olarak yüklenen Azure PowerShell modülü sürüm 5.4.1 veya üzeri ya da Azure Cloud Shell erişimi
- Hedef Azure aboneliğinde Katılımcı veya Sahip izinleri
- Application Gateway kavramları ve PowerShell betiği hakkında temel bilgiler
Uyarı
Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz. Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.
Azure Cloud Shell
Azure, tarayıcınız aracılığıyla kullanabileceğiniz etkileşimli bir kabuk ortamı olan Azure Cloud Shell'i barındırıyor. Azure hizmetleriyle çalışmak için Cloud Shell ile Bash veya PowerShell kullanabilirsiniz. Yerel ortamınıza herhangi bir şey yüklemek zorunda kalmadan bu makaledeki kodu çalıştırmak için Cloud Shell önceden yüklenmiş komutlarını kullanabilirsiniz.
Azure Cloud Shell'i başlatmak için:
| Seçenek | Örnek/Bağlantı |
|---|---|
| Kodun veya komut bloğunun sağ üst köşesindeki Deneyin'i seçin. Deneyin seçildiğinde kod veya komut otomatik olarak Cloud Shell'e kopyalanmaz. |
|
| https://shell.azure.comadresine gidin veya Cloud Shell'i tarayıcınızda açmak için Cloud Shell'i Başlat düğmesini seçin. | Azure Cloud Shell'i başlatmak için ![]() |
| Azure portalının sağ üst kısmındaki menü çubuğunda Cloud Shell düğmesini seçin. |
|
Azure Cloud Shell'i kullanmak için:
Cloud Shell'i başlatın.
Kodu veya komutu kopyalamak için kod bloğundaki (veya komut bloğundaki) Kopyala düğmesini seçin.
Kodu veya komutu Cloud Shell oturumuna yapıştırmak için Windows ve Linux'ta Ctrl+Shift+V seçeneğini veya macOS'ta Cmd+Shift+V seçeneğini kullanın.
Kodu veya komutu çalıştırmak için Enter'ı seçin.
PowerShell'i yerel olarak yükleyip kullanmayı seçerseniz, bu öğretici için Azure PowerShell modülünün 5.4.1 veya sonraki bir sürümü gerekir. Sürümü bulmak için Get-Module -ListAvailable Az komutunu çalıştırın. Yükseltmeniz gerekiyorsa bkz. Azure PowerShell modülünü yükleme. PowerShell'i yerel olarak çalıştırıyorsanız Azure ile bağlantı oluşturmak için de komutunu çalıştırmanız Connect-AzAccount gerekir.
Bir kaynak grubu oluşturun
Kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği bir mantıksal kapsayıcıdır. New-AzResourceGroup kullanarak bir Azure kaynak grubu oluşturun.
# Define variables for consistent naming and easier management
$resourceGroupName = "myResourceGroupAG"
$location = "eastus"
# Create the resource group
New-AzResourceGroup -Name $resourceGroupName -Location $location
# Verify the resource group creation
Write-Output "Resource group '$resourceGroupName' created successfully in '$location'"
Ağ kaynakları oluşturma
New-AzVirtualNetworkSubnetConfig komutunu kullanarak myBackendSubnet ve myAGSubnet için alt ağ yapılandırmalarını oluşturun. Alt ağ yapılandırmalarıyla New-AzVirtualNetwork komutunu kullanarak myVNet adlı sanal ağı oluşturun. Son olarak, New-AzPublicIpAddress komutunu kullanarak myAGPublicIPAddress adlı genel IP adresini oluşturun. Bu kaynaklar, uygulama ağ geçidine ve ilişkili kaynaklarına ağ bağlantısı sağlar.
Önemli
Uygulama ağ geçidi alt ağı (myAGSubnet) yalnızca uygulama ağ geçitlerini içerebilir. Bu alt ağda başka hiçbir kaynağa izin verilmiyor. New-AzVirtualNetworkSubnetConfig komutunu kullanarak myBackendSubnet ve myAGSubnet için alt ağ yapılandırmalarını oluşturun. Application Gateway, düzgün çalışma ve gelecekteki ölçeklendirme için en az /24 CIDR'ye sahip ayrılmış bir alt ağ gerektirir. Alt ağ yapılandırmalarıyla New-AzVirtualNetwork komutunu kullanarak myVNet adlı sanal ağı oluşturun. Son olarak, New-AzPublicIpAddress kullanarak gelişmiş güvenlik ve performans için Standart SKU ve statik ayırma ile genel IP adresini oluşturun.
# Create backend subnet configuration with appropriate CIDR for scale sets
$backendSubnetConfig = New-AzVirtualNetworkSubnetConfig `
-Name myBackendSubnet `
-AddressPrefix 10.0.1.0/24
# Create Application Gateway subnet - dedicated subnet required
$agSubnetConfig = New-AzVirtualNetworkSubnetConfig `
-Name myAGSubnet `
-AddressPrefix 10.0.2.0/24
New-AzVirtualNetwork `
-ResourceGroupName myResourceGroupAG `
-Location eastus `
-Name myVNet `
-AddressPrefix 10.0.0.0/16 `
-Subnet $backendSubnetConfig, $agSubnetConfig
New-AzPublicIpAddress `
-ResourceGroupName myResourceGroupAG `
-Location eastus `
-Name myAGPublicIPAddress `
-AllocationMethod Dynamic
Uygulama ağ geçidi oluşturma
Bu bölümde, uygulama ağ geçidini destekleyen kaynaklar oluşturacak ve son olarak oluşturacaksınız. Oluşturduğunuz kaynaklar şunlardır:
- IP yapılandırmaları ve ön uç bağlantı noktası - Daha önce oluşturduğunuz alt ağı uygulama ağ geçidiyle ilişkilendirir ve bu alt ağa erişmek için kullanılacak bir bağlantı noktası atar.
- Varsayılan havuz - Tüm uygulama ağ geçitlerinin en az bir arka uç sunucu havuzu olması gerekir.
- Varsayılan dinleyici ve kural - Varsayılan dinleyici, atanan bağlantı noktasındaki trafiği dinler ve varsayılan kural, trafiği varsayılan havuza gönderir.
IP yapılandırmaları ve ön uç bağlantı noktası oluşturma
Daha önce oluşturduğunuz myAGSubnet'i New-AzApplicationGatewayIPConfiguration kullanarak uygulama ağ geçidiyle ilişkilendirin. New-AzApplicationGatewayFrontendIPConfig komutunu kullanarak uygulama ağ geçidine myAGPublicIPAddress atayın. Ardından New-AzApplicationGatewayFrontendPort komutunu kullanarak HTTP bağlantı noktasını oluşturun.
# Get the virtual network and subnet references
$vnet = Get-AzVirtualNetwork `
-ResourceGroupName myResourceGroupAG `
-Name myVNet
$subnet=$vnet.Subnets[0]
# Get the public IP address
$pip = Get-AzPublicIpAddress `
-ResourceGroupName myResourceGroupAG `
-Name myAGPublicIPAddress
# Create IP configuration for the Application Gateway
$gipconfig = New-AzApplicationGatewayIPConfiguration `
-Name myAGIPConfig `
-Subnet $subnet
# Create frontend IP configuration
$fipconfig = New-AzApplicationGatewayFrontendIPConfig `
-Name myAGFrontendIPConfig `
-PublicIPAddress $pip
# Create frontend port for HTTP traffic
$frontendport = New-AzApplicationGatewayFrontendPort `
-Name myFrontendPort `
-Port 80
Write-Output "Application Gateway IP configurations created successfully"
Varsayılan havuzu ve ayarları oluşturma
New-AzApplicationGatewayBackendAddressPool komutunu kullanarak uygulama ağ geçidi için appGatewayBackendPool adlı varsayılan arka uç havuzunu oluşturun. New-AzApplicationGatewayBackendHttpSettings komutunu kullanarak arka uç havuzu ayarlarını yapılandırın.
# Create default backend pool
$defaultPool = New-AzApplicationGatewayBackendAddressPool `
-Name appGatewayBackendPool
# Create backend HTTP settings with optimized configuration
$poolSettings = New-AzApplicationGatewayBackendHttpSettings `
-Name myPoolSettings `
-Port 80 `
-Protocol Http `
-CookieBasedAffinity Enabled `
-RequestTimeout 120
Varsayılan dinleyici ve kural oluşturma
Uygulama ağ geçidinin trafiği arka uç havuzlarına uygun şekilde yönlendirmesini sağlamak için bir dinleyici gereklidir. Bu öğreticide, farklı yönlendirme senaryoları için birden çok dinleyici oluşturacaksınız. İlk temel dinleyici kök URL'de trafik bekler. Diğer dinleyiciler, http://203.0.113.1:8080/images/ veya http://203.0.113.1:8081/video/ gibi belirli URL yollarında trafik bekler.
Daha önce oluşturduğunuz ön uç yapılandırması ve ön uç bağlantı noktasıyla New-AzApplicationGatewayHttpListener kullanarak defaultListener adlı bir dinleyici oluşturun. Dinleyicinin gelen trafik için hangi arka plan havuzunu kullanacağını belirlemesi için bir kural gerekir. New-AzApplicationGatewayRequestRoutingRule komutunu kullanarak rule1 adlı temel bir kural oluşturun.
# Create default HTTP listener
$defaultlistener = New-AzApplicationGatewayHttpListener `
-Name defaultListener `
-Protocol Http `
-FrontendIPConfiguration $fipconfig `
-FrontendPort $frontendport
# Create basic routing rule that directs traffic to default pool
$frontendRule = New-AzApplicationGatewayRequestRoutingRule `
-Name rule1 `
-RuleType Basic `
-HttpListener $defaultlistener `
-BackendAddressPool $defaultPool `
-BackendHttpSettings $poolSettings `
-Priority 100
Write-Output "Default listener and routing rule created successfully"
Uygulama ağ geçidi oluşturma
Gerekli destekleyici kaynakları oluşturduğunuza göre, New-AzApplicationGatewaySku kullanarak myAppGateway adlı uygulama ağ geçidi için parametreleri belirtin ve ardından New-AzApplicationGateway kullanarak oluşturun.
# Create SKU configuration for Application Gateway v2
$sku = New-AzApplicationGatewaySku `
-Name Standard_Medium `
-Tier Standard `
-Capacity 2
New-AzApplicationGateway `
-Name myAppGateway `
-ResourceGroupName myResourceGroupAG `
-Location eastus `
-BackendAddressPools $defaultPool `
-BackendHttpSettingsCollection $poolSettings `
-FrontendIpConfigurations $fipconfig `
-GatewayIpConfigurations $gipconfig `
-FrontendPorts $frontendport `
-HttpListeners $defaultlistener `
-RequestRoutingRules $frontendRule `
-Sku $sku
Backend havuzları ve portlar ekleme
Add-AzApplicationGatewayBackendAddressPool komutunu kullanarak uygulama ağ geçidinize arka uç havuzları ekleyebilirsiniz. Bu örnekte imagesBackendPool ve videoBackendPool , belirli içerik türlerini yönlendirmek için oluşturulur. Add-AzApplicationGatewayFrontendPort komutunu kullanarak havuzlar için ön uç bağlantı noktaları eklersiniz. Set-AzApplicationGateway komutunu kullanarak değişiklikleri uygulama ağ geçidine gönderin.
# Get the current Application Gateway configuration
$appgw = Get-AzApplicationGateway `
-ResourceGroupName myResourceGroupAG `
-Name myAppGateway
# Add specialized backend pools for different content types
Add-AzApplicationGatewayBackendAddressPool `
-ApplicationGateway $appgw `
-Name imagesBackendPool
Add-AzApplicationGatewayBackendAddressPool `
-ApplicationGateway $appgw `
-Name videoBackendPool
# Add frontend ports for specialized listeners
Add-AzApplicationGatewayFrontendPort `
-ApplicationGateway $appgw `
-Name bport `
-Port 8080
Add-AzApplicationGatewayFrontendPort `
-ApplicationGateway $appgw `
-Name rport `
-Port 8081
# Apply the configuration changes
Set-AzApplicationGateway -ApplicationGateway $appgw
Dinleyiciler ve kurallar ekleme
Dinleyiciler ekleme
Add-AzApplicationGatewayHttpListener kullanarak trafiği yönlendirmek için gereken backendListener ve redirectedListener adlı dinleyicileri ekleyin.
# Get the current Application Gateway configuration
$appgw = Get-AzApplicationGateway `
-ResourceGroupName myResourceGroupAG `
-Name myAppGateway
# Get frontend port references
$backendPort = Get-AzApplicationGatewayFrontendPort `
-ApplicationGateway $appgw `
-Name bport
$redirectPort = Get-AzApplicationGatewayFrontendPort `
-ApplicationGateway $appgw `
-Name rport
# Get frontend IP configuration
$fipconfig = Get-AzApplicationGatewayFrontendIPConfig `
-ApplicationGateway $appgw
# Add listeners for different ports
Add-AzApplicationGatewayHttpListener `
-ApplicationGateway $appgw `
-Name backendListener `
-Protocol Http `
-FrontendIPConfiguration $fipconfig `
-FrontendPort $backendPort
Add-AzApplicationGatewayHttpListener `
-ApplicationGateway $appgw `
-Name redirectedListener `
-Protocol Http `
-FrontendIPConfiguration $fipconfig `
-FrontendPort $redirectPort
# Apply the configuration changes
Set-AzApplicationGateway -ApplicationGateway $appgw
Varsayılan URL yolu eşlemesini ekle
URL yolu eşlemeleri, belirli URL'lerin belirli arka uç havuzlarına yönlendirilmesini sağlar. New-AzApplicationGatewayPathRuleConfig ve Add-AzApplicationGatewayUrlPathMapConfig kullanarak imagePathRule ve videoPathRule adlı URL yol eşlemeleri oluşturabilirsiniz.
# Get the current Application Gateway configuration
$appgw = Get-AzApplicationGateway `
-ResourceGroupName myResourceGroupAG `
-Name myAppGateway
# Get backend HTTP settings
$poolSettings = Get-AzApplicationGatewayBackendHttpSettings `
-ApplicationGateway $appgw `
-Name myPoolSettings
# Get backend address pools
$imagePool = Get-AzApplicationGatewayBackendAddressPool `
-ApplicationGateway $appgw `
-Name imagesBackendPool
$videoPool = Get-AzApplicationGatewayBackendAddressPool `
-ApplicationGateway $appgw `
-Name videoBackendPool
$defaultPool = Get-AzApplicationGatewayBackendAddressPool `
-ApplicationGateway $appgw `
-Name appGatewayBackendPool
# Create path rules for different content types
$imagePathRule = New-AzApplicationGatewayPathRuleConfig `
-Name imagePathRule `
-Paths "/images/*" `
-BackendAddressPool $imagePool `
-BackendHttpSettings $poolSettings
$videoPathRule = New-AzApplicationGatewayPathRuleConfig `
-Name videoPathRule `
-Paths "/video/*" `
-BackendAddressPool $videoPool `
-BackendHttpSettings $poolSettings
# Add URL path map configuration
Add-AzApplicationGatewayUrlPathMapConfig `
-ApplicationGateway $appgw `
-Name urlpathmap `
-PathRules $imagePathRule, $videoPathRule `
-DefaultBackendAddressPool $defaultPool `
-DefaultBackendHttpSettings $poolSettings
# Apply the configuration changes
Set-AzApplicationGateway -ApplicationGateway $appgw
Yeniden yönlendirme yapılandırması ekleme
Add-AzApplicationGatewayRedirectConfiguration komutunu kullanarak dinleyici için yeniden yönlendirmeyi yapılandırabilirsiniz.
# Get the current Application Gateway configuration
$appgw = Get-AzApplicationGateway `
-ResourceGroupName $resourceGroupName `
-Name myAppGateway
# Get the target listener for redirection
$backendListener = Get-AzApplicationGatewayHttpListener `
-ApplicationGateway $appgw `
-Name backendListener
# Add redirection configuration with query string and path preservation
$redirectConfig = Add-AzApplicationGatewayRedirectConfiguration `
-ApplicationGateway $appgw `
-Name redirectConfig `
-RedirectType Found `
-TargetListener $backendListener `
-IncludePath $true `
-IncludeQueryString $true
# Apply the configuration changes
Set-AzApplicationGateway -ApplicationGateway $appgw
Write-Output "Redirection configuration added successfully"
Write-Output "Redirect type: HTTP 302 Found"
Write-Output "Target: backendListener (Port 8080)"
Write-Output "Preserves: Path and Query String"
Yeniden yönlendirme URL yolu eşlemesi ekleme
Yeniden yönlendirme senaryoları için ayrı bir URL yol haritası oluşturun. Bu harita 8081 numaralı bağlantı noktasındaki trafiği işler ve belirli yolları 8080 numaralı bağlantı noktasında uygun dinleyiciye yönlendirir.
# Get the current Application Gateway configuration
$appgw = Get-AzApplicationGateway `
-ResourceGroupName $resourceGroupName `
-Name myAppGateway
# Get references to existing configurations
$poolSettings = Get-AzApplicationGatewayBackendHttpSettings `
-ApplicationGateway $appgw `
-Name myPoolSettings
$defaultPool = Get-AzApplicationGatewayBackendAddressPool `
-ApplicationGateway $appgw `
-Name appGatewayBackendPool
$redirectConfig = Get-AzApplicationGatewayRedirectConfiguration `
-ApplicationGateway $appgw `
-Name redirectConfig
# Create path rule for redirection - images traffic will be redirected
$redirectPathRule = New-AzApplicationGatewayPathRuleConfig `
-Name redirectPathRule `
-Paths "/images/*" `
-RedirectConfiguration $redirectConfig
# Add redirection path map configuration
Add-AzApplicationGatewayUrlPathMapConfig `
-ApplicationGateway $appgw `
-Name redirectpathmap `
-PathRules $redirectPathRule `
-DefaultBackendAddressPool $defaultPool `
-DefaultBackendHttpSettings $poolSettings
# Apply the configuration changes
Set-AzApplicationGateway -ApplicationGateway $appgw
Write-Output "Redirection URL path map added successfully"
Write-Output "Redirection rule: /images/* on port 8081 -> port 8080"
Yönlendirme kuralları ekleme
Yönlendirme kuralları, URL eşlemelerini oluşturduğunuz dinleyicilerle ilişkilendirir. DefaultRule ve redirectedRule adlı kuralları Add-AzApplicationGatewayRequestRoutingRule kullanarak ekleyebilirsiniz.
$appgw = Get-AzApplicationGateway `
-ResourceGroupName myResourceGroupAG `
-Name myAppGateway
$backendlistener = Get-AzApplicationGatewayHttpListener `
-ApplicationGateway $appgw `
-Name backendListener
$redirectlistener = Get-AzApplicationGatewayHttpListener `
-ApplicationGateway $appgw `
-Name redirectedListener
$urlPathMap = Get-AzApplicationGatewayUrlPathMapConfig `
-ApplicationGateway $appgw `
-Name urlpathmap
$redirectPathMap = Get-AzApplicationGatewayUrlPathMapConfig `
-ApplicationGateway $appgw `
-Name redirectpathmap
Add-AzApplicationGatewayRequestRoutingRule `
-ApplicationGateway $appgw `
-Name defaultRule `
-RuleType PathBasedRouting `
-HttpListener $backendlistener `
-UrlPathMap $urlPathMap
Add-AzApplicationGatewayRequestRoutingRule `
-ApplicationGateway $appgw `
-Name redirectedRule `
-RuleType PathBasedRouting `
-HttpListener $redirectlistener `
-UrlPathMap $redirectPathMap
Set-AzApplicationGateway -ApplicationGateway $appgw
Sanal makine ölçek kümeleri oluştur
Bu örnekte, oluşturduğunuz üç arka uç havuzunu destekleyen üç sanal makine ölçek kümesi oluşturacaksınız. Ölçek kümeleri myvmss1, myvmss2 ve myvmss3 olarak adlandırılır. Her bir ölçek kümesi IIS yükleyeceğiniz iki sanal makine örneği içerir. IP ayarlarını yapılandırırken ölçek kümesini arka uç havuzuna atayın.
Önemli
<username> ve <password> değerlerini betiği çalıştırmadan önce kendi değerlerinizle değiştirin. Azure'ın güvenlik gereksinimlerini karşılayan güçlü bir parola kullanın.
Güvenlik Notu: <username> ve <password> öğelerini güvenli kimlik bilgileriyle değiştirin. Üretim senaryolarında kimlik bilgileri yönetimi için Azure Key Vault kullanmayı göz önünde bulundurun.
# Get network and Application Gateway references
$vnet = Get-AzVirtualNetwork `
-ResourceGroupName myResourceGroupAG `
-Name myVNet
$appgw = Get-AzApplicationGateway `
-ResourceGroupName myResourceGroupAG `
-Name myAppGateway
# Get backend pool references
$backendPool = Get-AzApplicationGatewayBackendAddressPool `
-Name appGatewayBackendPool `
-ApplicationGateway $appgw
$imagesPool = Get-AzApplicationGatewayBackendAddressPool `
-Name imagesBackendPool `
-ApplicationGateway $appgw
$videoPool = Get-AzApplicationGatewayBackendAddressPool `
-Name videoBackendPool `
-ApplicationGateway $appgw
# Create three scale sets with improved configuration
for ($i=1; $i -le 3; $i++)
{
if ($i -eq 1)
{
$poolId = $backendPool.Id
}
if ($i -eq 2)
{
$poolId = $imagesPool.Id
}
if ($i -eq 3)
{
$poolId = $videoPool.Id
}
$ipConfig = New-AzVmssIpConfig `
-Name myVmssIPConfig$i `
-SubnetId $vnet.Subnets[1].Id `
-ApplicationGatewayBackendAddressPoolsId $poolId
# Create scale set configuration with modern VM size and settings
$vmssConfig = New-AzVmssConfig `
-Location eastus `
-SkuCapacity 2 `
-SkuName Standard_DS2 `
-UpgradePolicyMode Automatic
# Configure storage profile with Windows Server 2022
Set-AzVmssStorageProfile $vmssConfig `
-ImageReferencePublisher MicrosoftWindowsServer `
-ImageReferenceOffer WindowsServer `
-ImageReferenceSku 2016-Datacenter `
-ImageReferenceVersion latest `
-OsDiskCreateOption FromImage
Set-AzVmssOsProfile $vmssConfig `
-AdminUsername <username> `
-AdminPassword "<password>" `
-ComputerNamePrefix myvmss$i
# Add network interface configuration
Add-AzVmssNetworkInterfaceConfiguration `
-VirtualMachineScaleSet $vmssConfig `
-Name myVmssNetConfig$i `
-Primary $true `
-IPConfiguration $ipConfig
New-AzVmss `
-ResourceGroupName myResourceGroupAG `
-Name myvmss$i `
-VirtualMachineScaleSet $vmssConfig
Write-Output "Virtual Machine Scale Set myvmss$i created successfully"
}
Write-Output "All Virtual Machine Scale Sets created successfully"
IIS yükleme
Aşağıdaki betik, her ölçek kümesindeki sanal makinelere IIS yükler ve bunları hizmet verdikleri arka uç havuzuna göre farklı içerik görüntüleyecek şekilde yapılandırmaktadır.
$publicSettings = @{ "fileUris" = (,"https://raw.githubusercontent.com/Azure/azure-docs-powershell-samples/master/application-gateway/iis/appgatewayurl.ps1");
"commandToExecute" = "powershell -ExecutionPolicy Unrestricted -File appgatewayurl.ps1" }
# Install IIS on all scale sets
for ($i=1; $i -le 3; $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
}
Uygulama ağ geçidini test edin
Uygulama ağ geçidini oluşturmak için IIS gerekli olmasa da, Azure'ın uygulama ağ geçidini başarıyla oluşturup oluşturmadığını doğrulamak için bu öğreticide yüklemişsinizdir. Uygulama ağ geçidini test etmek için IIS kullanın:
Uygulama ağ geçidinin genel IP adresini almak için Get-AzPublicIPAddress komutunu çalıştırın:
Get-AzPublicIPAddress -ResourceGroupName myResourceGroupAG -Name myAGPublicIPAddressGenel IP adresini kopyalayıp tarayıcınızın adres çubuğuna yapıştırın. Örneğin:
-
http://203.0.113.1(temel URL) -
http://203.0.113.1:8080/images/test.htm(görüntü yolu) -
http://203.0.113.1:8080/video/test.htm(video dosya yolu) -
http://203.0.113.1:8081/images/test.htm(yeniden yönlendirme testi)
-
URL'yi http://<ip-address>:8080/images/test.htmolarak değiştirin ve ip adresinizi <ip-address>yazın ve aşağıdaki örneğe benzer bir şey görmeniz gerekir:
URL'yi http://<ip-address>:8080/video/test.htmolarak değiştirin ve ip adresinizi <ip-address>yazın ve aşağıdaki örneğe benzer bir şey görmeniz gerekir:
URL'yi http://<ip-address>:8081/images/test.htm olarak değiştirin, IP adresinizi <ip-address> ile değiştirin ve trafiğin http://<ip-address>:8080/images konumundaki görüntüler backend havuzuna yeniden yönlendirildiğini görün.
Performans izleme
En iyi performans için önemli Application Gateway ölçümlerini izleyin:
- İstek Sayısı: İşlenen isteklerin toplam sayısı
- Yanıt Süresi: İstekler için ortalama yanıt süresi
- İyi Durumda Olmayan Konak Sayısı: İyi durumda olmayan arka uç sunucularının sayısı
- Aktarım hızı: Application Gateway üzerinden veri aktarım hızı
Kaynakları temizle
Artık gerekli olmadığında Remove-AzResourceGroup kullanarak kaynak grubunu, uygulama ağ geçidini ve tüm ilgili kaynakları kaldırın.
Remove-AzResourceGroup -Name myResourceGroupAG
Sonraki Adımlar
Application Gateway ile URL yolu tabanlı yeniden yönlendirmeyi öğrendiğinize göre şu gelişmiş senaryoları keşfedin:
