Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Jeśli jesteś administratorem IT zajmującym się ulepszaniem dostępu do aplikacji internetowych, możesz zoptymalizować bramę aplikacji pod kątem skalowania na podstawie zapotrzebowania klienta i obejmować wiele stref dostępności. Ten samouczek ułatwia konfigurowanie funkcji usługi Azure Application Gateway w wersji 2, które to robią: skalowanie automatyczne, nadmiarowość stref i statyczne adresy VIP. Aby rozwiązać ten problem, użyjesz poleceń cmdlet programu Azure PowerShell i modelu wdrażania usługi Azure Resource Manager.
Z tego samouczka dowiesz się, jak wykonywać następujące działania:
- Tworzenie certyfikatu z podpisem własnym
- Tworzenie autoskalującej sieci wirtualnej
- Tworzenie zastrzeżonego publicznego adresu IP
- Konfigurowanie infrastruktury bramy aplikacji
- Określanie automatycznego skalowania
- Tworzenie bramy aplikacji
- Testowanie bramy aplikacji
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
Wymagania wstępne
Uwaga
Zalecamy korzystanie z modułu Azure Az programu PowerShell do interakcji z platformą Azure. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.
Ten samouczek wymaga lokalnego uruchomienia administracyjnej sesji programu Azure PowerShell. Musisz mieć zainstalowany moduł Azure PowerShell w wersji 1.0.0 lub nowszej. Uruchom Get-Module -ListAvailable Az
, aby znaleźć wersję. Jeśli konieczne będzie uaktualnienie, zobacz Instalowanie modułu Azure PowerShell. Po zweryfikowaniu wersji programu PowerShell uruchom polecenie Connect-AzAccount
, aby utworzyć połączenie z platformą Azure.
Zaloguj się na platformie Azure
Connect-AzAccount
Select-AzSubscription -Subscription "<sub name>"
Tworzenie grupy zasobów
Utwórz grupę zasobów w jednej z dostępnych lokalizacji.
$location = "East US 2"
$rg = "AppGW-rg"
#Create a new Resource Group
New-AzResourceGroup -Name $rg -Location $location
Tworzenie certyfikatu z podpisem własnym
Do użytku produkcyjnego należy zaimportować prawidłowy certyfikat podpisany przez zaufanego dostawcę. W tym samouczku utworzysz certyfikat z podpisem własnym przy użyciu polecenia New-SelfSignedCertificate. Możesz użyć polecenia Export-PfxCertificate z odciskiem palca zwróconym w celu wyeksportowania pliku pfx z certyfikatu.
New-SelfSignedCertificate `
-certstorelocation cert:\localmachine\my `
-dnsname www.contoso.com
Powinien zostać wyświetlony wynik podobny do następującego:
PSParentPath: Microsoft.PowerShell.Security\Certificate::LocalMachine\my
Thumbprint Subject
---------- -------
E1E81C23B3AD33F9B4D1717B20AB65DBB91AC630 CN=www.contoso.com
Użyj odcisku palca, aby utworzyć plik pfx. Zastąp <hasło> wybranym hasłem:
$pwd = ConvertTo-SecureString -String "<password>" -Force -AsPlainText
Export-PfxCertificate `
-cert cert:\localMachine\my\E1E81C23B3AD33F9B4D1717B20AB65DBB91AC630 `
-FilePath c:\appgwcert.pfx `
-Password $pwd
Tworzenie sieci wirtualnej
Utwórz sieć wirtualną z jedną dedykowaną podsiecią dla bramy aplikacji skalowania automatycznego. Obecnie w każdej dedykowanej podsieci można wdrożyć tylko jedną bramę aplikacji skalowania automatycznego.
#Create VNet with two subnets
$sub1 = New-AzVirtualNetworkSubnetConfig -Name "AppGwSubnet" -AddressPrefix "10.0.0.0/24"
$sub2 = New-AzVirtualNetworkSubnetConfig -Name "BackendSubnet" -AddressPrefix "10.0.1.0/24"
$vnet = New-AzvirtualNetwork -Name "AutoscaleVNet" -ResourceGroupName $rg `
-Location $location -AddressPrefix "10.0.0.0/16" -Subnet $sub1, $sub2
Tworzenie zastrzeżonego publicznego adresu IP
Określ metodę alokacji elementu PublicIPAddress jako statyczną. Adres VIP w bramie aplikacji automatycznego skalowania może być wyłącznie statyczny. Dynamiczne adresy IP nie są obsługiwane. Obsługiwana jest tylko standardowa jednostka SKU PublicIpAddress.
#Create static public IP
$pip = New-AzPublicIpAddress -ResourceGroupName $rg -name "AppGwVIP" `
-location $location -AllocationMethod Static -Sku Standard -Zone 1,2,3
Pobierz szczegóły
Pobierz szczegóły grupy zasobów, podsieci i adresu IP w obiekcie lokalnym, aby utworzyć szczegóły konfiguracji adresu IP dla bramy aplikacji.
$publicip = Get-AzPublicIpAddress -ResourceGroupName $rg -name "AppGwVIP"
$vnet = Get-AzvirtualNetwork -Name "AutoscaleVNet" -ResourceGroupName $rg
$gwSubnet = Get-AzVirtualNetworkSubnetConfig -Name "AppGwSubnet" -VirtualNetwork $vnet
Tworzenie aplikacji internetowych
Skonfiguruj dwie aplikacje webowe dla puli zaplecza serwera. Zastąp ciąg <site1-name> i <site2-name> unikatowymi nazwami w domenie azurewebsites.net
.
New-AzAppServicePlan -ResourceGroupName $rg -Name "ASP-01" -Location $location -Tier Basic `
-NumberofWorkers 2 -WorkerSize Small
New-AzWebApp -ResourceGroupName $rg -Name <site1-name> -Location $location -AppServicePlan ASP-01
New-AzWebApp -ResourceGroupName $rg -Name <site2-name> -Location $location -AppServicePlan ASP-01
Konfigurowanie infrastruktury
Skonfiguruj konfigurację adresu IP, konfigurację adresu IP frontonu, pulę zaplecza, ustawienia PROTOKOŁU HTTP, certyfikat, port, odbiornik i regułę w identycznym formacie jak istniejąca brama aplikacji w warstwie Standardowa. Nowa jednostka SKU jest zgodna z tym samym modelem obiektu co SKU w warstwie standardowej.
Zastąp dwie nazwy FQDN dla aplikacji internetowych (na przykład: mywebapp.azurewebsites.net
) w definicji zmiennej $pool.
$ipconfig = New-AzApplicationGatewayIPConfiguration -Name "IPConfig" -Subnet $gwSubnet
$fip = New-AzApplicationGatewayFrontendIPConfig -Name "FrontendIPConfig" -PublicIPAddress $publicip
$pool = New-AzApplicationGatewayBackendAddressPool -Name "Pool1" `
-BackendIPAddresses <your first web app FQDN>, <your second web app FQDN>
$fp01 = New-AzApplicationGatewayFrontendPort -Name "SSLPort" -Port 443
$fp02 = New-AzApplicationGatewayFrontendPort -Name "HTTPPort" -Port 80
$securepfxpwd = ConvertTo-SecureString -String "Azure123456!" -AsPlainText -Force
$sslCert01 = New-AzApplicationGatewaySslCertificate -Name "SSLCert" -Password $securepfxpwd `
-CertificateFile "c:\appgwcert.pfx"
$listener01 = New-AzApplicationGatewayHttpListener -Name "SSLListener" `
-Protocol Https -FrontendIPConfiguration $fip -FrontendPort $fp01 -SslCertificate $sslCert01
$listener02 = New-AzApplicationGatewayHttpListener -Name "HTTPListener" `
-Protocol Http -FrontendIPConfiguration $fip -FrontendPort $fp02
$setting = New-AzApplicationGatewayBackendHttpSettings -Name "BackendHttpSetting1" `
-Port 80 -Protocol Http -CookieBasedAffinity Disabled -PickHostNameFromBackendAddress
$rule01 = New-AzApplicationGatewayRequestRoutingRule -Name "Rule1" -RuleType basic `
-BackendHttpSettings $setting -HttpListener $listener01 -BackendAddressPool $pool -Priority 1
$rule02 = New-AzApplicationGatewayRequestRoutingRule -Name "Rule2" -RuleType basic `
-BackendHttpSettings $setting -HttpListener $listener02 -BackendAddressPool $pool -Priority 2
Określanie automatycznego skalowania
Teraz możesz określić konfigurację skalowania automatycznego dla bramy aplikacji.
$autoscaleConfig = New-AzApplicationGatewayAutoscaleConfiguration -MinCapacity 2
$sku = New-AzApplicationGatewaySku -Name Standard_v2 -Tier Standard_v2
W tym trybie brama aplikacji automatycznie skaluje się na podstawie wzorca ruchu aplikacji.
Tworzenie bramy aplikacji
Utwórz bramę aplikacji i uwzględnij strefy nadmiarowości oraz konfigurację skalowania automatycznego.
$appgw = New-AzApplicationGateway -Name "AutoscalingAppGw" -Zone 1,2,3 `
-ResourceGroupName $rg -Location $location -BackendAddressPools $pool `
-BackendHttpSettingsCollection $setting -GatewayIpConfigurations $ipconfig `
-FrontendIpConfigurations $fip -FrontendPorts $fp01, $fp02 `
-HttpListeners $listener01, $listener02 -RequestRoutingRules $rule01, $rule02 `
-Sku $sku -sslCertificates $sslCert01 -AutoscaleConfiguration $autoscaleConfig
Testowanie bramy aplikacji
Użyj Get-AzPublicIPAddress, aby uzyskać publiczny adres IP bramy aplikacji. Skopiuj publiczny adres IP lub nazwę DNS, a następnie wklej go na pasku adresu przeglądarki.
$pip = Get-AzPublicIPAddress -ResourceGroupName $rg -Name AppGwVIP
$pip.IpAddress
Czyszczenie zasobów
Najpierw zapoznaj się z zasobami utworzonymi za pomocą bramy aplikacji. Następnie, gdy nie są już potrzebne, możesz użyć Remove-AzResourceGroup
polecenia , aby usunąć grupę zasobów, bramę aplikacji i wszystkie powiązane zasoby.
Remove-AzResourceGroup -Name $rg