Sdílet prostřednictvím


Vytvoření brány Application Gateway s přesměrováním na základě cesty adresy URL pomocí Azure PowerShellu

Azure PowerShell můžete použít ke konfiguraci pravidel směrování založených na adrese URL při vytváření aplikační brány. V tomto kurzu vytvoříte fondy back-end pomocí škálovacích sad virtuálních počítačů. Pak vytvoříte pravidla směrování adres URL, která přesměrují webový provoz do příslušného back-endového fondu na základě cesty URL požadavku. Azure PowerShell můžete použít ke konfiguraci pokročilých pravidel směrování založených na adrese URL při vytváření aplikační brány.

Tento kurz se zabývá konfiguracemi připravenými pro produkční prostředí, včetně osvědčených postupů zabezpečení, optimalizace výkonu a nastavení monitorování.

V tomto návodu se naučíte, jak:

  • Nastavení síťové infrastruktury
  • Vytvoření aplikační brány se směrováním na základě cesty
  • Přidat posluchače a pravidla směrování pro přesměrování URL
  • Vytvořit pro back-endové fondy škálovací sadu virtuálních počítačů
  • Testování funkcí směrování a přesměrování služby Application Gateway

Na následujícím příkladu je vidět přesměrování webového provozu, který přichází ze dvou portů 8080 a 8081, na stejné back-endové fondy:

Diagram architektury směrování a přesměrování adres URL

Požadavky

Pokud chcete, můžete tento postup dokončit pomocí Azure CLI.

Než začnete s tímto kurzem, ujistěte se, že máte:

  • Aktivní předplatné Azure. Pokud ho nemáte, vytvořte si bezplatný účet .
  • Místně nainstalovaný modul Azure PowerShell verze 5.4.1 nebo novější nebo přístup ke službě Azure Cloud Shell
  • Oprávnění přispěvatele nebo vlastníka cílového předplatného Azure
  • Základní znalost konceptů služby Application Gateway a skriptování PowerShellu

Poznámka:

Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Začněte tím, že si projdete téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.

Azure Cloud Shell

Azure hostí interaktivní prostředí Azure Cloud Shell, které můžete používat v prohlížeči. Pro práci se službami Azure můžete v prostředí Cloud Shell použít buď Bash, nebo PowerShell. Předinstalované příkazy Cloud Shellu můžete použít ke spuštění kódu v tomto článku, aniž byste museli instalovat cokoli do místního prostředí.

Spuštění služby Azure Cloud Shell:

Možnost Příklad nebo odkaz
Vyberte Vyzkoušet v pravém horním rohu bloku kódu nebo příkazu. Výběrem možnosti Vyzkoušet se kód ani příkaz automaticky nekopíruje do Cloud Shellu. Snímek obrazovky znázorňující příklad možnosti Vyzkoušet pro Azure Cloud Shell
Přejděte na adresu https://shell.azure.com nebo výběrem tlačítka Spustit Cloud Shell otevřete Cloud Shell v prohlížeči. Tlačítko pro spuštění Azure Cloud Shellu
Zvolte tlačítko Cloud Shell v pruhu nabídky v pravém horním rohu webu Azure Portal. Snímek obrazovky znázorňující tlačítko Cloud Shell na webu Azure Portal

Použití Azure Cloud Shellu:

  1. Spusťte Cloud Shell.

  2. Výběrem tlačítka Kopírovat v bloku kódu (nebo bloku příkazů) zkopírujte kód nebo příkaz.

  3. Vložte kód nebo příkaz do relace Cloud Shellu tak, že ve Windows a Linuxu vyberete ctrl+Shift+V nebo vyberete + v macOS.

  4. Stisknutím klávesy Enter spusťte kód nebo příkaz.

Pokud se rozhodnete nainstalovat a používat PowerShell místně, tento kurz vyžaduje modul Azure PowerShell verze 5.4.1 nebo novější. Verzi zjistíte spuštěním příkazu Get-Module -ListAvailable Az. Pokud potřebujete upgrade, přečtěte si téma Instalace modulu Azure PowerShell. Pokud používáte PowerShell místně, musíte také spustit Connect-AzAccount , abyste vytvořili připojení k Azure.

Vytvoření skupiny zdrojů

Skupina prostředků je logický kontejner, ve kterém se nasazují a spravují prostředky Azure. Vytvořte skupinu prostředků Azure pomocí rutiny New-AzResourceGroup.

# 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'"

Vytvoření síťových prostředků

Vytvořte konfigurace podsítí pro myBackendSubnet a myAGSubnet pomocí rutiny New-AzVirtualNetworkSubnetConfig. Vytvořte virtuální síť myVNet pomocí rutiny New-AzVirtualNetwork s konfiguracemi podsítě. Nakonec vytvořte veřejnou IP adresu myAGPublicIPAddress pomocí příkazu New-AzPublicIpAddress. Tyto prostředky poskytují síťové připojení ke službě Application Gateway a přidruženým prostředkům.

Důležité

Podsíť služby Application Gateway (myAGSubnet) může obsahovat pouze aplikační brány. V této podsíti nejsou povoleny žádné další prostředky. Vytvořte konfigurace podsítí pro myBackendSubnet a myAGSubnet pomocí rutiny New-AzVirtualNetworkSubnetConfig. Služba Application Gateway vyžaduje vyhrazenou podsíť s minimálním /24 CIDR pro správnou operaci a budoucí škálování. Vytvořte virtuální síť myVNet pomocí rutiny New-AzVirtualNetwork s konfiguracemi podsítě. Nakonec vytvořte veřejnou IP adresu se standardní skladovou složkou a statickým přidělením pro lepší zabezpečení a výkon pomocí New-AzPublicIpAddress.

# 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

Vytvoření brány Application Gateway

V této části vytvoříte prostředky, které podporují bránu Application Gateway, a nakonec vytvoříte bránu samotnou. Mezi prostředky, které vytvoříte, jsou i tyto:

  • Konfigurace IP adres a front-endový port – přidruží vytvořenou podsíť k aplikační bráně a přiřadí jí přístupový port.
  • Výchozí fond – všechny aplikační brány musí mít aspoň jeden back-endový fond serverů.
  • Výchozí naslouchací proces a pravidlo – výchozí naslouchací proces naslouchá provozu na přiřazeném portu a výchozí pravidlo odesílá provoz výchozímu fondu.

Vytvoření konfigurací IP adres a front-endového portu

Přidružte podsíť myAGSubnet , kterou jste předtím vytvořili ke službě Application Gateway pomocí Rutiny New-AzApplicationGatewayIPConfiguration. Přiřaďte aplikační bráně myAGPublicIPAddress pomocí Rutiny New-AzApplicationGatewayFrontendIPConfig. Pomocí cmdletu New-AzApplicationGatewayFrontendPort vytvořte port HTTP.

# 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"

Vytvoření výchozího fondu a nastavení

Vytvořte výchozí back-endový fond s názvem appGatewayBackendPool pro aplikační bránu pomocí New-AzApplicationGatewayBackendAddressPool. Nakonfigurujte nastavení back-endového fondu pomocí Rutiny New-AzApplicationGatewayBackendHttpSettings.

# 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

Vytvoření výchozího naslouchacího procesu a pravidla

K tomu, aby služba Application Gateway mohla správně směrovat provoz do backendových skupin, je potřeba naslouchací modul. V tomto tutorialu vytvoříte několik posluchačů pro různé scénáře směrování. První základní naslouchací proces očekává provoz na kořenové adrese URL. Ostatní posluchače očekávají provoz na konkrétních cestách URL, například http://203.0.113.1:8080/images/ nebo http://203.0.113.1:8081/video/.

Vytvořte naslouchací proces s názvem defaultListener pomocí rutiny New-AzApplicationGatewayHttpListener s konfigurací front-endu a front-endovým portem, který jste vytvořili dříve. Pravidlo je potřeba k tomu, aby naslouchací proces poznal, který back-endový fond má použít pro příchozí provoz. Vytvořte základní pravidlo s názvem rule1 pomocí Rutiny New-AzApplicationGatewayRequestRoutingRule.

# 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"

Vytvoření služby Application Gateway

Teď, když jste vytvořili potřebné podpůrné prostředky, zadejte parametry pro aplikační bránu s názvem myAppGateway pomocí Rutiny New-AzApplicationGatewaySku a pak ji vytvořte pomocí Rutiny New-AzApplicationGateway.

# 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

Přidání back-endových fondů a portů

Back-endové fondy můžete do aplikační brány přidat pomocí Add-AzApplicationGatewayBackendAddressPool. V tomto příkladu se pro směrování konkrétních typů obsahu vytvoří imagesBackendPool a videoBackendPool . Front-endové porty pro fondy přidáte pomocí Add-AzApplicationGatewayFrontendPort. Odešlete změny do aplikační brány pomocí Set-AzApplicationGateway.

# 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

Přidání naslouchacích procesů a pravidel

Přidání naslouchacích procesů

Přidejte naslouchací procesy s názvem backendListener a redirectedListener, které jsou potřeba ke směrování provozu pomocí rutiny Add-AzApplicationGatewayHttpListener.

# 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

Přidání výchozí mapy cest adres URL

Mapy cest URL zajišťují přesměrování konkrétních adres URL na konkrétní back-endové skupiny. Pomocí rutin New-AzApplicationGatewayPathRuleConfig a Add-AzApplicationGatewayUrlPathMapConfig můžete vytvořit URL mapy cest pojmenované imagePathRule a videoPathRule.

# 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

Přidání konfigurace přesměrování

Přesměrování pro naslouchací proces můžete nakonfigurovat pomocí rutiny Add-AzApplicationGatewayRedirectConfiguration.

# 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"

Přidání mapy cest adres URL pro přesměrování

Vytvořte samostatnou mapu cest URL pro scénáře přesměrování. Tato konfigurace bude zpracovávat provoz na portu 8081 a přesměruje konkrétní cesty k příslušnému přijímači na portu 8080.

# 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"

Přidání pravidel směrování

Pravidla směrování přidružují mapy adres URL k naslouchacím procesům, které jste vytvořili. Pravidla s názvem defaultRule a redirectedRule můžete přidat pomocí rutiny Add-AzApplicationGatewayRequestRoutingRule.

$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

Vytvoření škálovacích sad virtuálních počítačů

V tomto příkladu vytvoříte tři škálovací sady virtuálních počítačů, které podporují tři vytvořené back-endové fondy. Škálovací sady mají název myvmss1, myvmss2 a myvmss3. Každá škálovací sada obsahuje dvě instance virtuálních počítačů, na které nainstalujete službu IIS. Škálovací sadu přiřadíte back-endovému fondu při konfiguraci nastavení IP adres.

Důležité

Před spuštěním skriptu nahraďte <username> vlastními <password> hodnotami. Použijte silné heslo, které splňuje požadavky azure na zabezpečení. Poznámka zabezpečení: Nahraďte <username> a <password> bezpečnými přihlašovacími údaji. Zvažte použití služby Azure Key Vault pro správu přihlašovacích údajů v produkčních scénářích.

# 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"

instalace IIS

Následující skript nainstaluje službu IIS na virtuální počítače v každé škálovací sadě a nakonfiguruje je tak, aby zobrazovala jiný obsah podle toho, který back-endový fond obsluhuje.

$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
}

Otestování aplikační brány

I když služba IIS není nutná k vytvoření aplikační brány, nainstalovali jste ji v tomto kurzu, abyste ověřili, jestli Azure úspěšně vytvořila aplikační bránu. Použití služby IIS k otestování aplikační brány:

  1. Spuštěním rutiny Get-AzPublicIPAddress získejte veřejnou IP adresu aplikační brány:

    Get-AzPublicIPAddress -ResourceGroupName myResourceGroupAG -Name myAGPublicIPAddress
    
  2. Zkopírujte veřejnou IP adresu a pak ji vložte do adresního řádku svého prohlížeče. Například:

    • http://203.0.113.1 (základní adresa URL)
    • http://203.0.113.1:8080/images/test.htm (cesta k obrázkům)
    • http://203.0.113.1:8080/video/test.htm (cesta k videu)
    • http://203.0.113.1:8081/images/test.htm (test přesměrování)

Snímek obrazovky znázorňující výchozí úvodní stránku služby IIS při testování základní adresy URL aplikační brány

Změňte adresu URL na http://<ip-address>:8080/images/test.htm, nahraďte svoji IP adresu <ip-address>a měli byste vidět něco jako v následujícím příkladu:

Snímek obrazovky znázorňující testovací stránku back-endového fondu obrázků při přístupu k cestě /images ve službě Application Gateway

Změňte adresu URL na http://<ip-address>:8080/video/test.htm, nahraďte svoji IP adresu <ip-address>a měli byste vidět něco jako v následujícím příkladu:

Snímek obrazovky zobrazující testovací stránku back-endového fondu videa při přístupu k cestě /video ve službě Application Gateway

Teď změňte adresu URL na http://<ip-address>:8081/images/test.htm, nahraďte svou IP adresu <ip-address>a měli byste vidět provoz přesměrovaný zpět do back-endového fondu obrázků na adrese http://<ip-address>:8080/images.

Monitorování výkonu

Monitorování klíčových metrik služby Application Gateway pro zajištění optimálního výkonu:

  • Počet žádostí: Celkový počet zpracovaných požadavků
  • Doba odezvy: Průměrná doba odezvy pro požadavky
  • Počet nefunkčních hostitelů: Počet nefunkčních backendových serverů
  • Propustnost: Rychlost přenosu dat prostřednictvím služby Application Gateway

Vyčištění prostředků

Pokud už ji nepotřebujete, odeberte skupinu prostředků, aplikační bránu a všechny související prostředky pomocí remove-AzResourceGroup.

Remove-AzResourceGroup -Name myResourceGroupAG

Další kroky

Teď, když jste se naučili přesměrování na základě cest url pomocí služby Application Gateway, prozkoumejte tyto pokročilé scénáře:

Další zdroje informací