Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Om du är IT-administratör och vill förbättra åtkomsten till webbprogram kan du optimera programgatewayen så att den kan skalas dynamiskt baserat på kundernas efterfrågan och omfatta flera tillgänglighetszoner. Den här självstudien hjälper dig att konfigurera viktiga Azure Application Gateway v2-funktioner, inklusive autoskalning, zonredundans och statiska VIP:er, för att uppnå dessa förbättringar. Du använder Azure PowerShell-cmdletar och Azure Resource Manager-distributionsmodellen för att lösa problemet.
I den här tutorialen lär du dig följande:
- Skapa ett självsignerat certifikat
- Skapa ett virtuellt nätverk för automatisk skalning
- Skapa en reserverad offentlig IP-adress
- Konfigurera din programgatewayinfrastruktur
- Ange automatiskt skalning
- Skapa programgatewayen
- Testa programgatewayen
Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto innan du börjar.
Mer information om stöd för tillgänglighetszoner i Application Gateway v2 finns i Tillförlitlighet för Application Gateway v2.
Förutsättningar
Anmärkning
Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. Information om hur du migrerar till Az PowerShell-modulen finns i Migrera Azure PowerShell från AzureRM till Az.
Den här handledningen kräver att du kör en administrativ Azure PowerShell-session lokalt. Du måste ha Azure PowerShell-modul version 1.0.0 eller senare installerad. Kör Get-Module -ListAvailable Az för att hitta versionen. Om du behöver uppgradera kan du läsa Install Azure PowerShell module (Installera Azure PowerShell-modul). När du har verifierat PowerShell-versionen kör du Connect-AzAccount för att skapa en anslutning till Azure.
Logga in på Azure
Connect-AzAccount
Select-AzSubscription -Subscription "<sub name>"
Skapa en resursgrupp
Skapa en resursgrupp på någon av de tillgängliga platserna.
$location = "East US 2"
$rg = "AppGW-rg"
#Create a new Resource Group
New-AzResourceGroup -Name $rg -Location $location
Skapa ett självsignerat certifikat
För produktionsanvändning bör du importera ett giltigt certifikat som signerats av en betrodd provider. I den här självstudiekursen skapar du ett självsignerat certifikat med New-SelfSignedCertificate. Du kan använda Export-PfxCertificate med det tumavtryck som returnerades och exportera en pfx-fil från certifikatet.
New-SelfSignedCertificate `
-certstorelocation cert:\localmachine\my `
-dnsname www.contoso.com
Du bör se något som liknar det här resultatet:
PSParentPath: Microsoft.PowerShell.Security\Certificate::LocalMachine\my
Thumbprint Subject
---------- -------
E1E81C23B3AD33F9B4D1717B20AB65DBB91AC630 CN=www.contoso.com
Använd tumavtrycket för att skapa pfx-filen. Ersätt <lösenordet> med ett valfritt lösenord:
$pwd = ConvertTo-SecureString -String "<password>" -Force -AsPlainText
Export-PfxCertificate `
-cert cert:\localMachine\my\E1E81C23B3AD33F9B4D1717B20AB65DBB91AC630 `
-FilePath c:\appgwcert.pfx `
-Password $pwd
Skapa ett virtuellt nätverk
Skapa ett virtuellt nätverk med ett dedikerat undernät för en programgateway för automatisk skalning. För närvarande kan endast en programgateway för automatisk skalning distribueras i varje dedikerat undernät.
#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
Skapa en reserverad offentlig IP-adress
Ange allokeringsmetoden publicIPAddress som statisk. En VIP för en autoskalande applikationsgateway kan endast vara statisk. Dynamiska IP-adresser stöds inte. Endast standard-SKU:n PublicIpAddress stöds.
#Create static public IP
$pip = New-AzPublicIpAddress -ResourceGroupName $rg -name "AppGwVIP" `
-location $location -AllocationMethod Static -Sku Standard -Zone 1,2,3
Hämta information
Hämta information om resursgruppen, undernätet och IP-adressen i ett lokalt objekt för att skapa IP-konfigurationsinformationen för programgatewayen.
$publicip = Get-AzPublicIpAddress -ResourceGroupName $rg -name "AppGwVIP"
$vnet = Get-AzvirtualNetwork -Name "AutoscaleVNet" -ResourceGroupName $rg
$gwSubnet = Get-AzVirtualNetworkSubnetConfig -Name "AppGwSubnet" -VirtualNetwork $vnet
Skapa webbappar
Konfigurera två webbappar för backend-poolen. Ersätt <site1-name> och <site2-name> med unika namn i domänen 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
Konfigurera infrastrukturen
Konfigurera IP-konfigurationen, frontend-IP-konfigurationen, backendpoolen, HTTP-inställningarna, certifikatet, porten, lyssnaren och regeln i samma format som den befintliga standardapplikationsgatewayen. Den nya SKU:n följer samma objektmodell som standard-SKU:n.
Ersätt dina två FQDN för webbappar (till exempel: mywebapp.azurewebsites.net) i $pool variabeldefinition.
$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
Ange automatiskt skalning
Nu kan du ange autoskalningskonfigurationen för programgatewayen.
$autoscaleConfig = New-AzApplicationGatewayAutoscaleConfiguration -MinCapacity 2
$sku = New-AzApplicationGatewaySku -Name Standard_v2 -Tier Standard_v2
I det här läget skalas programgatewayen automatiskt baserat på programmets trafikmönster.
Skapa programgatewayen
Skapa tillämpningsgatewayen och inkludera redundanszoner samt autoskalningskonfigurationen.
$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
Testa programgatewayen
Använd Get-AzPublicIPAddress för att hämta den offentliga IP-adressen för programgatewayen. Kopiera den offentliga IP-adressen eller DNS-namnet och klistra sedan in den i webbläsarens adressfält.
$pip = Get-AzPublicIPAddress -ResourceGroupName $rg -Name AppGwVIP
$pip.IpAddress
Rensa resurser
Utforska först de resurser som skapades med programgatewayen. När de inte längre behövs kan du sedan använda Remove-AzResourceGroup kommandot för att ta bort resursgruppen, programgatewayen och alla relaterade resurser.
Remove-AzResourceGroup -Name $rg