Přehled sond stavu služby Application Gateway

Aplikace Azure Gateway monitoruje stav všech serverů ve svém back-endovém fondu a automaticky přestane odesílat provoz na jakýkoli server, který považuje za špatný. Sondy nadále monitorují takový server, který není v pořádku, a brána začne znovu směrovat provoz do něj, jakmile sondy zjistí, že je v pořádku.

Výchozí sonda používá číslo portu z přidruženého nastavení back-endu a dalších přednastavených konfigurací. K jejich konfiguraci můžete použít vlastní sondy.

Chování sond

Zdrojová IP adresa

Zdrojová IP adresa sond závisí na typu back-endového serveru:

  • Pokud je server v back-endovém fondu veřejným koncovým bodem, zdrojová adresa bude front-endovou veřejnou IP adresou vaší služby Application Gateway.
  • Pokud je server v back-endovém fondu privátním koncovým bodem, zdrojová IP adresa bude z adresního prostoru vaší podsítě služby Application Gateway.

Operace sondy

Brána spustí sondy okamžitě po konfiguraci pravidla tím, že ho přidružuje k back-endovému nastavení a back-endovému fondu (a samozřejmě naslouchacímu procesu). Obrázek ukazuje, že brána nezávisle testuje všechny servery back-endového fondu. Příchozí požadavky, které začnou přicházet, se odesílají jenom na servery, které jsou v pořádku. Back-endový server je ve výchozím nastavení označený jako není v pořádku, dokud nebude přijata úspěšná odpověď sondy.

Diagram showing Application Gateway initiating health probes to individual backend targets within a backend pool

Požadované sondy se určují na základě jedinečné kombinace nastavení back-endového serveru a back-endu. Představte si například bránu s jedním back-endovým fondem se dvěma servery a dvěma nastaveními back-endu, z nichž každá má různá čísla portů. Pokud jsou tato jedinečná nastavení back-endu přidružená ke stejnému back-endovému fondu pomocí příslušných pravidel, brána vytvoří sondy pro každý server a kombinaci nastavení back-endu. Můžete to zobrazit na stránce stavu back-endu.

Diagram showing health probes report on the Backend Health page

Všechny instance aplikační brány navíc testují back-endové servery nezávisle na sobě.

Intervaly sondy

Stejná konfigurace sondy platí pro každou instanci vaší služby Application Gateway. Pokud má například aplikační brána dvě instance a interval sondy je nastavený na 20 sekund, obě instance odešlou sondu stavu každých 20 sekund.

Jakmile sonda zjistí neúspěšnou odpověď, čítač prahové hodnoty není v pořádku se nastaví a označí server jako poškozený, pokud po sobě jdoucí počet selhání odpovídá nakonfigurované prahové hodnotě. Pokud tedy nastavíte tuto prahovou hodnotu špatného stavu jako 2, následující sonda nejprve zjistí toto selhání. Aplikační brána pak označí server jako v pořádku po dvou po sobě jdoucích neúspěšných sondách [První detekce 20 sekund + (2 po sobě jdoucí neúspěšné testy * 20 sekund)].

Poznámka:

Sestava stavu back-endu se aktualizuje na základě intervalu aktualizace příslušné sondy a nezávisí na požadavku uživatele.

Výchozí sonda stavu

Služba Application Gateway automaticky nakonfiguruje výchozí sondu stavu, když nenastavíte žádnou vlastní konfiguraci sondy. Chování monitorování funguje tak, že vytvoří požadavek HTTP GET na IP adresy nebo plně kvalifikovaný název domény nakonfigurovaný v back-endovém fondu. Pro výchozí sondy, pokud jsou nastavení HTTP back-endu nakonfigurovaná pro PROTOKOL HTTPS, použije sonda protokol HTTPS k otestování stavu back-endových serverů.

Příklad: Službu Application Gateway nakonfigurujete tak, aby používala back-endové servery A, B a C pro příjem síťového provozu HTTP na portu 80. Výchozí monitorování stavu testuje tři servery každých 30 sekund pro každou odpověď HTTP se 30sekundovým vypršením časového limitu pro každý požadavek. Odpověď HTTP, která je v pořádku, má stavový kód mezi 200 a 399. V tomto případě vypadá požadavek HTTP GET pro sondu stavu jako http://127.0.0.1/. Podívejte se také na kódy odpovědí HTTP ve službě Application Gateway.

Pokud u serveru A selže výchozí kontrola sondy, služba Application Gateway přestane předávat požadavky na tento server. Výchozí sonda stále kontroluje server A každých 30 sekund. Když server A úspěšně odpoví na jeden požadavek z výchozí sondy stavu, služba Application Gateway začne požadavky znovu předávat na server.

Výchozí nastavení sondy stavu

Vlastnost sondy Hodnota Popis
Adresa URL sondy <protocol>://127.0.0.1:<port>/ Protokol a port se dědí z nastavení HTTP back-endu, ke kterému je sonda přidružená.
Interval 30 Doba čekání v sekundách před odesláním další sondy stavu.
Časový limit 30 Doba v sekundách, po kterou aplikační brána čeká na odpověď sondy, než označí sondu jako poškozenou. Pokud se sonda vrátí jako v pořádku, odpovídající back-end se okamžitě označí jako v pořádku.
Prahová hodnota pro poškozený stav 3 Určuje, kolik sond se má odeslat v případě selhání pravidelné sondy stavu. V SKU v1 se tyto další sondy stavu posílají rychle po sobě, aby bylo možné rychle určit stav back-endu a nečekat na interval sondy. U skladové položky v2 čekají sondy stavu interval. Back-endový server se označí po po sobě jdoucím počtu selhání sondy k dosažení prahové hodnoty, která není v pořádku.

Výchozí sonda hledá pouze <protokol>://127.0.0.1:<port> a zjišťuje stav. Pokud potřebujete nakonfigurovat sondu stavu tak, aby přešla na vlastní adresu URL nebo upravila jiná nastavení, musíte použít vlastní testy. Další informace o sondách HTTPS najdete v tématu Přehled ukončení protokolu TLS a koncového šifrování TLS se službou Application Gateway.

Vlastní sonda stavu

Vlastní sondy umožňují podrobnější kontrolu nad monitorováním stavu. Při použití vlastních sond můžete nakonfigurovat vlastní název hostitele, cestu url, interval sondy a počet neúspěšných odpovědí, které se mají přijmout, než označíte instanci back-endového fondu jako poškozenou atd.

Vlastní nastavení sondy stavu

Následující tabulka obsahuje definice vlastností vlastní sondy stavu.

Vlastnost sondy Popis
Name Název sondy. Tento název slouží k identifikaci a odkaz na sondu v nastavení HTTP back-endu.
Protokol Protokol použitý k odeslání sondy. To se musí shodovat s protokolem definovaným v nastavení http back-endu, ke kterým je přidružený.
Hostitelský počítač Název hostitele pro odeslání sondy. V SKU v1 se tato hodnota používá pouze pro hlavičku hostitele požadavku sondy. V SKU v2 se používá jako hlavička hostitele i SNI.
Cesta Relativní cesta sondy. Platná cesta začíná znakem /.
Port Pokud je definovaný, použije se jako cílový port. V opačném případě používá stejný port jako nastavení HTTP, ke kterému je přidružený. Tato vlastnost je k dispozici pouze ve skladové posílce v2.
Interval Interval sondy v sekundách. Tato hodnota je časový interval mezi dvěma po sobě jdoucími sondami.
Časový limit Časový limit sondy v sekundách vypršel. Pokud během tohoto časového limitu nepřijde platná odpověď, sonda se označí jako neúspěšná.
Prahová hodnota pro poškozený stav Počet opakování sondy. Back-endový server se označí po po sobě jdoucím počtu selhání sondy k dosažení prahové hodnoty, která není v pořádku.

Porovnávání sond

Ve výchozím nastavení se odpověď HTTP(S) se stavovým kódem mezi 200 a 399 považuje za v pořádku. Vlastní sondy stavu navíc podporují dvě odpovídající kritéria. Odpovídající kritéria lze použít k volitelné úpravě výchozí interpretace toho, co dělá odpověď v pořádku.

Následující kritéria odpovídají:

  • Shoda stavového kódu odpovědi HTTP – kritérium shody sondy pro přijetí kódu odpovědi HTTP zadaného uživatelem nebo rozsahy kódu odpovědi. Podporují se jednotlivé stavové kódy odpovědí oddělené čárkami nebo rozsah stavového kódu.
  • Shoda textu odpovědi HTTP – Kritérium porovnávání sondy, které sleduje text odpovědi HTTP a odpovídá řetězci zadanému uživatelem. Shoda hledá pouze přítomnost řetězce zadaného uživatelem v textu odpovědi a nejedná se o úplnou shodu regulárního výrazu. Zadaná shoda musí obsahovat 4090 znaků nebo méně.

Kritéria shody je možné zadat pomocí rutiny New-AzApplicationGatewayProbeHealthResponseMatch .

Příklad:

$match = New-AzApplicationGatewayProbeHealthResponseMatch -StatusCode 200-399
$match = New-AzApplicationGatewayProbeHealthResponseMatch -Body "Healthy"

Kritéria shody je možné připojit ke konfiguraci sondy pomocí operátoru v PowerShellu -Match .

Některé případy použití pro vlastní testy

  • Pokud back-endový server umožňuje přístup jenom ověřeným uživatelům, sondy aplikační brány obdrží kód odpovědi 403 místo 200. Vzhledem k tomu, že klienti (uživatelé) jsou vázáni k ověření živého provozu, můžete nakonfigurovat provoz sondy tak, aby přijímal 403 jako očekávanou odpověď.
  • Pokud má back-endový server nainstalovaný certifikát se zástupnými znamény (*.contoso.com), který obsluhuje různé subdomény, můžete použít vlastní sondu s konkrétním názvem hostitele (vyžadovaným pro SNI), který je přijat k navázání úspěšné sondy PROTOKOLU TLS a nahlásit tento server jako v pořádku. Pokud je v nastavení back-endu nastavená možnost Přepsat název hostitele, budou se různé příchozí názvy hostitelů (subdomény) předávat jako back-endu.

Důležité informace o skupině zabezpečení sítě

Podrobná kontrola podsítě služby Application Gateway prostřednictvím pravidel NSG je možná ve verzi Public Preview. Další podrobnosti najdete tady.

U aktuálních funkcí platí určitá omezení:

Pro skladovou položku Application Gateway v1 v1 musíte povolit příchozí internetový provoz na portech TCP 65503-65534 a porty TCP 65200-65535 pro skladovou položku v2 s cílovou podsítí jako Libovolná a zdrojová jako značka služby GatewayManager. Tento rozsah portů se vyžaduje pro komunikaci s infrastrukturou Azure.

Kromě toho není možné blokovat odchozí připojení k internetu a musí být povolený příchozí provoz přicházející ze značky AzureLoadBalancer .

Další informace najdete v tématu Přehled konfigurace služby Application Gateway.

Další kroky

Po seznámení s monitorováním stavu služby Application Gateway můžete nakonfigurovat vlastní sondu stavu na webu Azure Portal nebo vlastní sondu stavu pomocí PowerShellu a modelu nasazení Azure Resource Manageru.