Udostępnij za pośrednictwem


Tworzenie niestandardowej sondy dla usługi aplikacja systemu Azure Gateway (klasycznej) przy użyciu programu PowerShell

W tym artykule dodasz sondę niestandardową do istniejącej bramy aplikacji przy użyciu programu PowerShell. Niestandardowe sondy są przydatne w przypadku aplikacji, które mają określoną stronę sprawdzania kondycji lub aplikacje, które nie zapewniają pomyślnej odpowiedzi w domyślnej aplikacji internetowej.

Ważne

Platforma Azure ma dwa różne modele wdrażania do tworzenia zasobów i pracy z nimi: Resource Manager i Klasyczny. W tym artykule opisano użycie klasycznego modelu wdrażania. Firma Microsoft zaleca, aby w przypadku większości nowych wdrożeń korzystać z modelu opartego na programie Resource Manager. Dowiedz się, jak wykonać te kroki przy użyciu modelu usługi Resource Manager.

Wymagania wstępne: Instalacja modułu Azure PowerShell

Aby wykonać kroki opisane w tym artykule, musisz zainstalować i skonfigurować moduł Azure PowerShell. Pamiętaj, aby wykonać wszystkie instrukcje. Po zakończeniu instalacji zaloguj się do platformy Azure i wybierz swoją subskrypcję.

Uwaga

Do wykonania tych kroków jest potrzebne konto platformy Azure. Jeśli nie masz konta platformy Azure, możesz skorzystać z bezpłatnej wersji próbnej.

Tworzenie bramy aplikacji

Aby utworzyć bramę aplikacji:

  1. Utwórz zasób bramy aplikacji.
  2. Utwórz konfiguracyjny plik XML lub obiekt konfiguracji.
  3. Przekaż konfigurację aplikacji do nowo utworzonego zasobu bramy aplikacji.

Tworzenie zasobu bramy aplikacji przy użyciu sondy niestandardowej

Aby utworzyć bramę, użyj polecenia cmdlet New-AzureApplicationGateway, zastępując wartości własnymi. Rozliczanie bramy nie rozpoczyna się w tym momencie. Rozliczanie zaczyna się na późniejszym etapie, po pomyślnym uruchomieniu bramy.

Poniższy przykład tworzy bramę aplikacji przy użyciu sieci wirtualnej „testvnet1” i podsieci „subnet-1”.

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

Aby sprawdzić, czy brama została utworzona, możesz użyć polecenia cmdlet Get-AzureApplicationGateway.

Get-AzureApplicationGateway AppGwTest

Uwaga

Wartość domyślna parametru InstanceCount to 2, a wartość maksymalna — 10. Wartość domyślna parametru GatewaySize to Medium (Średnia). Możesz wybrać jedną z opcji Mała, Średnia i Duża.

Parametry VirtualIPs (Wirtualne adresy IP) i DnsName (Nazwa serwera DNS) są wyświetlane jako puste, ponieważ brama nie została jeszcze uruchomiona. Te wartości są tworzone po uruchomieniu bramy.

Konfigurowanie bramy aplikacji przy użyciu kodu XML

W poniższym przykładzie używany jest plik XML, aby skonfigurować wszystkie ustawienia bramy aplikacji i zatwierdzić je w zasobie bramy aplikacji.

Skopiuj poniższy tekst do Notatnika.

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

Edytuj zawarte w nawiasach wartości elementów konfiguracji. Zapisz plik z rozszerzeniem .xml.

W poniższym przykładzie pokazano, jak za pomocą pliku konfiguracji skonfigurować bramę aplikacji w celu równoważenia obciążenia ruchu HTTP na publicznym porcie 80 i wysyłania ruchu sieciowego do portu zaplecza 80 między dwoma adresami IP przy użyciu sondy niestandardowej.

Ważne

W elemencie Http lub Https jest rozróżniana wielkość liter.

Dodano nowy element <konfiguracji Sonda> w celu skonfigurowania sond niestandardowych.

Parametry konfiguracji to:

Parametr opis
Nazwa/nazwisko Nazwa odwołania dla sondy niestandardowej.
Protokół Używany protokół (możliwe wartości to HTTP lub HTTPS).
Host i ścieżka Pełna ścieżka adresu URL wywoływana przez bramę aplikacji w celu określenia kondycji wystąpienia. Jeśli na przykład masz witrynę internetową http://contoso.com/, można skonfigurować sondę niestandardową dla parametru "http://contoso.com/path/custompath.htm" sprawdzanie sondy w celu pomyślnego uzyskania odpowiedzi HTTP.
Interwał Konfiguruje sprawdzanie interwału sondy w sekundach.
Przekroczenie limitu czasu Definiuje limit czasu sondy dla sprawdzania odpowiedzi HTTP.
Zła kondycjaThreshold Liczba nieudanych odpowiedzi HTTP wymaganych do flagowania wystąpienia zaplecza jako w złej kondycji.

Nazwa sondy jest przywołyowana w <konfiguracji BackendHttpSettings> w celu przypisania, która pula zaplecza używa niestandardowych ustawień sondy.

Dodawanie sondy niestandardowej do istniejącej bramy aplikacji

Zmiana bieżącej konfiguracji bramy aplikacji wymaga trzech kroków: Pobierz bieżący plik konfiguracji XML, zmodyfikuj, aby mieć sondę niestandardową, a następnie skonfiguruj bramę aplikacji przy użyciu nowych ustawień XML.

  1. Pobierz plik XML przy użyciu polecenia Get-AzureApplicationGatewayConfig. To polecenie cmdlet eksportuje kod XML konfiguracji, który ma zostać zmodyfikowany w celu dodania ustawienia sondy.

    Get-AzureApplicationGatewayConfig -Name "<application gateway name>" -Exporttofile "<path to file>"
    
  2. Otwórz plik XML w edytorze tekstów. Dodaj sekcję <probe> po .<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>
    

    W sekcji backendHttpSettings kodu XML dodaj nazwę sondy, jak pokazano w poniższym przykładzie:

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

    Zapisz plik XML.

  3. Zaktualizuj konfigurację bramy aplikacji przy użyciu nowego pliku XML przy użyciu polecenia Set-AzureApplicationGatewayConfig. To polecenie cmdlet aktualizuje bramę aplikacji przy użyciu nowej konfiguracji.

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

Następne kroki

Jeśli chcesz skonfigurować protokół Transport Layer Security (TLS), wcześniej znany jako odciążanie protokołu Secure Sockets Layer (SSL), zobacz Konfigurowanie bramy aplikacji pod kątem odciążania protokołu TLS.

Jeśli chcesz skonfigurować bramę aplikacji do użycia z wewnętrznym modułem równoważenia obciążenia, zobacz artykuł Create an application gateway with an internal load balancer (ILB) (Tworzenie bramy aplikacji przy użyciu wewnętrznego modułu równoważenia obciążenia).