Application Gateway TCP/TLS プロキシの概要 (プレビュー)
Azure Application Gateway では、既存のレイヤー 7 機能 (HTTP、HTTPS、WebSocket、HTTP/2) に加えて、レイヤー 4 (TCP プロトコル) と TLS (トランスポート層セキュリティ) プロキシもサポートされるようになりました。 現在、この機能はパブリック プレビュー段階にあります。 この機能をプレビューするには、「プレビューに登録する」を参照してください。
Application Gateway での TLS/TCP プロキシ機能
リバース プロキシ サービスとして、Application Gateway のレイヤー 4 操作はレイヤー 7 プロキシ操作と同様に機能します。 クライアントは Application Gateway との TCP 接続を確立し、Application Gateway 自体がバックエンド プールのバックエンド サーバーへの新しい TCP 接続を開始します。 次の図は、一般的な操作を示しています。
プロセス フロー:
- クライアントは、フロントエンド リスナーの IP アドレスとポート番号を使用して、アプリケーション ゲートウェイとの TCP または TLS 接続を開始します。 これにより、フロントエンド接続が確立されます。 接続が確立されると、クライアントは必要なアプリケーション層プロトコルを使用して要求を送信します。
- アプリケーション ゲートウェイは、関連付けられたバックエンド プールのバックエンド ターゲットのいずれかとの新しい接続を確立し (バックエンド接続を形成する)、そのバックエンド サーバーにクライアント要求を送信します。
- バックエンド サーバーからの応答は、アプリケーション ゲートウェイによってクライアントに返送されます。
- 同じフロントエンド TCP 接続が、TCP アイドル タイムアウトによってその接続が閉じられない限り、クライアントからの後続の要求にも使用されます。
Azure Load Balancer と Azure Application Gateway の比較:
Product | Type |
---|---|
Azure Load Balancer | Load Balancer の分散アルゴリズムによって選択されたバックエンド サーバーとの接続をクライアントが直接確立するパススルー ロード バランサー。 |
Azure Application Gateway | クライアントが Application Gateway との接続を直接確立し、別の接続が Application Gateway の分散アルゴリズムによって選択されたバックエンド サーバーで開始される終端ロード バランサー。 |
機能
- 単一のエンドポイント (フロントエンド IP) を使用して、HTTP および HTTP 以外のワークロードを処理します。 同じアプリケーション ゲートウェイのデプロイで、レイヤー 7 およびレイヤー 4 のプロトコル (HTTP(S)、TCP、または TLS) をサポートできます。 すべてのクライアントが同じエンドポイントに接続し、異なるバックエンド アプリケーションにアクセスできます。
- カスタム ドメインをバックエンド サービスのフロントに使用します。 Application Gateway V2 SKU のフロントエンドをパブリックおよびプライベート IP アドレスとして使用すると、アドレス (A) レコードを使って、その IP アドレスを指すように任意のカスタム ドメイン名を構成できます。 さらに、TLS 終端とプライベート証明機関 (CA) からの証明書のサポートにより、選択したドメインでのセキュリティで保護された接続を確保できます。
- 任意の場所 (Azure またはオンプレミス) からバックエンド サーバーを使用します。 以下をアプリケーション ゲートウェイのバックエンドとすることができます。
- IaaS 仮想マシン、仮想マシン スケール セット、PaaS (App Services、Event Hubs、SQL) などの Azure リソース
- FQDN または IP アドレスを介してアクセスできるオンプレミス サーバーなどのリモート リソース
- プライベートのみのゲートウェイでサポートされます。 プライベートの Application Gateway のデプロイに対する TLS および TCP プロキシのサポートにより、分離された環境で HTTP および HTTP 以外のクライアントをサポートしてセキュリティを強化できます。
制限事項
- WAF v2 SKU ゲートウェイを使用すると、TLS または TCP リスナーとバックエンドを作成して、同じリソース経由の HTTP および HTTP 以外のトラフィックをサポートできます。 ただし、TLS および TCP リスナーでのトラフィックの悪用や脆弱性は検査されません。
- バックエンド サーバーのデフォルトのドレイン タイムアウト値は 30 秒です。 現時点では、ユーザー定義のドレイン値はサポートされていません。
- クライアント IP の保持は、現在サポートされていません。
- Application Gateway イングレス コントローラー (AGIC) はサポートされておらず、HTTP(S) リスナー経由の L7 プロキシでのみ機能します。