Kurz: Vytvoření aplikační brány, která zlepšuje přístup k webovým aplikacím
Pokud jste správce IT, který se zabývá vylepšením přístupu k webovým aplikacím, můžete službu Application Gateway optimalizovat tak, aby se škálovat na základě poptávky zákazníků a překládal do více zón dostupnosti. Tento kurz vám pomůže nakonfigurovat Azure Application Gateway funkce, které to dělají: automatické škálování, zónová redundance a rezervované virtuální IP adresy (statická IP adresa). K vyřešení problému použijete Azure PowerShell rutiny a model nasazení Azure Resource Manager.
V tomto kurzu se naučíte:
- Vytvoření certifikátu podepsaného svým držitelem (self-signed certificate)
- Vytvoření virtuální sítě s automatickým škálováním
- Vytvoření vyhrazené veřejné IP adresy
- Nastavení infrastruktury služby Application Gateway
- Určení automatického škálování
- Vytvoření služby Application Gateway
- Otestování aplikační brány
Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
Požadavky
Poznámka
K interakci s Azure doporučujeme použít modul Azure Az PowerShell. 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.
Tento kurz vyžaduje, abyste místně spustili relaci Azure PowerShell pro správu. Musíte mít nainstalovaný modul Azure PowerShell verze 1.0.0 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. Po ověření verze PowerShellu spusťte příkaz Connect-AzAccount
, abyste vytvořili připojení k Azure.
Přihlášení k Azure
Connect-AzAccount
Select-AzSubscription -Subscription "<sub name>"
Vytvoření skupiny prostředků
Vytvořte skupinu prostředků v jednom z dostupných umístění.
$location = "East US 2"
$rg = "AppGW-rg"
#Create a new Resource Group
New-AzResourceGroup -Name $rg -Location $location
Vytvoření certifikátu podepsaného svým držitelem (self-signed certificate)
V případě použití v produkčním prostředí byste měli importovat platný certifikát podepsaný důvěryhodným poskytovatelem. Pro účely tohoto kurzu vytvoříte certifikát podepsaný svým držitelem (self-signed certificate) pomocí rutiny New-SelfSignedCertificate. K exportu souboru pfx z certifikátu můžete použít rutinu Export-PfxCertificate s vráceným kryptografickým otiskem.
New-SelfSignedCertificate `
-certstorelocation cert:\localmachine\my `
-dnsname www.contoso.com
Měli byste získat podobný výsledek:
PSParentPath: Microsoft.PowerShell.Security\Certificate::LocalMachine\my
Thumbprint Subject
---------- -------
E1E81C23B3AD33F9B4D1717B20AB65DBB91AC630 CN=www.contoso.com
Pomocí kryptografického otisku vytvořte soubor pfx. Nahraďte <heslo> heslem podle vašeho výběru:
$pwd = ConvertTo-SecureString -String "<password>" -Force -AsPlainText
Export-PfxCertificate `
-cert cert:\localMachine\my\E1E81C23B3AD33F9B4D1717B20AB65DBB91AC630 `
-FilePath c:\appgwcert.pfx `
-Password $pwd
Vytvoření virtuální sítě
Vytvořte virtuální síť s jednou vyhrazenou podsítí pro službu Application Gateway s automatickým škálováním. Aktuálně je možné v každé vyhrazené podsíti nasadit jenom jednu automaticky škálovanou Application Gateway.
#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
Vytvoření vyhrazené veřejné IP adresy
Zadejte metodu přidělování PublicIPAddress jako Static. Virtuální IP adresa automaticky škálované Application Gateway může být jenom statická. Dynamické IP adresy nejsou podporované. Podporovaná je jenom standardní skladová položka PublicIpAddress.
#Create static public IP
$pip = New-AzPublicIpAddress -ResourceGroupName $rg -name "AppGwVIP" `
-location $location -AllocationMethod Static -Sku Standard -Zone 1,2,3
Načtení podrobností
Načtením podrobností o skupině prostředků, podsíti a IP adrese v místním objektu vytvoříte podrobnosti o konfiguraci IP adresy pro aplikační bránu.
$publicip = Get-AzPublicIpAddress -ResourceGroupName $rg -name "AppGwVIP"
$vnet = Get-AzvirtualNetwork -Name "AutoscaleVNet" -ResourceGroupName $rg
$gwSubnet = Get-AzVirtualNetworkSubnetConfig -Name "AppGwSubnet" -VirtualNetwork $vnet
Vytváření webových aplikací
Nakonfigurujte dvě webové aplikace pro back-endový fond. Nahraďte <site1-name> a <site-2-name> jedinečnými názvy v doméně 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
Konfigurace infrastruktury
Nakonfigurujte konfiguraci IP adres, konfiguraci ip adres front-endu, back-endový fond, nastavení HTTP, certifikát, port, naslouchací proces a pravidlo ve stejném formátu jako stávající aplikační brána standardu. Nová skladová položka se řídí stejným modelem objektu jako standardní skladová položka.
V definici $pool proměnné nahraďte dva plně kvalifikované názvy domén webové aplikace (například: mywebapp.azurewebsites.net
).
$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
$rule02 = New-AzApplicationGatewayRequestRoutingRule -Name "Rule2" -RuleType basic `
-BackendHttpSettings $setting -HttpListener $listener02 -BackendAddressPool $pool
Určení automatického škálování
Teď můžete zadat konfiguraci automatického škálování pro službu Application Gateway.
$autoscaleConfig = New-AzApplicationGatewayAutoscaleConfiguration -MinCapacity 2
$sku = New-AzApplicationGatewaySku -Name Standard_v2 -Tier Standard_v2
V tomto režimu provádí Application Gateway automatické škálování podle vzoru provozu aplikací.
Vytvoření služby Application Gateway
Vytvořte aplikační bránu a zahrňte zóny redundance a konfiguraci automatického škálování.
$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
Otestování aplikační brány
K získání veřejné IP adresy aplikační brány použijte Get-AzPublicIPAddress. Zkopírujte veřejnou IP adresu nebo název DNS a pak vložte do adresního řádku prohlížeče.
$pip = Get-AzPublicIPAddress -ResourceGroupName $rg -Name AppGwVIP
$pip.IpAddress
Vyčištění prostředků
Nejprve prozkoumejte prostředky vytvořené pomocí služby Application Gateway. Když už je nepotřebujete, můžete pomocí Remove-AzResourceGroup
příkazu odebrat skupinu prostředků, aplikační bránu a všechny související prostředky.
Remove-AzResourceGroup -Name $rg