Megosztás a következőn keresztül:


Application Gateway létrehozása URL-alapú átirányítással az Azure PowerShell használatával

Az Azure PowerShell használatával URL-alapú útválasztási szabályokat konfigurálhat egy application gateway létrehozásakor. Ebben az oktatóanyagban virtuális gép-méretezési készletek használatával hoz létre háttérkészleteket. Ezután olyan URL-útválasztási szabályokat hozhat létre, amelyek a kérés URL-útvonala alapján átirányítják a webes forgalmat a megfelelő háttérkészletbe. Az Azure PowerShell használatával speciális URL-alapú útválasztási szabályokat konfigurálhat egy application gateway létrehozásakor.

Ez az oktatóanyag az éles üzemre kész konfigurációkat ismerteti, beleértve a biztonsági ajánlott eljárásokat, a teljesítményoptimalizálást és a monitorozás beállítását.

Ebben az oktatóanyagban a következőket sajátíthatja el:

  • A hálózati infrastruktúra beállítása
  • Alkalmazásátjáró létrehozása útvonalalapú útválasztással
  • Figyelők és útválasztási szabályok hozzáadása az URL-átirányításhoz
  • Virtuális gépek skálacsoportjainak létrehozása háttérkészletekhez
  • Az Application Gateway útválasztási és átirányítási funkciójának tesztelése

Az alábbi példa a 8080 és a 8081 portról érkező és ugyanazon háttérkészletek felé irányuló helyforgalmat mutatja be:

Az URL-útválasztási és átirányítási architektúra diagramja.

Előfeltételek

Tetszés szerint az Azure CLI-vel végezheti el ezt az eljárást.

Mielőtt elkezdené ezt az oktatóanyagot, győződjön meg arról, hogy:

  • Aktív Azure-előfizetés. Hozzon létre egy ingyenes fiókot, ha nem rendelkezik ilyen fiókkal .
  • Az Azure PowerShell-modul 5.4.1-es vagy újabb verziója helyileg telepítve van, vagy hozzáférés az Azure Cloud Shellhez
  • Közreműködői vagy tulajdonosi engedélyek a cél Azure-előfizetéshez
  • Az Application Gateway fogalmainak és a PowerShell-szkriptek használatának alapszintű ismerete

Megjegyzés:

Javasoljuk az Azure Az PowerShell modult használni az Azure-val való interakcióhoz. Az első lépésekhez tekintse meg Az Azure PowerShell telepítése témakört. Az Az PowerShell-modulba való migrálásról további információt az Azure PowerShell migrálása az AzureRM-ből az Az-be című témakörben talál.

Azure Cloud Shell

Az Azure üzemelteti az Azure Cloud Shell-t, egy interaktív héjkörnyezetet, amelyet a böngésződön keresztül használhatsz. A Bash vagy a PowerShell segítségével is használhatja a Cloud Shellt az Azure-szolgáltatásokhoz. Felhasználhatja a Cloud Shell előre telepített parancsait a cikkben szereplő kód futtatására anélkül, hogy bármit telepítenie kellene a helyi környezetében.

Azure Cloud Shell elindítása:

Lehetőség Példa/hivatkozás
A kód vagy parancsblokk jobb felső sarkában válassza a Kipróbálás lehetőséget. A Kipróbálás lehetőség választása nem másolja automatikusan a kódot vagy a parancsot a Cloud Shellbe. Képernyőkép az Azure Cloud Shell kipróbálásának példájáról.
Lépjen a https://shell.azure.com webhelyre, vagy válassza ki a Cloud Shell indítása gombot a Cloud Shell megnyitásához a böngészőjében. Gomb az Azure Cloud Shell elindításához.
Az Azure Portal jobb felső sarkában található menüben kattintson a Cloud Shell gombra. Az Azure portálon a Cloud Shell gombot mutató képernyőkép

Az Azure Cloud Shell használata:

  1. Indítsa el a Cloud Shell alkalmazást.

  2. A kód vagy parancs másolásához kattintson a Másolás gombra egy kódblokkon (vagy parancsblokkon).

  3. Másolja be a kódot vagy parancsot a Cloud Shell munkamenetbe a Windows és Linux rendszereken a Ctrl+Shift+V billentyűk kiválasztásával, vagy a macOS rendszeren a Cmd+Shift+V billentyűkiválasztásával.

  4. A kód vagy parancs futtatásához válassza az Enter lehetőséget .

Ha a PowerShell helyi telepítése és használata mellett dönt, ehhez az oktatóanyaghoz az Azure PowerShell-modul 5.4.1-es vagy újabb verziójára van szükség. A verzió megkereséséhez futtassa a következőt: Get-Module -ListAvailable Az. Ha frissíteni szeretne, olvassa el az Azure PowerShell-modul telepítését ismertető cikket. Ha helyileg futtatja a PowerShellt, az Azure-ral való kapcsolat létrehozásához a Connect-AzAccount parancsot is futtatnia kell.

Erőforráscsoport létrehozása

Az erőforráscsoport egy logikai tároló, amelyben az Azure-erőforrások üzembe helyezése és felügyelete történik. Hozzon létre egy Azure-erőforráscsoportot a New-AzResourceGroup használatával.

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

Hálózati erőforrások létrehozása

Hozza létre a myBackendSubnet és a myAGSubnet alhálózat-konfigurációit a New-AzVirtualNetworkSubnetConfig használatával. Hozza létre a myVNet nevű virtuális hálózatot a New-AzVirtualNetwork használatával az alhálózat konfigurációival. Végül hozza létre a myAGPublicIPAddress nevű nyilvános IP-címet a New-AzPublicIpAddress használatával. Ezek az erőforrások hálózati kapcsolatot biztosítanak az application gatewayhez és a hozzá tartozó erőforrásokhoz.

Fontos

Az Application Gateway alhálózata (myAGSubnet) csak alkalmazásátjárókat tartalmazhat. Ebben az alhálózatban más erőforrások nem engedélyezettek. Hozza létre a myBackendSubnet és a myAGSubnet alhálózat-konfigurációit a New-AzVirtualNetworkSubnetConfig használatával. Az Application Gatewayhez egy dedikált alhálózatra van szükség, amely legalább /24 CIDR-vel rendelkezik a megfelelő működéshez és a jövőbeli skálázáshoz. Hozza létre a myVNet nevű virtuális hálózatot a New-AzVirtualNetwork használatával az alhálózat konfigurációival. Végül hozza létre a nyilvános IP-címet standard termékváltozattal és statikus foglalással a nagyobb biztonság és teljesítmény érdekében a New-AzPublicIpAddress használatával.

# 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

Application Gateway létrehozása

Ebben a szakaszban először az alkalmazásátjárót támogató erőforrásokat hozza létre, majd magát az átjárót. A következő erőforrásokat hozza létre:

  • IP-konfigurációk és az előtérbeli port – A korábban létrehozott alhálózatot társítja az alkalmazásátjáróhoz, és hozzárendel egy portot, amelyen keresztül elérhető.
  • Alapértelmezett készlet – Minden alkalmazásátjárónak rendelkeznie kell legalább egy háttérkiszolgáló-készlettel.
  • Alapértelmezett figyelő és szabály – Az alapértelmezett figyelő figyeli a forgalmat a hozzárendelt porton, az alapértelmezett szabály pedig az alapértelmezett készletre irányítja a forgalmat.

Az IP-konfigurációk és az előtérbeli port létrehozása

Társítsa a korábban létrehozott myAGSubnetet az Application Gatewayhez a New-AzApplicationGatewayIPConfiguration használatával. Rendelje hozzá myAGPublicIPAddress-t az application gatewayhez a New-AzApplicationGatewayFrontendIPConfig parancs használatával. Ezután hozza létre a HTTP-portot a New-AzApplicationGatewayFrontendPort használatával.

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

Az alapértelmezett készlet létrehozása és beállítása

Hozza létre az alapértelmezett hátteret, melynek neve appGatewayBackendPool, az alkalmazás átjáróhoz a New-AzApplicationGatewayBackendAddressPool használatával. Konfigurálja a háttérkészlet beállításait a New-AzApplicationGatewayBackendHttpSettings használatával.

# 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

Az alapértelmezett figyelőt és szabályt hozd létre

Ahhoz, hogy az Application Gateway megfelelően irányíthassa a forgalmat a háttérkészletekhez, szükség van egy listenerre. Ebben az oktatóanyagban több figyelőt hoz létre a különböző útválasztási forgatókönyvekhez. Az első alapszintű hallgató a fő URL-címen várja a forgalmat. Az egyéb figyelők forgalmat várnak meghatározott URL útvonalakon, mint például http://203.0.113.1:8080/images/ vagy http://203.0.113.1:8081/video/.

Hozzon létre egy defaultListener nevű figyelőt a New-AzApplicationGatewayHttpListener használatával a korábban létrehozott előtér-konfigurációval és előtérporttal. Ahhoz, hogy a figyelő tudja, melyik backend poolt használja a bejövő forgalomhoz, szükség van egy szabályra. Hozzon létre egy szabály1 nevű alapvető szabályt a New-AzApplicationGatewayRequestRoutingRule használatával.

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

Application Gateway létrehozása

Most, hogy létrehozta a szükséges támogató erőforrásokat, adja meg a myAppGateway nevű application gateway paramétereit a New-AzApplicationGatewaySku használatával, majd hozza létre a New-AzApplicationGateway használatával.

# 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

Háttér-pools és portok hozzáadása

Az Add-AzApplicationGatewayBackendAddressPool használatával háttérkészleteket adhat hozzá az application gatewayhez. Ebben a példában az imagesBackendPool és a videoBackendPool adott tartalomtípusok útválasztásához jön létre. A Add-AzApplicationGatewayFrontendPort használatával frontend portokat adhat hozzá a készletekhez. Küldje el a módosításokat az Application Gatewaynek a Set-AzApplicationGateway használatával.

# 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

Adja hozzá a figyelőket és a szabályokat

Figyelők hozzáadása

Adja hozzá a háttérlistener és a redirectedListener nevű figyelőket, amelyek az Add-AzApplicationGatewayHttpListener használatával történő forgalom irányításához szükségesek.

# 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

Az alapértelmezett URL-útvonaltérkép hozzáadása

Az URL-útvonaltérképek biztosítják, hogy adott URL-címek adott háttérkészletekhez legyenek irányítva. Az imagePathRule és videoPathRule nevű URL-elérési útleképezéseket a New-AzApplicationGatewayPathRuleConfig és Add-AzApplicationGatewayUrlPathMapConfig eszközökkel hozhat létre.

# 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

Átirányítási konfiguráció hozzáadása

A figyelő átirányítását a Add-AzApplicationGatewayRedirectConfiguration használatával konfigurálhatja.

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

Az átirányítási URL-cím útvonaltérképének hozzáadása

Hozzon létre egy külön URL-útvonaltérképet az átirányítási forgatókönyvekhez. Ez a térkép kezeli a 8081-s port forgalmát, és a 8080-ás porton átirányít bizonyos útvonalakat a megfelelő figyelőhöz.

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

Útválasztási szabályok hozzáadása

Az útválasztási szabályok az URL-leképezéseket a létrehozott figyelőkkel társítják. A defaultRule és a redirectedRule nevű szabályokat az Add-AzApplicationGatewayRequestRoutingRule használatával adhatja hozzá.

$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

Virtuális gép méretezési készletek létrehozása

Ebben a példában három virtuális gép skálázási készletet hoz létre, amelyek támogatják a három létrehozott háttérellátási készletet. A méretezési csoportok neve myvmss1, myvmss2 és myvmss3. Minden méretezési csoport két virtuálisgép-példányt tartalmaz, amelyekre az IIS-t telepíti. Az IP-beállítások konfigurálásakor hozzárendeli a méretezési halmazt a háttérkészlethez.

Fontos

A szkript futtatása előtt cserélje le a <username> és <password> helyére a saját értékeit. Használjon erős jelszót, amely megfelel az Azure biztonsági követelményeinek. Biztonsági megjegyzés: Cserélje le <username> és <password> biztonságos hitelesítő adatokkal. Fontolja meg az Azure Key Vault használatát a hitelesítő adatok kezeléséhez éles helyzetekben.

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

Az IIS telepítése

Az alábbi szkript minden méretezési csoportban telepíti az IIS-t a virtuális gépekre, és úgy konfigurálja őket, hogy különböző tartalmakat jelenítsen meg attól függően, hogy melyik háttérkészletet szolgálják ki.

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

Az Application Gateway tesztelése

Bár az application gateway létrehozásához nincs szükség IIS-ra, ebben az oktatóanyagban telepítette annak ellenőrzéséhez, hogy az Azure sikeresen létrehozta-e az application gatewayt. Az IIS használatával tesztelje az Application Gatewayt:

  1. Futtassa a Get-AzPublicIPAddress parancsot az application gateway nyilvános IP-címének lekéréséhez:

    Get-AzPublicIPAddress -ResourceGroupName myResourceGroupAG -Name myAGPublicIPAddress
    
  2. Másolja a nyilvános IP-címet, majd illessze be a böngésző címsorába. Például:

    • http://203.0.113.1 (alap URL-cím)
    • http://203.0.113.1:8080/images/test.htm (képek elérési útja)
    • http://203.0.113.1:8080/video/test.htm (videó elérési útja)
    • http://203.0.113.1:8081/images/test.htm (átirányítási teszt)

Képernyőkép az alapértelmezett IIS üdvözlőlapról az application gateway alap URL-címének tesztelése során.

Módosítsa az URL-címet http://<ip-address>:8080/images/test.htm, helyettesítve az IP-címét a <ip-address> hellyel, és az alábbi példához hasonlót kell látnia:

Képernyőkép a képek háttérkészletének tesztoldaláról az application gateway /images elérési útjának elérésekor.

Módosítsa az URL-címet http://<ip-address>:8080/video/test.htm, helyettesítve az IP-címét a <ip-address> hellyel, és az alábbi példához hasonlót kell látnia:

Képernyőkép a video háttérkészlet tesztoldaláról az application gateway /video elérési útjának elérésekor.

Most módosítsa az URL-címet az IP-cím http://<ip-address>:8081/images/test.htm<ip-address>helyettesítésére, és a rendszer a rendszerképek háttérkészletére átirányított forgalmat jelenítse meg a következő helyenhttp://<ip-address>:8080/images: .

Teljesítményfigyelés

Az Application Gateway legfontosabb metrikáinak monitorozása az optimális teljesítmény érdekében:

  • Kérelmek száma: Feldolgozott kérelmek teljes száma
  • Válaszidő: Kérelmek átlagos válaszideje
  • Nem megfelelő állapotú gazdagépek száma: Nem megfelelő állapotú háttérkiszolgálók száma
  • Átviteli sebesség: Adatátviteli sebesség az Application Gatewayen keresztül

Erőforrások tisztítása

Ha már nincs rá szükség, távolítsa el az erőforráscsoportot, az Application Gatewayt és az összes kapcsolódó erőforrást a Remove-AzResourceGroup használatával.

Remove-AzResourceGroup -Name myResourceGroupAG

Következő lépések

Most, hogy megismerte az URL-útvonalalapú átirányítást az Application Gateway használatával, ismerkedjen meg az alábbi speciális forgatókönyvekkel:

További erőforrások