Een aangepaste test voor Azure Application Gateway (klassiek) maken met behulp van PowerShell

In dit artikel voegt u een aangepaste test toe aan een bestaande toepassingsgateway met PowerShell. Aangepaste tests zijn handig voor toepassingen met een specifieke statuscontrolepagina of voor toepassingen die geen geslaagd antwoord geven op de standaardwebtoepassing.

Belangrijk

Azure heeft twee verschillende implementatiemodellen voor het maken en werken met resources: Resource Manager en Klassiek. In dit artikel wordt het gebruik van het klassieke implementatiemodel beschreven. U doet er verstandig aan voor de meeste nieuwe implementaties het Resource Manager-model te gebruiken. Lees meer informatie over het uitvoeren van deze stappen met het Resource Manager-model.

Voorwaarde: installeer de Azure PowerShell-module

Als u de stappen in dit artikel wilt uitvoeren, moet u de Azure PowerShell-module installeren en configureren. Voltooi alle instructies. Nadat de installatie is voltooid, meldt u zich aan bij Azure en selecteert u uw abonnement.

Notitie

U hebt een Azure-account nodig om deze stappen uit te voeren. Als u nog geen Azure-account hebt, kunt u zich registreren voor een gratis proefversie.

Een toepassingsgateway maken

Ga als volgt te werk om een toepassingsgateway te maken:

  1. Maak een toepassingsgatewayresource.
  2. Maak een XML-configuratiebestand of een configuratieobject.
  3. Voer de configuratie door voor de zojuist gemaakte toepassingsgatewayresource.

Een toepassingsgatewayresource maken met een aangepaste test

Gebruik de cmdlet New-AzureApplicationGateway en vervang de waarden door uw eigen waarden om een gateway te maken. Er worden op dat moment nog geen kosten in rekening gebracht voor gebruik van de gateway. De kosten zijn pas vanaf een latere stap van toepassing, wanneer de gateway wordt geopend.

In het volgende voorbeeld wordt een toepassingsgateway gemaakt met een virtueel netwerk met de naam testvnet1 en een subnet met de naam subnet-1.

New-AzureApplicationGateway -Name AppGwTest -VnetName testvnet1 -Subnets @("Subnet-1")

Gebruik de cmdlet Get-AzureApplicationGateway om te controleren of de gateway is gemaakt.

Get-AzureApplicationGateway AppGwTest

Notitie

De standaardwaarde voor InstanceCount is 2 en de maximale waarde is 10. De standaardwaarde voor GatewaySize is Medium. U kunt kiezen tussen Klein, Gemiddeld en Groot.

VirtualIPs en DnsName zijn leeg, omdat de gateway nog niet is geopend. Deze waarden worden gemaakt zodra de gateway actief is.

Een toepassingsgateway configureren met XML

In het volgende voorbeeld gebruikt u een XML-bestand om alle instellingen voor de toepassingsgateway te configureren en deze door te voeren voor de toepassingsgatewayresource.

Kopieer de volgende tekst naar Kladblok.

<ApplicationGatewayConfiguration xmlns:i="https://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/windowsazure">
<FrontendIPConfigurations>
    <FrontendIPConfiguration>
        <Name>fip1</Name>
        <Type>Private</Type>
    </FrontendIPConfiguration>
</FrontendIPConfigurations>
<FrontendPorts>
    <FrontendPort>
        <Name>port1</Name>
        <Port>80</Port>
    </FrontendPort>
</FrontendPorts>
<Probes>
    <Probe>
        <Name>Probe01</Name>
        <Protocol>Http</Protocol>
        <Host>contoso.com</Host>
        <Path>/path/custompath.htm</Path>
        <Interval>15</Interval>
        <Timeout>15</Timeout>
        <UnhealthyThreshold>5</UnhealthyThreshold>
    </Probe>
    </Probes>
    <BackendAddressPools>
    <BackendAddressPool>
        <Name>pool1</Name>
        <IPAddresses>
            <IPAddress>1.1.1.1</IPAddress>
            <IPAddress>2.2.2.2</IPAddress>
        </IPAddresses>
    </BackendAddressPool>
</BackendAddressPools>
<BackendHttpSettingsList>
    <BackendHttpSettings>
        <Name>setting1</Name>
        <Port>80</Port>
        <Protocol>Http</Protocol>
        <CookieBasedAffinity>Enabled</CookieBasedAffinity>
        <RequestTimeout>120</RequestTimeout>
        <Probe>Probe01</Probe>
    </BackendHttpSettings>
</BackendHttpSettingsList>
<HttpListeners>
    <HttpListener>
        <Name>listener1</Name>
        <FrontendIP>fip1</FrontendIP>
    <FrontendPort>port1</FrontendPort>
        <Protocol>Http</Protocol>
    </HttpListener>
</HttpListeners>
<HttpLoadBalancingRules>
    <HttpLoadBalancingRule>
        <Name>lbrule1</Name>
        <Type>basic</Type>
        <BackendHttpSettings>setting1</BackendHttpSettings>
        <Listener>listener1</Listener>
        <BackendAddressPool>pool1</BackendAddressPool>
    </HttpLoadBalancingRule>
</HttpLoadBalancingRules>
</ApplicationGatewayConfiguration>

Bewerk de waarden tussen de haakjes voor de configuratie-items. Sla het bestand op met de bestandsextensie .xml.

In het volgende voorbeeld ziet u hoe u een configuratiebestand gebruikt om de toepassingsgateway in te stellen voor de load balancer van HTTP-verkeer op openbare poort 80 en het verzenden van netwerkverkeer naar back-endpoort 80 tussen twee IP-adressen met behulp van een aangepaste test.

Belangrijk

Het protocolitem Http of Https is hoofdlettergevoelig.

Er wordt een nieuwe configuratie-itemtest <> toegevoegd om aangepaste tests te configureren.

De configuratieparameters zijn:

Parameter Beschrijving
Naam Referentienaam voor aangepaste test.
Protocol Protocol gebruikt (mogelijke waarden zijn HTTP of HTTPS).
Host en pad Voltooi het URL-pad dat wordt aangeroepen door de toepassingsgateway om de status van het exemplaar te bepalen. Als u bijvoorbeeld een website hebt http://contoso.com/, kan de aangepaste test worden geconfigureerd voor 'http://contoso.com/path/custompath.htm" voor testcontroles om een geslaagd HTTP-antwoord te hebben.
Interval Hiermee configureert u de controles van het testinterval in seconden.
Timeout Hiermee definieert u de time-out van de test voor een HTTP-antwoordcontrole.
UnhealthyThreshold Het aantal mislukte HTTP-antwoorden dat nodig is om het back-end-exemplaar als niet in orde te markeren.

In de configuratie <BackendHttpSettings> wordt verwezen naar de naam van de test om toe te wijzen welke back-endpool aangepaste testinstellingen gebruikt.

Een aangepaste test toevoegen aan een bestaande toepassingsgateway

Voor het wijzigen van de huidige configuratie van een toepassingsgateway zijn drie stappen vereist: Haal het huidige XML-configuratiebestand op, wijzig in een aangepaste test en configureer de toepassingsgateway met de nieuwe XML-instellingen.

  1. Haal het XML-bestand op met behulp van Get-AzureApplicationGatewayConfig. Met deze cmdlet exporteert u de configuratie-XML die moet worden gewijzigd om een testinstelling toe te voegen.

    Get-AzureApplicationGatewayConfig -Name "<application gateway name>" -Exporttofile "<path to file>"
    
  2. Open het XML-bestand in een teksteditor. Voeg een sectie <probe> toe na <frontendport>.

    <Probes>
     <Probe>
         <Name>Probe01</Name>
         <Protocol>Http</Protocol>
         <Host>contoso.com</Host>
         <Path>/path/custompath.htm</Path>
         <Interval>15</Interval>
         <Timeout>15</Timeout>
         <UnhealthyThreshold>5</UnhealthyThreshold>
     </Probe>
    </Probes>
    

    Voeg in de sectie backendHttpSettings van de XML de naam van de test toe, zoals wordt weergegeven in het volgende voorbeeld:

     <BackendHttpSettings>
         <Name>setting1</Name>
         <Port>80</Port>
         <Protocol>Http</Protocol>
         <CookieBasedAffinity>Enabled</CookieBasedAffinity>
         <RequestTimeout>120</RequestTimeout>
         <Probe>Probe01</Probe>
     </BackendHttpSettings>
    

    Sla het XML-bestand op.

  3. Werk de configuratie van de toepassingsgateway bij met het nieuwe XML-bestand met behulp van Set-AzureApplicationGatewayConfig. Met deze cmdlet wordt uw toepassingsgateway bijgewerkt met de nieuwe configuratie.

Set-AzureApplicationGatewayConfig -Name "<application gateway name>" -Configfile "<path to file>"

Volgende stappen

Zie Een toepassingsgateway configureren voor TLS-offload als u Transport Layer Security (TLS), voorheen bekend als Secure Sockets Layer-offload (SSL).

Als u een toepassingsgateway wilt configureren voor gebruik met een interne load balancer, raadpleegt u Create an application gateway with an internal load balancer (ILB) (Een toepassingsgateway met een interne load balancer (ILB) maken).