Zelfstudie: een toepassingsgateway maken die de toegang tot de webtoepassing verbetertTutorial: Create an application gateway that improves web application access

Als u als IT-beheerder betrokken bent bij het verbeteren van de toegang tot webtoepassingen, kunt u de toepassingsgateway zodanig optimaliseren dat de schaal ervan wordt aangepast aan de vraag van de klant en dat er meerdere beschikbaarheidszones worden bereikt.If you're an IT admin concerned with improving web application access, you can optimize your application gateway to scale based on customer demand and span multiple availability zones. In deze zelfstudie wordt uitgelegd hoe u Azure Application Gateway-functies kunt configureren voor automatisch schalen, zone-redundantie en gereserveerde VIP's (statische IP).This tutorial helps you configure Azure Application Gateway features that do that: autoscaling, zone redundancy, and reserved VIPs (static IP). U maakt gebruik van Azure PowerShell-cmdlets en het Azure Resource Manager-implementatiemodel om het probleem op te lossen.You'll use Azure PowerShell cmdlets and the Azure Resource Manager deployment model to solve the problem.

In deze zelfstudie leert u het volgende:In this tutorial, you learn how to:

  • Een zelfondertekend certificaat makenCreate a self-signed certificate
  • Een virtueel netwerk automatisch schalenCreate an autoscale virtual network
  • Een gereserveerd openbaar IP-adres makenCreate a reserved public IP
  • De infrastructuur van de toepassingsgateway instellenSet up your application gateway infrastructure
  • Automatisch schalen configurerenSpecify autoscale
  • De toepassingsgateway makenCreate the application gateway
  • De toepassingsgateway testenTest the application gateway

Als u nog geen abonnement op Azure hebt, maak dan een gratis account aan voordat u begint.If you don't have an Azure subscription, create a free account before you begin.

VereistenPrerequisites

Notitie

Dit artikel is bijgewerkt voor het gebruik van de nieuwe Azure PowerShell Az-module.This article has been updated to use the new Azure PowerShell Az module. De AzureRM-module kan nog worden gebruikt en krijgt bugoplossingen tot ten minste december 2020.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Zie voor meer informatie over de nieuwe Az-module en compatibiliteit met AzureRM Introductie van de nieuwe Az-module van Azure PowerShell.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Raadpleeg Azure PowerShell installeren voor instructies over de installatie van de Az-module.For Az module installation instructions, see Install Azure PowerShell.

Voor deze zelfstudie moet u Azure PowerShell lokaal uitvoeren.This tutorial requires that you run Azure PowerShell locally. U moet Azure PowerShell-moduleversie 1.0.0 of hoger is geïnstalleerd.You must have Azure PowerShell module version 1.0.0 or later installed. Voer Get-Module -ListAvailable Az uit om de versie te bekijken.Run Get-Module -ListAvailable Az to find the version. Als u PowerShell wilt upgraden, raadpleegt u De Azure PowerShell-module installeren.If you need to upgrade, see Install Azure PowerShell module. Nadat u de versie van PowerShell hebt gecontroleerd, voert u Connect-AzAccount uit om een verbinding op te zetten met Azure.After you verify the PowerShell version, run Connect-AzAccount to create a connection with Azure.

Aanmelden bij AzureSign in to Azure

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

Een resourcegroep makenCreate a resource group

Maak een resourcegroep op een van de beschikbare locaties.Create a resource group in one of the available locations.

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

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

Een zelfondertekend certificaat makenCreate a self-signed certificate

Voor gebruik in de productie, moet u een geldig certificaat importeren dat is ondertekend door een vertrouwde provider.For production use, you should import a valid certificate signed by trusted provider. Voor deze zelfstudie maakt u een zelfondertekend certificaat met behulp van New-SelfSignedCertificate.For this tutorial, you create a self-signed certificate using New-SelfSignedCertificate. U kunt Export-PfxCertificate gebruiken met de Thumbprint die is geretourneerd om een ​​PFX-bestand uit het certificaat te exporteren.You can use Export-PfxCertificate with the Thumbprint that was returned to export a pfx file from the certificate.

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

U zou iets moeten zien dat lijkt op dit resultaat:You should see something like this result:

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

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

Gebruik de vingerafdruk om het PFX-bestand te maken:Use the thumbprint to create the pfx file:

$pwd = ConvertTo-SecureString -String "Azure123456!" -Force -AsPlainText

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

Een virtueel netwerk makenCreate a virtual network

Maak een virtueel netwerk met één speciaal subnet voor een toepassingsgateway met automatisch schalen.Create a virtual network with one dedicated subnet for an autoscaling application gateway. Op dit moment kan er in elk gereserveerd subnet maar één toepassingsgateway met automatisch schalen worden geïmplementeerd.Currently only one autoscaling application gateway can be deployed in each dedicated subnet.

#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

Een gereserveerd openbaar IP-adres makenCreate a reserved public IP

Stel de toewijzingsmethode van PublicIPAddress in op Statisch.Specify the allocation method of PublicIPAddress as Static. De VIP van een toepassingsgateway met automatisch schalen kan alleen statisch zijn.An autoscaling application gateway VIP can only be static. Dynamische VIP's worden niet ondersteund.Dynamic IPs are not supported. Alleen PublicIpAddress uit de standaard-SKU wordt ondersteund.Only the standard PublicIpAddress SKU is supported.

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

Gegevens ophalenRetrieve details

Haal gegevens op van de resourcegroep, het subnet en een IP in een lokaal object om de IP-configuratiegegevens van de toepassingsgateway te maken.Retrieve details of the resource group, subnet, and IP in a local object to create the IP configuration details for the application gateway.

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

Infrastructuur configurerenConfigure the infrastructure

Configureer de waarden voor IP-configuratie, front-end-IP-configuratie, back-endpool, HTTP-instellingen, certificaat, poort, listener en regel met exact dezelfde indeling als de bestaande standaardtoepassingsgateway.Configure the IP config, front-end IP config, back-end pool, HTTP settings, certificate, port, listener, and rule in an identical format to the existing Standard application gateway. De nieuwe SKU volgt hetzelfde objectmodel als de standaard-SKU.The new SKU follows the same object model as the Standard SKU.

$ipconfig = New-AzApplicationGatewayIPConfiguration -Name "IPConfig" -Subnet $gwSubnet
$fip = New-AzApplicationGatewayFrontendIPConfig -Name "FrontendIPCOnfig" -PublicIPAddress $publicip
$pool = New-AzApplicationGatewayBackendAddressPool -Name "Pool1" `
       -BackendIPAddresses testbackend1.westus.cloudapp.azure.com, testbackend2.westus.cloudapp.azure.com
$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
$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

Automatisch schalen configurerenSpecify autoscale

U kunt nu de configuratie voor automatisch schalen opgeven voor de toepassingsgateway.Now you can specify the autoscale configuration for the application gateway. Er worden twee configuratietypen voor automatisch schalen ondersteund:Two autoscaling configuration types are supported:

  • Modus voor vaste capaciteit.Fixed capacity mode. In deze modus wordt er geen automatisch schalen uitgevoerd voor de toepassingsgateway en werkt deze met een vaste schaaleenheid-capaciteit.In this mode, the application gateway does not autoscale and operates at a fixed Scale Unit capacity.

    $sku = New-AzApplicationGatewaySku -Name Standard_v2 -Tier Standard_v2 -Capacity 2
    
  • Modus voor automatisch schalen.Autoscaling mode. In deze modus wordt de schaal van de toepassingsgateway automatisch aangepast op basis van het patroon van het toepassingsverkeer.In this mode, the application gateway autoscales based on the application traffic pattern.

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

De toepassingsgateway makenCreate the application gateway

Maak de toepassingsgateway en neem redundantie-zones en de configuratie voor automatisch schalen op.Create the application gateway and include redundancy zones and the autoscale configuration.

$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

De toepassingsgateway testenTest the application gateway

Gebruik Get-AzPublicIPAddress om het openbare IP-adres van de toepassingsgateway.Use Get-AzPublicIPAddress to get the public IP address of the application gateway. Kopieer het openbare IP-adres of de DNS-naam en plak het adres of de naam in de adresbalk van de browser.Copy the public IP address or DNS name, and then paste it into the address bar of your browser.

Get-AzPublicIPAddress -ResourceGroupName $rg -Name AppGwVIP

Resources opschonenClean up resources

Verken eerst de resources die samen met de toepassingsgateway zijn gemaakt.First explore the resources that were created with the application gateway. U kunt de resourcegroep, de toepassingsgateway en alle gerelateerde resources verwijderen met de opdracht Remove-AzResourceGroup als u deze niet meer nodig hebt.Then, when they're no longer needed, you can use the Remove-AzResourceGroup command to remove the resource group, application gateway, and all related resources.

Remove-AzResourceGroup -Name $rg

Volgende stappenNext steps