Skapa en anpassad probe för Azure Application Gateway (classic) genom att använda PowerShell

I den här artikeln lägger du till en anpassad prob till en befintlig applikationsgateway med PowerShell. Anpassade prober är användbara för applikationer som har en specifik hälsokontrollsida eller för applikationer som inte ger ett framgångsrikt svar på standardwebbapplikationen.

Important

Azure har två olika distributionsmodeller för att skapa och arbeta med resurser: Resource Manager och Classic. Den här artikeln handlar om användningen av Classic-distributionsmodellen. Microsoft rekommenderar att de flesta nya implementationer använder Resource Manager-modellen. Lär dig hur du utför dessa steg med Resource Manager-modellen.

Prespec: Install the Azure PowerShell module

För att utföra stegen i denna artikel behöver du installera och konfigurera Azure PowerShell-modulen. Se till att fylla i alla instruktioner. När installationen är klar, logga in på Azure och välj din prenumeration.

Note

Du behöver ett Azure-konto för att slutföra dessa steg. Om du inte har ett Azure-konto kan du skapa ett kostnadsfritt.

Skapa en applikationsgateway

För att skapa en applikationsgateway:

  1. Skapa en applikationsgateway-resurs.
  2. Skapa en konfigurations-XML-fil eller ett konfigurationsobjekt.
  3. Commita konfigurationen till den nyskapade applikationsgateway-resursen.

Skapa en applikationsgateway-resurs med en anpassad prob

För att skapa gatewayen, använd cmdleten New-AzureApplicationGateway och ersätt värdena med dina egna. Faktureringen för gatewayen börjar inte vid det här laget. Faktureringen börjar i ett senare steg, när gatewayen har startats framgångsrikt.

Följande exempel skapar en applikationsgateway genom att använda ett virtuellt nätverk kallat "testvnet1" och ett subnät kallat "subnet-1".

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

För att verifiera att gatewayen skapades kan du använda Get-AzureApplicationGateway cmdlet.

Get-AzureApplicationGateway AppGwTest

Note

Standardvärdet för InstanceCount är 2, med ett maxvärde på 10. Standardvärdet för GatewaySize är Medium. Du kan välja mellan Liten, Medelstor och Stor.

VirtualIPs och DnsName visas som tomma eftersom gatewayen ännu inte har startat. Dessa värden skapas när gatewayen är i drifttillstånd.

Konfigurera en applikationsgateway med XML

I följande exempel använder du en XML-fil för att konfigurera alla applikationsgatewayinställningar och committa dem till applikationsgatewayresursen.

Kopiera följande text till Anteckningar.

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

Redigera värdena mellan parenteserna för konfigurationsobjekten. Spara filen med filändelsen .xml.

Följande exempel visar hur man använder en konfigurationsfil för att ställa in applikationsgatewayen för att lastbalansera HTTP-trafik på publik port 80 och skicka nätverkstrafik till backendport 80 mellan två IP-adresser med hjälp av en specialanpassad prob.

Important

Protokollobjektet Http eller Https är kasuskänsligt.

En ny konfigurationsprobe <> läggs till för att konfigurera anpassade prober.

Konfigurationsparametrarna är:

Parameter Description
Name Referensnamn för specialprobe.
Protocol Protokoll som används (möjliga värden är HTTP eller HTTPS).
Värd och väg Fullständig URL-sökväg som anropas av applikationsgatewayen för att avgöra instansens hälsa. Till exempel, om du har en webbplats http://contoso.com/, kan den anpassade proben konfigureras för "http://contoso.com/path/custompath.htm" för att probe-kontroller ska ge ett lyckat HTTP-svar.
Interval Konfigurerar probeintervallkontrollen på sekunder.
Timeout Definierar probe-timeout för en HTTP-responskontroll.
UnhealthyThreshold Antalet misslyckade HTTP-svar som krävs för att flagga backend-instansen som ohälsosam.

Probenamnet refereras i BackendHttpSettings-konfigurationen <> för att tilldela vilken backend-pool som använder anpassade probe-inställningar.

Lägg till en anpassad prob på en befintlig applikationsgateway

Att ändra den aktuella konfigurationen av en applikationsgateway kräver tre steg: Hämta den aktuella XML-konfigurationsfilen, ändra för att ha en anpassad prob och konfigurera applikationsgatewayen med de nya XML-inställningarna.

  1. Hämta XML-filen genom att använda Get-AzureApplicationGatewayConfig. Denna cmdlet exporterar konfigurations-XML som ska modifieras för att lägga till en prob-inställning.

    Get-AzureApplicationGatewayConfig -Name "<application gateway name>" -Exporttofile "<path to file>"
    
  2. Öppna XML-filen i en textredigerare. Lägg till en <probe> sektion efter <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>
    

    I backendHttpSettings-sektionen i XML:n, lägg till probens namn som visas i följande exempel:

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

    Spara XML-filen.

  3. Uppdatera applikationsgateway-konfigurationen med den nya XML-filen genom att använda Set-AzureApplicationGatewayConfig. Denna cmdlet uppdaterar din applikationsgateway med den nya konfigurationen.

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

Nästa steg

Om du vill konfigurera Transport Layer Security (TLS), tidigare känt som Secure Sockets Layer (SSL) offload, se Konfigurera en applikationsgateway för TLS-avlastning.

Om du vill konfigurera en applikationsgateway för att använda med en intern lastbalanserare, se Skapa en applikationsgateway med en intern lastbalanserare (ILB).