Oktatóanyag: Alkalmazásátjáró létrehozása, amely javítja a webalkalmazások hozzáférését

Ha Ön informatikai rendszergazda, aki a webalkalmazások hozzáférését szeretné javítani, optimalizálhatja az application gatewayt úgy, hogy dinamikusan skálázható legyen az ügyféligények alapján, és több rendelkezésre állási zónára is kiterjedjen. Ez az oktatóanyag segít konfigurálni az Azure Application Gateway v2 legfontosabb funkcióit, például az automatikus skálázást, a zónaredundanciát és a statikus VIP-ket a fejlesztések eléréséhez. A probléma megoldásához az Azure PowerShell-parancsmagokat és az Azure Resource Manager-alapú üzemi modellt fogja használni.

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

  • Önaláírt tanúsítvány létrehozása
  • Automatikus skálázású virtuális hálózat létrehozása
  • Fenntartott nyilvános IP-cím létrehozása
  • Az Application Gateway-infrastruktúra beállítása
  • Automatikus skálázás megadása
  • Application Gateway létrehozása
  • Az Application Gateway tesztelése

Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.

Az Application Gateway v2 rendelkezésre állási zónájának támogatásáról további információt az Application Gateway v2 megbízhatósága című témakörben talál.

Előfeltételek

Megjegyzés

Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Az első lépésekhez tekintse meg Az Azure PowerShell telepítése témakört. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.

Ez az oktatóanyag megköveteli, hogy helyileg futtasson egy felügyeleti Azure PowerShell-munkamenetet. Az Azure PowerShell-modul 1.0.0-s vagy újabb verziójával kell rendelkeznie. A verzió azonosításához 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. A PowerShell-verzió ellenőrzése után futtassa az Connect-AzAccount parancsot az Azure-hoz való kapcsolódáshoz.

Bejelentkezés az Azure-ba

Connect-AzAccount
Select-AzSubscription -Subscription "<sub name>"

Erőforráscsoport létrehozása

Hozzon létre egy erőforráscsoportot az egyik elérhető helyen.

$location = "East US 2"
$rg = "AppGW-rg"

#Create a new Resource Group
New-AzResourceGroup -Name $rg -Location $location

Önaláírt tanúsítvány létrehozása

Éles használathoz érvényes tanúsítványt kell importálnia, amelyet egy megbízható szolgáltató írt alá. Ebben az oktatóanyagban önaláírt tanúsítványt hoz létre a New-SelfSignedCertificate használatával. Az Export-PfxCertificate parancsmagot a visszaadott ujjlenyomattal futtatva egy PFX-fájlt exportálhat a tanúsítványból.

New-SelfSignedCertificate `
  -certstorelocation cert:\localmachine\my `
  -dnsname www.contoso.com

Ennek nagyjából a következőképpen kell kinéznie:

PSParentPath: Microsoft.PowerShell.Security\Certificate::LocalMachine\my

Thumbprint                                Subject
----------                                -------
E1E81C23B3AD33F9B4D1717B20AB65DBB91AC630  CN=www.contoso.com

Használja az ujjlenyomatot a pfx-fájl létrehozásához. Cserélje le <a jelszót> egy tetszőleges jelszóra:

$pwd = ConvertTo-SecureString -String "<password>" -Force -AsPlainText

Export-PfxCertificate `
  -cert cert:\localMachine\my\E1E81C23B3AD33F9B4D1717B20AB65DBB91AC630 `
  -FilePath c:\appgwcert.pfx `
  -Password $pwd

Virtuális hálózat létrehozása

Hozzon létre egy virtuális hálózatot egy dedikált alhálózattal egy automatikus skálázási alkalmazásátjáróhoz. Jelenleg csak egy automatikus skálázási alkalmazásátjáró helyezhető üzembe minden dedikált alhálózaton.

#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

Fenntartott nyilvános IP-cím létrehozása

Adja meg a PublicIPAddress kiosztási módszerét statikusként. Az automatikusan skálázódó alkalmazásátjáró VIP-címe csak statikus lehet. A dinamikus IP-címek nem támogatottak. Csak a standard PublicIpAddress termékváltozat támogatott.

#Create static public IP
$pip = New-AzPublicIpAddress -ResourceGroupName $rg -name "AppGwVIP" `
       -location $location -AllocationMethod Static -Sku Standard -Zone 1,2,3

Részletek lekérése

Kérje le az erőforráscsoport, az alhálózat és az IP-cím részleteit egy helyi objektumban az application gateway IP-konfigurációs adatainak létrehozásához.

$publicip = Get-AzPublicIpAddress -ResourceGroupName $rg -name "AppGwVIP"
$vnet = Get-AzvirtualNetwork -Name "AutoscaleVNet" -ResourceGroupName $rg
$gwSubnet = Get-AzVirtualNetworkSubnetConfig -Name "AppGwSubnet" -VirtualNetwork $vnet

Webalkalmazások létrehozása

Konfiguráljon két webalkalmazást a háttérkészlethez. Cserélje le <site1-name> és <site2-name> egyedi nevekre a azurewebsites.net tartományban.

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

Az infrastruktúra konfigurálása

Konfigurálja az IP-konfigurációt, az előtérbeli IP-konfigurációt, a háttérkészletet, a HTTP-beállításokat, a tanúsítványt, a portot, a figyelőt és a szabályt a meglévő standard alkalmazásátjáróval azonos formátumban. Az új termékváltozat ugyanazt az objektummodellt követi, mint a Standard termékváltozat.

Cserélje le a(z) két webalkalmazás teljes tartománynevét (például: mywebapp.azurewebsites.net) a $pool változó definíciójában.

$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

Automatikus skálázás megadása

Most már megadhatja az application gateway automatikus skálázási konfigurációját.

$autoscaleConfig = New-AzApplicationGatewayAutoscaleConfiguration -MinCapacity 2
$sku = New-AzApplicationGatewaySku -Name Standard_v2 -Tier Standard_v2

Ebben a módban az Application Gateway automatikusan skáláz az alkalmazás forgalmi mintája alapján.

Application Gateway létrehozása

Hozza létre az Application Gatewayt, és tartalmazza a redundanciazónákat és az automatikus skálázási konfigurációt.

$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

Az Application Gateway tesztelése

Az application gateway nyilvános IP-címének lekéréséhez használja a Get-AzPublicIPAddress. Másolja ki a nyilvános IP-címet vagy a DNS-nevet, majd illessze be a böngésző címsorába.

$pip = Get-AzPublicIPAddress -ResourceGroupName $rg -Name AppGwVIP
$pip.IpAddress

Erőforrások tisztítása

Először ismerkedjen meg az Application Gatewayrel létrehozott erőforrásokkal. Ezután, ha már nincs rájuk szükség, a Remove-AzResourceGroup paranccsal eltávolíthatja az erőforráscsoportot, az Application Gatewayt és az összes kapcsolódó erőforrást.

Remove-AzResourceGroup -Name $rg

Következő lépések