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 の比較:
| プロダクト | タイプ |
|---|---|
| Azure Load Balancer | Load Balancer の分散アルゴリズムによって選択されたバックエンド サーバーとの接続をクライアントが直接確立するパススルー ロード バランサー。 |
| Azure Application Gateway | クライアントが Application Gateway との接続を直接確立し、別の接続が Application Gateway の分散アルゴリズムによって選択されたバックエンド サーバーで開始される終端ロード バランサー。 |
Azure Application Gateway (TLS/TCP プロキシ)
- 種類 – レイヤー 4 終端プロキシ。
- プロトコル – TCP または TLS プロトコルをサポートします。
- 汎用性 – 単一のエンドポイント (フロントエンド IP) を使用して、HTTP ワークロードと非 HTTP ワークロードを処理します。
- スケーリング – TCP および TLS トラフィックを処理するように自動スケール (最大 125 インスタンス) を構成します。
- TLS 終了によるセキュリティ – 一元化された TLS 終了と証明書管理を使用してセキュリティを簡素化し、非 HTTP ワークロードを含むすべてのアプリケーションで一貫したコンプライアンスを確保します。 Azure Key Vault とシームレスに統合して、セキュリティで保護された証明書管理を実現します。
- バックエンドの種類 – アプリケーションを任意の場所のバックエンドに柔軟に接続できます。は、同じ仮想ネットワーク内、ピアリングされた VNet 間、リモート FQDN または IP 経由、またはオンプレミス サーバーへのハイブリッド接続を介して行われます。
Azure Load Balancer
- 種類 – レイヤー4パススルーネットワークデバイス。
- プロトコル – TCP または UDP プロトコルをサポートします。
- パフォーマンス – 低待機時間と高スループットを提供します。 マイクロ秒レベルの待機時間で何百万もの同時接続用に構築されています。
- スケーリング – 有効期間の長い接続を処理し、すべての TCP および UDP アプリケーションの数百万のフローにスケールアップします。
- 受信と送信 – Azure Load Balancer は、受信と送信の両方の機能を備えた完全なトラフィック制御を提供します。 バックエンド インスタンスがインターネットやその他のサービスに安全にアクセスできるようにしながら、外部クライアントをアプリケーションにシームレスに接続します。
- ダイレクト サーバー リターン - リターン トラフィックの場合、バックエンド インスタンスは応答パケットをクライアントの IP アドレスに直接送り返し、待機時間を短縮し、パフォーマンスを向上させます。
特徴
- 単一のエンドポイント (フロントエンド 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 秒です。 現時点では、ユーザー定義のドレイン値はサポートされていません。
- Application Gateway の構成更新プログラム (PUT) は、既定のドレイン タイムアウト期間後にアクティブな接続を終了します。
- クライアント IP の保持は、現在サポートされていません。
- Application Gateway イングレス コントローラー (AGIC) はサポートされておらず、HTTP(S) リスナー経由の L7 プロキシでのみ機能します。