暗号化用にバックエンド プールを構成する

完了

バックエンド プールには、アプリケーションを実装するサーバーが含まれています。 Azure Application Gateway ではこれらのサーバーに要求がルーティングされ、これらのサーバー間でトラフィックの負荷を分散することができます。

配送ポータルでは、バックエンド プール内のアプリケーション サーバーで SSL を使用して Application Gateway とバックエンド プール内のサーバー間でやり取りされるデータを暗号化する必要があります。 Application Gateway では公開キーと共に SSL 証明書を使用して、データを暗号化します。 サーバーでは対応する秘密キーを使用して、受信されたデータの暗号化を解除します。 このユニットでは、バックエンド プールを作成し、Application Gateway に必要な証明書をインストールする方法を確認します。 このような証明書を使用すると、バックエンド プールに対して送受信されるメッセージの保護が容易になります。

Application Gateway からバックエンド プールへの暗号化

バックエンド プールでは、個々の仮想マシン、仮想マシン スケール セット、(オンプレミスまたはリモートで実行されている) 実際のコンピューターの IP アドレス、または Azure App Service を介してホストされているサービスを参照できます。 バックエンド プール内のすべてのサーバーは、そのセキュリティ設定を含め、同じ方法で構成する必要があります。

Diagram showing how Application Gateway routes a request to a web server.

バックエンド プールに送信されたトラフィックが SSL を介して保護されている場合は、バックエンド プール内の各サーバーで適切な証明書を指定する必要があります。 テスト目的で、自己署名証明書を作成することができます。 運用環境では、証明機関 (CA) で認証できる証明書を常に生成するか購入する必要があります。

Application Gateway には現在、v1 と v2 の 2 つのバージョンがあります。 これらの機能は似ていますが、実装の詳細は少し異なります。 v2 バージョンでは、追加機能が提供され、パフォーマンスがさらに改善されます。

Application Gateway v1 での証明書の構成

Application Gateway v1 では、ゲートウェイ構成でサーバー用の認証証明書をインストールする必要があります。 この証明書には、Application Gateway がメッセージの暗号化とサーバーの認証に使用できる公開キーが含まれています。 この証明書はサーバーからエクスポートして作成できます。 アプリケーション サーバーでは、これらのメッセージの暗号化を解除するために対応する秘密キーが使用されます。 この秘密キーは、アプリケーション サーバーにのみ格納する必要があります。

Azure CLI から az network application-gateway auth-cert create コマンドを使用して、認証証明書を Application Gateway に追加することができます。 次の例は、このコマンドの構文を示しています。 証明書は CER (要求、証拠、および理由) 形式である必要があります。

az network application-gateway auth-cert create \
    --resource-group <resource group name> \
    --gateway-name <application gateway name> \
    --name <certificate name> \
    --cert-file <path to authentication certificate>

Application Gateway では、認証証明書を一覧表示し、管理するために使用できる他のコマンドが提供されます。 例を以下に示します。

  • az network application-gateway auth-cert list コマンドでは、インストールされている証明書を示します。
  • az network application-gateway auth-cert update コマンドを使用して証明書を変更できます。
  • az network application-gateway auth-cert delete コマンドでは証明書を削除します。

Application Gateway v2 での証明書の構成

Application Gateway v2 の認証要件は少し異なります。 バックエンド プール内のサーバー用の SSL 証明書を認証した証明機関の証明書を指定します。 この証明書を信頼されたルート証明書として、Application Gateway に追加します。 Azure CLI から az network application-gateway root-cert create コマンドを使用します。

az network application-gateway root-cert create \
      --resource-group <resource group name> \
      --gateway-name <application gateway name> \
      --name <certificate name> \
      --cert-file <path to trusted CA certificate>

サーバーが自己署名証明書を使用している場合は、この証明書を Application Gateway の信頼されたルート証明書として追加します。

HTTP 設定

Application Gateway では、''規則'' を使用して、その受信ポートが受信したメッセージを、バックエンド プール内のサーバーに送信する方法を指定します。 サーバーで SSL が使用されている場合は、以下を示すように規則を構成する必要があります。

  • サーバーでは、HTTPS プロトコル経由のトラフィックが予期される。
  • トラフィックの暗号化とサーバーへの接続の認証に使用する証明書。

この構成情報は、[HTTP 設定] を使用して定義します。

Azure CLI の az network application-gateway http-settings create コマンドを使用して、HTTP 設定を定義できます。 次の例では、HTTPS プロトコルを使用して、トラフィックをバックエンド プール内のサーバー上のポート 443 にルーティングする設定を作成するための構文を示しています。 Application Gateway v1 を使用する場合、--auth-certs パラメーターは、先ほど Application Gateway に追加した認証証明書の名前です。

az network application-gateway http-settings create \
    --resource-group <resource group name> \
    --gateway-name <application gateway name> \
    --name <HTTPS settings name> \
    --port 443 \
    --protocol Https \
    --auth-certs <certificate name>

Application Gateway v2 を使用する場合は、--auth-certs パラメーターを省略します。 Application Gateway はバックエンド サーバーに接続されます。 信頼されるルート証明書の一覧で指定された CA のものと照らして、サーバーによって提示された証明書の信頼性が検証されます。 一致しない場合、Application Gateway はバックエンド サーバーに接続されず、HTTP 502 (無効なゲートウェイ) エラーで失敗します。