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.

application gateway resources

U kunt deze quickstart ook uitvoeren met Azure CLI of Azure Portal.

Vereisten

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. Screenshot that shows an example of Try It for Azure Cloud Shell.
Ga naar https://shell.azure.com, of selecteer de knop Cloud Shell starten om Cloud Shell in uw browser te openen. Button to launch Azure Cloud Shell.
Klik op de knop Cloud Shell in het menu in de balk rechtsboven in de Azure-portal. Screenshot that shows the Cloud Shell button in the Azure portal

Azure Cloud Shell gebruiken:

  1. Start Cloud Shell.

  2. Selecteer de knop Kopiëren op een codeblok (of opdrachtblok) om de code of opdracht te kopiëren.

  3. 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.

  4. 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.

  1. Maak de subnetconfiguraties met behulp van New-AzVirtualNetworkSubnetConfig.
  2. Maak het virtuele netwerk met de subnetconfiguraties met behulp van New-AzVirtualNetwork.
  3. 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

IP-configuraties en front-endpoort maken

  1. Gebruik New-AzApplicationGatewayIPConfiguration om de configuratie te maken waarmee het subnet aan de toepassingsgateway wordt gekoppeld.
  2. Gebruik New-AzApplicationGatewayFrontendIPConfig om de configuratie te maken waarmee het openbare IP-adres dat u eerder hebt gemaakt voor de toepassingsgateway.
  3. 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

  1. 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.
  2. 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.

  1. Maak een listener met behulp van New-AzApplicationGatewayHttpListener met de front-endconfiguratie en de front-endpoort die u eerder hebt gemaakt.
  2. 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:

  1. Gebruik New-AzApplicationGatewaySku om parameters voor de toepassingsgateway op te geven.
  2. 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

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

  1. Haal de recent gemaakte configuratie voor de toepassingsgatewayback-endpool op met Get-AzApplicationGatewayBackendAddressPool.
  2. Maak een nieuwe netwerkinterface met New-AzNetworkInterface.
  3. Maak een VM-configuratie met New-AzVMConfig.
  4. 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:

  1. Voer Get-AzPublicIPAddress uit om het openbare IP-adres van de toepassingsgateway op te halen.
  2. 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

Test application gateway

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)