Quickstart: Webverkeer omleiden met Azure-toepassing Gateway met behulp van Azure PowerShell
In deze quickstart gebruikt u Azure PowerShell om een toepassingsgateway te maken. Vervolgens test u de toepassing om te controleren of alles correct werkt.
De toepassingsgateway stuurt webverkeer van toepassingen naar specifieke resources in een back-endpool. U wijst listeners toe aan poorten, maakt regels en voegt resources toe aan een back-endpool. Ter vereenvoudiging gebruikt dit artikel een eenvoudige installatie met een openbaar front-end-IP-adres, een basislistener voor het hosten van één site op de toepassingsgateway, een eenvoudige regel voor aanvraagroutering en twee virtuele machines in de back-endpool.
U kunt deze quickstart ook uitvoeren met Azure CLI of Azure Portal.
Notitie
Application Gateway-front-end ondersteunt nu IP-adressen met dubbele stack (preview). U kunt nu maximaal vier front-end-IP-adressen maken: twee IPv4-adressen (openbaar en privé) en twee IPv6-adressen (openbaar en privé).
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- Azure PowerShell versie 1.0.0 of hoger (als u Azure PowerShell lokaal uitvoert).
Azure Cloud Shell
Azure host Azure Cloud Shell, een interactieve shell-omgeving die u via uw browser kunt gebruiken. U kunt Bash of PowerShell gebruiken met Cloud Shell om met Azure-services te werken. U kunt de vooraf geïnstalleerde Cloud Shell-opdrachten gebruiken om de code in dit artikel uit te voeren zonder dat u iets hoeft te installeren in uw lokale omgeving.
Om Azure Cloud Shell op te starten:
Optie | Voorbeeld/koppeling |
---|---|
Selecteer Uitproberen in de rechterbovenhoek van een code- of opdrachtblok. Als u Try It selecteert, wordt de code of opdracht niet automatisch gekopieerd naar Cloud Shell. | |
Ga naar https://shell.azure.com, of selecteer de knop Cloud Shell starten om Cloud Shell in uw browser te openen. | |
Klik op de knop Cloud Shell in het menu in de balk rechtsboven in de Azure-portal. |
Azure Cloud Shell gebruiken:
Start Cloud Shell.
Selecteer de knop Kopiëren op een codeblok (of opdrachtblok) om de code of opdracht te kopiëren.
Plak de code of opdracht in de Cloud Shell-sessie door Ctrl+Shift+V in Windows en Linux te selecteren of door Cmd+Shift+V te selecteren in macOS.
Selecteer Enter om de code of opdracht uit te voeren.
Notitie
Het wordt aanbevolen de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.
Verbinding maken met Azure
Voer Connect-AzAccount
uit om verbinding te maken met Azure.
Een brongroep maken
In Azure kunt u verwante resources toewijzen aan een resourcegroep. U kunt een bestaande resourcegroep gebruiken of een nieuwe maken.
Gebruikt de New-AzResourceGroup
-cmdlet om een nieuwe resourcegroep te maken:
New-AzResourceGroup -Name myResourceGroupAG -Location eastus
Netwerkbronnen maken
Er is een virtueel netwerk nodig voor communicatie tussen de resources die u maakt. Het subnet van de toepassingsgateway kan alleen bestaan uit toepassingsgateways. Andere resources zijn niet toegestaan. U kunt een nieuw subnet maken voor Application Gateway of een bestaand subnet gebruiken. In dit voorbeeld maakt u twee subnetten: één voor de toepassingsgateway en één voor de back-endservers. Afhankelijk van uw toepassing kunt u het IP-adres voor de front-end van de toepassingsgateway als openbaar of privé configureren. In dit voorbeeld kiest u voor een openbaar IP-adres voor de front-end.
- Maak de subnetconfiguraties met behulp van
New-AzVirtualNetworkSubnetConfig
. - Maak het virtuele netwerk met de subnetconfiguraties met behulp van
New-AzVirtualNetwork
. - Maak het openbare IP-adres met behulp van
New-AzPublicIpAddress
.
Notitie
Het beleid voor eindpunten van virtuele netwerken wordt momenteel niet ondersteund in een Application Gateway-subnet.
$agSubnetConfig = New-AzVirtualNetworkSubnetConfig `
-Name myAGSubnet `
-AddressPrefix 10.21.0.0/24
$backendSubnetConfig = New-AzVirtualNetworkSubnetConfig `
-Name myBackendSubnet `
-AddressPrefix 10.21.1.0/24
New-AzVirtualNetwork `
-ResourceGroupName myResourceGroupAG `
-Location eastus `
-Name myVNet `
-AddressPrefix 10.21.0.0/16 `
-Subnet $agSubnetConfig, $backendSubnetConfig
New-AzPublicIpAddress `
-ResourceGroupName myResourceGroupAG `
-Location eastus `
-Name myAGPublicIPAddress `
-AllocationMethod Static `
-Sku Standard
Een toepassingsgateway maken
De Standard v2-SKU wordt in dit voorbeeld gebruikt.
IP-configuraties en front-endpoort maken
- Gebruik
New-AzApplicationGatewayIPConfiguration
om de configuratie te maken waarmee het subnet aan de toepassingsgateway wordt gekoppeld. - Gebruik
New-AzApplicationGatewayFrontendIPConfig
om de configuratie te maken waarmee het openbare IP-adres dat u eerder hebt gemaakt voor de toepassingsgateway. - Gebruik
New-AzApplicationGatewayFrontendPort
om poort 80 toe te wijzen voor toegang tot de toepassingsgateway.
$vnet = Get-AzVirtualNetwork -ResourceGroupName myResourceGroupAG -Name myVNet
$subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $vnet -Name myAGSubnet
$pip = Get-AzPublicIPAddress -ResourceGroupName myResourceGroupAG -Name myAGPublicIPAddress
$gipconfig = New-AzApplicationGatewayIPConfiguration `
-Name myAGIPConfig `
-Subnet $subnet
$fipconfig = New-AzApplicationGatewayFrontendIPConfig `
-Name myAGFrontendIPConfig `
-PublicIPAddress $pip
$frontendport = New-AzApplicationGatewayFrontendPort `
-Name myFrontendPort `
-Port 80
Notitie
Application Gateway-front-end ondersteunt nu DUBBELE IP-adressen (openbare preview). U kunt nu maximaal vier front-end-IP-adressen maken: twee IPv4-adressen (openbaar en privé) en twee IPv6-adressen (openbaar en privé).
Back-endpool maken
- Gebruik
New-AzApplicationGatewayBackendAddressPool
om de back-endpool voor de toepassingsgateway te maken. De back-endpool is momenteel leeg. Wanneer u de netwerkinterfaces voor de back-endserver maakt in de volgende sectie, voegt u deze toe aan de back-endpool. - Configureer de instellingen voor de back-endpool met
New-AzApplicationGatewayBackendHttpSetting
.
$backendPool = New-AzApplicationGatewayBackendAddressPool `
-Name myAGBackendPool
$poolSettings = New-AzApplicationGatewayBackendHttpSetting `
-Name myPoolSettings `
-Port 80 `
-Protocol Http `
-CookieBasedAffinity Enabled `
-RequestTimeout 30
Listener maken en regel toevoegen
Als u de toepassingsgateway wilt inschakelen om het verkeer op de juiste manier naar de back-endpool te routeren, is in Azure een listener vereist. In Azure is ook een regel vereist, zodat de listener weet welke back-endpool moet worden gebruikt voor binnenkomend verkeer.
- Maak een listener met behulp van
New-AzApplicationGatewayHttpListener
met de front-endconfiguratie en de front-endpoort die u eerder hebt gemaakt. - Gebruik
New-AzApplicationGatewayRequestRoutingRule
om een regel met de naam rule1 te maken.
$defaultlistener = New-AzApplicationGatewayHttpListener `
-Name myAGListener `
-Protocol Http `
-FrontendIPConfiguration $fipconfig `
-FrontendPort $frontendport
$frontendRule = New-AzApplicationGatewayRequestRoutingRule `
-Name rule1 `
-RuleType Basic `
-Priority 100 `
-HttpListener $defaultlistener `
-BackendAddressPool $backendPool `
-BackendHttpSettings $poolSettings
De toepassingsgateway maken
Nu u de benodigde ondersteunende resources hebt gemaakt, kunt u de toepassingsgateway maken:
- Gebruik
New-AzApplicationGatewaySku
om parameters voor de toepassingsgateway op te geven. - Gebruik
New-AzApplicationGateway
om de toepassingsgateway te maken.
$sku = New-AzApplicationGatewaySku `
-Name Standard_v2 `
-Tier Standard_v2 `
-Capacity 2
New-AzApplicationGateway `
-Name myAppGateway `
-ResourceGroupName myResourceGroupAG `
-Location eastus `
-BackendAddressPools $backendPool `
-BackendHttpSettingsCollection $poolSettings `
-FrontendIpConfigurations $fipconfig `
-GatewayIpConfigurations $gipconfig `
-FrontendPorts $frontendport `
-HttpListeners $defaultlistener `
-RequestRoutingRules $frontendRule `
-Sku $sku
Tip
U kunt waarden van de Name
en Tier
parameters wijzigen om een andere SKU te gebruiken. Voorbeeld: Basic
.
Back-endservers
Nadat u de toepassingsgateway hebt gemaakt, maakt u de virtuele machines voor de back-end die de websites zullen hosten. Een back-end kan bestaan uit NIC's, virtuele-machineschaalsets, openbaar IP-adres, intern IP-adres, volledig gekwalificeerde domeinnamen (FQDN) en back-ends met meerdere tenants, zoals Azure-app Service.
In dit voorbeeld maakt u twee virtuele machines die worden gebruikt als back-endservers voor de toepassingsgateway. U installeert ook IIS op de virtuele machines om te controleren of de toepassingsgateway in Azure is gemaakt.
Twee virtuele machines maken
- Haal de recent gemaakte configuratie voor de toepassingsgatewayback-endpool op met
Get-AzApplicationGatewayBackendAddressPool
. - Maak een nieuwe netwerkinterface met
New-AzNetworkInterface
. - Maak een VM-configuratie met
New-AzVMConfig
. - Maak de virtuele machine met
New-AzVM
.
Wanneer u het volgende codevoorbeeld uitvoert om de virtuele machines te maken, wordt u gevraagd om referenties. Voer een gebruikersnaam en wachtwoord in:
$appgw = Get-AzApplicationGateway -ResourceGroupName myResourceGroupAG -Name myAppGateway
$backendPool = Get-AzApplicationGatewayBackendAddressPool -Name myAGBackendPool -ApplicationGateway $appgw
$vnet = Get-AzVirtualNetwork -ResourceGroupName myResourceGroupAG -Name myVNet
$subnet = Get-AzVirtualNetworkSubnetConfig -VirtualNetwork $vnet -Name myBackendSubnet
$cred = Get-Credential
for ($i=1; $i -le 2; $i++)
{
$nic = New-AzNetworkInterface `
-Name myNic$i `
-ResourceGroupName myResourceGroupAG `
-Location EastUS `
-Subnet $subnet `
-ApplicationGatewayBackendAddressPool $backendpool
$vm = New-AzVMConfig `
-VMName myVM$i `
-VMSize Standard_DS2_v2
Set-AzVMOperatingSystem `
-VM $vm `
-Windows `
-ComputerName myVM$i `
-Credential $cred
Set-AzVMSourceImage `
-VM $vm `
-PublisherName MicrosoftWindowsServer `
-Offer WindowsServer `
-Skus 2016-Datacenter `
-Version latest
Add-AzVMNetworkInterface `
-VM $vm `
-Id $nic.Id
Set-AzVMBootDiagnostic `
-VM $vm `
-Disable
New-AzVM -ResourceGroupName myResourceGroupAG -Location EastUS -VM $vm
Set-AzVMExtension `
-ResourceGroupName myResourceGroupAG `
-ExtensionName IIS `
-VMName myVM$i `
-Publisher Microsoft.Compute `
-ExtensionType CustomScriptExtension `
-TypeHandlerVersion 1.4 `
-SettingString '{"commandToExecute":"powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path \"C:\\inetpub\\wwwroot\\Default.htm\" -Value $($env:computername)"}' `
-Location EastUS
}
De toepassingsgateway testen
Het is niet nodig IIS te installeren om de toepassingsgateway te maken, maar u hebt het in deze snelstartgids geïnstalleerd om te controleren of het maken van de toepassingsgateway in Azure is geslaagd.
Gebruik IIS om de toepassingsgateway te testen:
- Voer
Get-AzPublicIPAddress
uit om het openbare IP-adres van de toepassingsgateway op te halen. - Kopieer het openbare IP-adres en plak het in de adresbalk van de browser. Als u de browser vernieuwt, ziet u de naam van de virtuele machine. Een geldig antwoord verifieert dat de toepassingsgateway is gemaakt en verbinding kan maken met de back-end.
Get-AzPublicIPAddress -ResourceGroupName myResourceGroupAG -Name myAGPublicIPAddress
Resources opschonen
Wanneer u de bij de toepassingsgateway gemaakte resources niet meer nodig hebt, verwijdert u de resourcegroep. Wanneer u de resourcegroep verwijdert, verwijdert u ook de toepassingsgateway en alle resources die hieraan zijn gerelateerd.
Als u de resourcegroep wilt verwijderen, roept u de cmdlet Remove-AzResourceGroup
aan:
Remove-AzResourceGroup -Name myResourceGroupAG
Volgende stappen
Manage web traffic with an application gateway using Azure PowerShell (Webverkeer met een toepassingsgateway beheren met behulp van Azure PowerShell)