Application Gateway - バックエンドの正常性

Application Gateway 正常性プローブ (既定とカスタム) は、プール内のすべてのバックエンド サーバーを継続的に監視して、受信トラフィックが稼働しているサーバーにのみ送信されるようにします。 この正常性チェックにより、ゲートウェイのシームレスなデータ プレーン操作が可能になります。 バックエンド サーバーがトラフィックを受信できる場合、プローブは成功し、正常と見なされます。 それ以外の場合は異常と見なされます。 正常性プローブ レポートの正確な表現は、バックエンドの正常性機能を通じて使用することもできます。

バックエンドの正常性レポート

サーバーの正常性レポートでは次の状態が想定されます。

  1. 正常 - アプリケーション ゲートウェイ プローブがバックエンド サーバーから予期される応答コードを受信したときに表示されます。
  2. 異常 - プローブが応答を受信しないか、応答が予期される応答コードまたは本文と一致しない場合に表示されます。
  3. 不明 - アプリケーション ゲートウェイのコントロール プレーンが (バックエンドの正常性呼び出し用の) アプリケーション ゲートウェイ インスタンスと通信できない場合、またはバックエンド サーバーの FQDN の DNS 解決の場合に発生します。

異常および不明の状態の原因と解決策の詳細については、トラブルシューティングの記事を参照してください。

Note

バックエンドの正常性レポートは、それぞれのプローブの更新間隔に基づいて更新され、ページ更新またはバックエンド正常性 API 要求のタイミングには依存しません。

バックエンドの正常性を表示する方法

バックエンド サーバーの正常性レポートは、Azure portal、REST API、PowerShell、および Azure CLI を使用して生成できます。

Azure portal を使用

Application Gateway ポータルは、トラブルシューティングを高速化するための視覚化とツールを備えた情報豊富なバックエンドの正常性レポートを提供します。 各行には、正確なターゲット サーバー、属しているバックエンド プール、バックエンド設定の関連付け (ポートとプロトコルを含む)、最新のプローブによって受信された応答が表示されます。 バックエンド プール、サーバー、バックエンドの設定の数に基づいてこのレポートがどのように構成されるかを理解するには、正常性プローブに関する記事を参照してください。

[異常] と [不明] の状態の場合は、トラブルシューティングのリンクと、次のツールが表示されます。

  1. Azure Network Watcher の接続のトラブルシューティング - このツールの使用方法については、接続のトラブルシューティング ドキュメントの記事を参照してください。

  2. バックエンド サーバー証明書の視覚化 - バックエンド サーバー証明書の視覚化を使用すると、問題の領域を理解しやすくなり、問題に迅速に対処できます。 この図の 3 つの主要なコンポーネントは、全体像 (クライアント、Application Gateway、バックエンド サーバー) を示しています。 ただし、このトラブルシューティング セクションで説明する問題は、Application Gateway とバックエンド サーバー間の TLS 接続のみに焦点を当てています。

    Screenshot and explanation of a certificate error on the Backend Health page.

この図から読み取れること

  • 赤い線は、ゲートウェイとバックエンド サーバー間の TLS 接続、またはバックエンド サーバー上の証明書コンポーネントに問題があることを示しています。
  • Application Gateway またはバックエンド サーバー ブロックに赤いテキストがある場合は、それぞれバックエンド設定またはサーバー証明書に問題があることを示しています。
  • エラーの表示と場所に応じて、それぞれのプロパティ (Application Gateway のバックエンド設定またはバックエンド サーバー) を操作する必要があります。
  • エラーの種類ごとに解決策が提供されます。 詳細についてのドキュメントのリンクも提供されます。

PowerShell の使用

次の PowerShell コードは、Get-AzApplicationGatewayBackendHealth コマンドレットを使用してバックエンドの正常性を表示する方法を示します。

Get-AzApplicationGatewayBackendHealth -Name ApplicationGateway1 -ResourceGroupName Contoso

Azure CLI の使用

az network application-gateway show-backend-health --resource-group AdatumAppGatewayRG --name AdatumAppGateway

結果

次のスニペットは、応答の一例を示します。

{
"BackendAddressPool": {
    "Id": "/subscriptions/00000000-0000-0000-000000000000/resourceGroups/ContosoRG/providers/Microsoft.Network/applicationGateways/applicationGateway1/backendAddressPools/appGatewayBackendPool"
},
"BackendHttpSettingsCollection": [
    {
    "BackendHttpSettings": {
        "Id": "/00000000-0000-0000-000000000000/resourceGroups/ContosoRG/providers/Microsoft.Network/applicationGateways/applicationGateway1/backendHttpSettingsCollection/appGatewayBackendHttpSettings"
    },
    "Servers": [
        {
        "Address": "hostname.westus.cloudapp.azure.com",
        "Health": "Healthy"
        },
        {
        "Address": "hostname.westus.cloudapp.azure.com",
        "Health": "Healthy"
        }
    ]
    }
]
}

次のステップ