Erstellen eines benutzerdefinierten Tests für ein Azure Application Gateway (klassisch) mithilfe von PowerShell

In diesem Artikel fügen Sie einen benutzerdefinierten Test zu einem vorhandenen Anwendungsgateway mit PowerShell hinzu. Benutzerdefinierte Tests sind für Anwendungen, die über eine bestimmte Seite für die Integritätsprüfung verfügen, oder für Anwendungen hilfreich, die keine erfolgreiche Antwort für die Standardwebanwendung bereitstellen.

Wichtig

Azure verfügt über zwei verschiedene Bereitstellungsmodelle für das Erstellen und Verwenden von Ressourcen: Resource Manager-Bereitstellungen und klassische Bereitstellungen. Dieser Artikel befasst sich mit der Verwendung des klassischen Bereitstellungsmodells. Microsoft empfiehlt für die meisten neuen Bereitstellungen die Verwendung des Ressourcen-Manager-Modells. Erfahren Sie, wie Sie diese Schritte mit dem Resource Manager-Modell ausführen.

Voraussetzung: Das Azure PowerShell-Modul muss installiert sein.

Um die Schritte in diesem Artikel ausführen zu können, müssen Sie das Azure PowerShell-Modul installieren und konfigurieren. Führen Sie unbedingt alle Anweisungen vollständig aus. Nach dem Abschluss der Installation melden Sie sich bei Azure an und wählen Ihr Abonnement aus.

Hinweis

Sie benötigen ein Azure-Konto, um diese Schritte durchführen zu können. Wenn Sie nicht über ein Azure-Konto verfügen, können Sie sich für eine kostenlose Testversionregistrieren.

Erstellen eines Anwendungsgateways

So erstellen Sie ein Application Gateway

  1. Erstellen einer Application Gateway-Ressource
  2. Erstellen Sie eine XML-Konfigurationsdatei oder ein Konfigurationsobjekt.
  3. Ordnen Sie die Konfiguration der neu erstellten Anwendungsgatewayressource zu.

Erstellen einer Anwendungsgatewayressource mit benutzerdefiniertem Test

Erstellen Sie das Gateway mithilfe des Cmdlets New-AzureApplicationGateway. Ersetzen Sie dabei die Werte durch eigene Werte. Die Abrechnung für das Gateway beginnt jetzt noch nicht. Die Abrechnung beginnt in einem späteren Schritt, wenn das Gateway erfolgreich gestartet wurde.

Das folgende Beispiel erstellt ein Anwendungsgateway mithilfe eines virtuellen Netzwerks mit dem Namen „testvnet1“ und eines Subnetzes mit dem Namen „subnet-1“.

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

Mithilfe des Cmdlets Get-AzureApplicationGateway können Sie überprüfen, ob das Gateway erstellt wurde.

Get-AzureApplicationGateway AppGwTest

Hinweis

Der Standardwert für InstanceCount ist 2, der Maximalwert ist 10. Der Standardwert für GatewaySize ist "Medium". Sie können zwischen „Small“, „Medium“ und „Large“ wählen.

VirtualIPs und DnsName werden leer angezeigt, da das Gateway noch nicht gestartet wurde. Diese Werte werden erstellt, sobald das Gateway ausgeführt wird.

Konfigurieren des Application Gateways per XML

Im folgenden Beispiel verwenden Sie eine XML-Datei, um alle Einstellungen des Anwendungsgateways zu konfigurieren und auf die Anwendungsgatewayressource zu übertragen.

Kopieren Sie den folgenden Text in Editor.

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

Bearbeiten Sie die Werte zwischen den Klammern für die Konfigurationselemente. Speichern Sie die Datei mit der Erweiterung XML.

Das folgende Beispiel zeigt, wie Sie mithilfe einer Konfigurationsdatei das Anwendungsgateway für den Lastenausgleich von HTTP-Datenverkehr am öffentlichen Port 80 und zum Senden des Netzwerkdatenverkehrs an den Back-End-Port 80 zwischen zwei IP-Adressen einrichten, indem Sie einen benutzerdefinierten Test verwenden.

Wichtig

Für die Protokollelemente Http oder Https muss die Groß-/Kleinschreibung beachtet werden.

Es wird ein neues Konfigurationselement vom Typ <Test> hinzugefügt, um benutzerdefinierte Tests zu konfigurieren.

Die Konfigurationsparameter sind:

Parameter Beschreibung
Name Referenzname für den benutzerdefinierten Test.
Protokoll Verwendetes Protokoll (mögliche Werte: „HTTP“ und „HTTPS“).
Host und Pfad Vollständiger URL-Pfad, der vom Anwendungsgateway aufgerufen wird, um die Integrität der Instanz zu ermitteln. Wenn Sie beispielsweise eine Website http://contoso.com/ haben, kann die benutzerdefinierte Probe für "http://contoso.com/path/custompath.htm" konfiguriert werden, damit Probeprüfungen eine erfolgreiche HTTP-Antwort haben.
Intervall Konfiguriert die Intervalle der Testausführungen (in Sekunden).
Timeout Definiert das Timeout des Tests für eine HTTP-Antwortprüfung.
UnhealthyThreshold Die Anzahl von HTTP-Antworten mit Fehlern, ab der die Back-End-Instanz als fehlerhaft gekennzeichnet wird.

Auf den Namen der Überprüfung wird in der <BackendHttpSettings>-Konfiguration verwiesen, um festzulegen, welcher Back-End-Pool die Einstellungen für die benutzerdefinierte Überprüfung verwenden soll.

Hinzufügen eines benutzerdefinierten Tests zu einem vorhandenen Anwendungsgateway

Zum Ändern der aktuellen Konfiguration eines Application Gateways sind drei Schritte nötig: das Abrufen der aktuellen XML-Konfigurationsdatei, das Einfügen des benutzerdefinierten Tests in die XML-Datei und das Konfigurieren des Application Gateways mit den neuen XML-Einstellungen.

  1. Rufen Sie die XML-Datei mit Get-AzureApplicationGatewayConfig ab. Dieses Cmdlet exportiert die XML-Konfigurationsdatei, damit ihr die Einstellungen für die Überprüfung hinzugefügt werden können.

    Get-AzureApplicationGatewayConfig -Name "<application gateway name>" -Exporttofile "<path to file>"
    
  2. Öffnen Sie die XML-Datei in einem Texteditor. Fügen Sie nach <frontendport> den Abschnitt <probe> hinzu.

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

    Fügen Sie den Namen des Tests im Abschnitt „backendHttpSettings“ der XML-Datei wie im folgenden Beispiel hinzu:

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

    Speichern Sie die XML-Datei.

  3. Aktualisieren Sie die Konfiguration des Anwendungsgateways mit der neuen XML-Datei, und verwenden Sie dazu Set-AzureApplicationGatewayConfig. Dieses Cmdlet aktualisiert das Anwendungsgateway mit der neuen Konfiguration.

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

Nächste Schritte

Wenn Sie Transport Layer Security (TLS) konfigurieren möchten, früher als SSL-Auslagerung (Secure Sockets Layer) bekannt, lesen Sie den Abschnitt Konfigurieren eines Anwendungsgateways für die TLS-Auslagerung.

Wenn Sie ein Anwendungsgateway für die Verwendung mit einem internen Lastenausgleich konfigurieren möchten, lesen Sie den Abschnitt Erstellen eines Anwendungsgateways mit einem internen Lastenausgleich (ILB).