Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Za pomocą programu Azure PowerShell można skonfigurować reguły routingu oparte na adresach URL podczas tworzenia bramy aplikacji. Podczas pracy z tym samouczkiem utworzysz pule zaplecza z użyciem zestawów skalowania maszyn wirtualnych. Następnie utworzysz reguły routingu adresów URL, które przekierowują ruch internetowy do odpowiedniej puli zaplecza na podstawie ścieżki adresu URL żądania. Za pomocą programu Azure PowerShell można skonfigurować zaawansowane reguły routingu oparte na adresach URL podczas tworzenia bramy aplikacji.
W tym samouczku omówiono konfiguracje gotowe do produkcji, w tym najlepsze rozwiązania dotyczące zabezpieczeń, optymalizację wydajności i konfigurację monitorowania.
W tym poradniku nauczysz się, jak:
- Konfigurowanie infrastruktury sieciowej
- Tworzenie bramy aplikacji z routingiem opartym na ścieżkach
- Dodawanie odbiorników i reguł routingu na potrzeby przekierowywania adresów URL
- Tworzenie zestawów skalowania maszyn wirtualnych dla pul back-end
- Przetestuj funkcję routingu i przekierowywania bramy aplikacji
Poniższy przykład pokazuje ruch w witrynie, pochodzący z portów 8080 i 8081, skierowany do tych samych pul zaplecza:
Wymagania wstępne
Jeśli wolisz, możesz wykonać tę procedurę przy użyciu interfejsu wiersza polecenia platformy Azure.
Przed rozpoczęciem tego samouczka upewnij się, że masz następujące elementy:
- Aktywna subskrypcja platformy Azure. Utwórz bezpłatne konto, jeśli go nie masz.
- Zainstalowany lokalnie moduł azure PowerShell w wersji 5.4.1 lub nowszej albo dostęp do usługi Azure Cloud Shell
- Uprawnienia współautora lub właściciela w docelowej subskrypcji platformy Azure
- Podstawowa wiedza na temat pojęć dotyczących usługi Application Gateway i skryptów programu PowerShell
Uwaga / Notatka
Zalecamy użycie modułu Azure Az PowerShell do interakcji z Azure. Aby rozpocząć, zobacz Instalowanie programu Azure PowerShell. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.
Azure Cloud Shell
Na platformie Azure hostowane jest interaktywne środowisko wiersza poleceń Azure Cloud Shell, z którego można korzystać przez przeglądarkę. Do pracy z usługami platformy Azure można używać programu Bash lub PowerShell w środowisku Cloud Shell. Aby uruchomić kod w tym artykule, możesz użyć wstępnie zainstalowanych poleceń usługi Cloud Shell bez konieczności instalowania niczego w środowisku lokalnym.
Aby uruchomić środowisko Azure Cloud Shell:
| Opcja | Przykład/łącze |
|---|---|
| Wybierz pozycję Wypróbuj w prawym górnym rogu bloku kodu lub polecenia. Wybranie pozycji Wypróbuj nie powoduje automatycznego skopiowania kodu lub polecenia do usługi Cloud Shell. |
|
| Przejdź do witryny https://shell.azure.com lub wybierz przycisk Uruchom Cloud Shell, aby otworzyć środowisko Cloud Shell w przeglądarce. |
|
| Wybierz przycisk Cloud Shell na pasku menu w prawym górnym rogu witryny Azure Portal. |
|
Aby użyć usługi Azure Cloud Shell:
Uruchom usługę Cloud Shell.
Wybierz przycisk Kopiuj w bloku kodu (lub bloku poleceń), aby skopiować kod lub polecenie.
Wklej kod lub polecenie do sesji usługi Cloud Shell, wybierając pozycję Ctrl+Shift+V w systemach Windows i Linux lub wybierając pozycję Cmd+Shift+V w systemie macOS.
Wybierz Enter, aby uruchomić kod lub polecenie.
Jeśli zdecydujesz się zainstalować program PowerShell i korzystać z niego lokalnie, ten samouczek wymaga modułu Azure PowerShell w wersji 5.4.1 lub nowszej. Aby dowiedzieć się, jaka wersja jest używana, uruchom polecenie Get-Module -ListAvailable Az. Jeśli konieczne będzie uaktualnienie, zobacz Instalowanie modułu Azure PowerShell. Jeśli używasz programu PowerShell lokalnie, musisz też uruchomić polecenie Connect-AzAccount, aby utworzyć połączenie z platformą Azure.
Tworzenie grupy zasobów
Grupa zasobów to logiczny kontener przeznaczony do wdrażania zasobów platformy Azure i zarządzania nimi. Utwórz grupę zasobów platformy Azure przy użyciu polecenia 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'"
Tworzenie zasobów sieciowych
Utwórz konfiguracje podsieci dla podsieci myBackendSubnet i myAGSubnet przy użyciu polecenia New-AzVirtualNetworkSubnetConfig. Utwórz sieć wirtualną o nazwie myVNet przy użyciu polecenia New-AzVirtualNetwork z konfiguracjami podsieci. Na koniec utwórz publiczny adres IP o nazwie myAGPublicIPAddress przy użyciu polecenia New-AzPublicIpAddress. Te zasoby zapewniają łączność sieciową z bramą aplikacji i skojarzonymi z nią zasobami.
Ważne
Podsieć bramy aplikacji (myAGSubnet) może zawierać tylko bramy aplikacji. W tej podsieci nie są dozwolone żadne inne zasoby. Utwórz konfiguracje podsieci dla podsieci myBackendSubnet i myAGSubnet przy użyciu polecenia New-AzVirtualNetworkSubnetConfig. Application Gateway wymaga dedykowanej podsieci o wielkości co najmniej /24 CIDR do prawidłowego działania i przyszłej rozbudowy. Utwórz sieć wirtualną o nazwie myVNet przy użyciu polecenia New-AzVirtualNetwork z konfiguracjami podsieci. Na koniec utwórz publiczny adres IP przy użyciu standardowej jednostki SKU i statycznej alokacji w celu zwiększenia bezpieczeństwa i wydajności przy użyciu polecenia 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
Tworzenie bramy aplikacji
W tej części utworzysz zasoby, które obsługują bramę aplikacji, a na koniec utworzysz bramę aplikacji. Zasoby, które utworzysz, obejmują:
- Konfiguracje adresów IP i port frontonu — umożliwiają skojarzenie wcześniej utworzonej podsieci z bramą aplikacji i przypisanie portu, który ma być używany do uzyskiwania do niej dostępu.
- Domyślna pula — wszystkie bramy aplikacyjne muszą mieć co najmniej jedną pulę zaplecza serwerów.
- Odbiornik domyślny i reguła domyślna — odbiornik domyślny nasłuchuje ruchu na porcie, który został przypisany, a reguła domyślna wysyła ruch do puli domyślnej.
Tworzenie konfiguracji IP i portu frontendowego
Przypisz poprzednio utworzoną podsieć myAGSubnet do bramy aplikacji przy użyciu polecenia New-AzApplicationGatewayIPConfiguration. Przypisz element myAGPublicIPAddress do bramy aplikacji przy użyciu polecenia New-AzApplicationGatewayFrontendIPConfig. Następnie utwórz port HTTP przy użyciu polecenia New-AzApplicationGatewayFrontendPort.
# 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"
Tworzenie puli domyślnej i ustawień
Utwórz domyślną pulę zapleczową o nazwie appGatewayBackendPool dla bramy aplikacji przy użyciu polecenia New-AzApplicationGatewayBackendAddressPool. Skonfiguruj ustawienia dla zaplecza przy użyciu polecenia 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
Tworzenie odbiornika domyślnego i reguły domyślnej
Aby brama aplikacji mogła odpowiednio routować ruch do pul zaplecza, wymagany jest nasłuchujący. W tym samouczku utworzysz wiele odbiorników dla różnych scenariuszy routingu. Pierwszy podstawowy odbiornik oczekuje ruchu pod głównym adresem URL. Inni odbiorniki oczekują ruchu na określonych ścieżkach URL, takich jak http://203.0.113.1:8080/images/ lub http://203.0.113.1:8081/video/.
Utwórz odbiornik o nazwie defaultListener za pomocą New-AzApplicationGatewayHttpListener z wcześniejszą konfiguracją frontendową i portem frontendowym, które utworzyłeś wcześniej. Zasada jest potrzebna, aby odbiorca wiedział, z której puli serwerów zaplecza skorzystać dla ruchu przychodzącego. Utwórz podstawową regułę o nazwie rule1 przy użyciu polecenia 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"
Tworzenie bramy aplikacji
Po utworzeniu niezbędnych zasobów pomocniczych określ parametry bramy aplikacji o nazwie myAppGateway przy użyciu polecenia New-AzApplicationGatewaySku, a następnie utwórz je przy użyciu polecenia 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
Dodawanie pul zaplecza i portów
Pule adresów zaplecza można dodać do gateway aplikacji przy użyciu polecenia Add-AzApplicationGatewayBackendAddressPool. W tym przykładzie obrazyBackendPool i videoBackendPool są tworzone na potrzeby routingu określonych typów zawartości. Dodajesz porty frontonu dla pul przy użyciu polecenia Add-AzApplicationGatewayFrontendPort. Prześlij zmiany do bramy aplikacji przy użyciu polecenia 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
Dodaj odbiorniki i reguły
Dodawanie odbiorników
Dodaj nasłuchiwacze o nazwie backendListener i redirectedListener, które są potrzebne do kierowania ruchu przy użyciu polecenia 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
Dodawanie domyślnej mapy ścieżek URL
Mapy ścieżek URL zapewniają kierowanie określonych adresów URL do określonych pul zaplecza. Mapy ścieżek URL o nazwach imagePathRule i videoPathRule można tworzyć przy użyciu polecenia New-AzApplicationGatewayPathRuleConfig i Add-AzApplicationGatewayUrlPathMapConfig.
# 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
Dodawanie konfiguracji przekierowania
Przekierowanie dla odbiornika można skonfigurować przy użyciu polecenia 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"
Dodaj mapę ścieżek URL przekierowania
Utwórz oddzielną mapę ścieżek URL dla scenariuszy przekierowania. Ta mapa będzie obsługiwać ruch na porcie 8081 i przekierowywać określone ścieżki do odpowiedniego odbiornika na porcie 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"
Dodawanie reguł routingu
Reguły routingu kojarzą mapy adresów URL z utworzonymi odbiornikami. Reguły o nazwie defaultRule i redirectedRule można dodać przy użyciu polecenia 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
Utwórz zestawy skalowania maszyn wirtualnych
W tym przykładzie tworzysz trzy zestawy do skalowania maszyn wirtualnych, które obsługują trzy utworzone pule zasobów zaplecza. Zestawy skalowania mają nazwy myvmss1, myvmss2 i myvmss3. Każdy zestaw skalowania zawiera dwa wystąpienia maszyny wirtualnej, na których instalujesz IIS. Zestaw skalowania przypisuje się do puli serwerów zaplecza podczas konfigurowania ustawień IP.
Ważne
Zmień <username> na swoje własne wartości oraz <password> na wartości przed uruchomieniem skryptu. Użyj silnego hasła spełniającego wymagania dotyczące zabezpieczeń platformy Azure.
Uwaga dotycząca zabezpieczeń: zastąp <username> i <password> bezpiecznymi poświadczeniami. Rozważ użycie usługi Azure Key Vault do zarządzania poświadczeniami w scenariuszach produkcyjnych.
# 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"
Instalacja usług IIS
Poniższy skrypt instaluje usługi IIS na maszynach wirtualnych w każdym zestawie skalowania i konfiguruje je tak, aby wyświetlały inną zawartość na podstawie obsługiwanej puli zaplecza.
$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
}
Testowanie bramy aplikacji
Mimo że usługi IIS nie są wymagane do utworzenia bramy aplikacji, zainstalowano ją w tym samouczku, aby sprawdzić, czy platforma Azure pomyślnie utworzyła bramę aplikacji. Użyj usługi IIS, aby przetestować bramę aplikacji:
Uruchom polecenie Get-AzPublicIPAddress , aby uzyskać publiczny adres IP bramy aplikacji:
Get-AzPublicIPAddress -ResourceGroupName myResourceGroupAG -Name myAGPublicIPAddressSkopiuj publiczny adres IP, a następnie wklej go na pasku adresu przeglądarki. Przykład:
-
http://203.0.113.1(podstawowy adres URL) -
http://203.0.113.1:8080/images/test.htm(ścieżka obrazów) -
http://203.0.113.1:8080/video/test.htm(ścieżka wideo) -
http://203.0.113.1:8081/images/test.htm(test przekierowania)
-
Zmień adres URL na http://<ip-address>:8080/images/test.htm, podstawiając adres IP dla <ip-address>, i powinien zostać wyświetlony kod podobny do następującego przykładu:
Zmień adres URL na http://<ip-address>:8080/video/test.htm, podstawiając adres IP dla <ip-address>, i powinien zostać wyświetlony kod podobny do następującego przykładu:
Teraz zmień adres URL na http://<ip-address>:8081/images/test.htm, zastępując adres IP w <ip-address>, a ruch powinien zostać przekierowany do puli zaplecza obrazów pod adresem http://<ip-address>:8080/images.
Monitorowanie wydajności
Monitorowanie kluczowych metryk usługi Application Gateway w celu uzyskania optymalnej wydajności:
- Liczba żądań: łączna liczba przetworzonych żądań
- Czas odpowiedzi: średni czas odpowiedzi dla żądań
- Liczba hostów w złej kondycji: liczba serwerów zaplecza w złej kondycji
- Przepływność: szybkość transferu danych za pośrednictwem usługi Application Gateway
Uprzątnij zasoby
Gdy grupa zasobów, brama aplikacji i wszystkie powiązane zasoby nie będą już potrzebne, usuń je przy użyciu polecenia Remove-AzResourceGroup.
Remove-AzResourceGroup -Name myResourceGroupAG
Dalsze kroki
Teraz, gdy znasz już przekierowywanie oparte na ścieżkach URL w usłudze Application Gateway, zapoznaj się z następującymi zaawansowanymi scenariuszami: