この記事では、Azure仮想ネットワークからの送信インターネット アクセスを制御する方法について説明します。 NAT ゲートウェイ、Azure Firewall、および結合されたエグレス パターンを比較して、ワークロードの予測可能で安全な方法を選択するのに役立ちます。
この記事の内容
送信エグレス制御は、Azureワークロードがパブリック インターネットに到達する方法を決定します。 適切に設計されたエグレス戦略は、予測可能なパブリック IP アドレスを提供し、SNAT ポートの枯渇を防ぎ、必要に応じて送信先別に送信接続をフィルター処理します。
Note
この記事では、エグレス固有の概念について説明します。 完全なファイアウォール カバレッジについては、Azure Firewallとトラフィックの検査に関する記事を参照してください。
この記事が必要なユーザー
これらの条件の 1 つ以上が該当する場合は、この記事をお読みください。
- ワークロードでは、更新プログラム、API、または外部サービスのインターネットへの送信アクセスを制御する必要があります。
- 送信接続には予測可能なパブリック IP アドレスが必要です。
- SNAT ポートの枯渇を防ぐか、高接続ワークロードの送信接続をスケールする必要があります。
- NAT ゲートウェイ、Azure Firewall、またはエグレス制御と検査の組み合わせパターンを選択する必要があります。
Tip
シナリオパスに従っていますか? カスタマイズされたガイダンスについては、ページの上部にあるシナリオを選択してください。 以下の主要なガイダンスは、すべての読者に適用されます。
リフトアンドシフトフォーカス: 移行された VM には、制御された送信インターネット アクセスが必要です。 移行されたワークロード間で一貫したセキュリティ ポリシーを適用するために、ハブ ファイアウォールを経由するすべての送信トラフィックを一元化します。
次の場合は、この記事をお読みください。
- 更新プログラム、API 呼び出し、またはサード パーティのサービスのためにインターネットに接続する必要があるワークロードをデプロイします。
- ハブ VNet 内のAzure Firewallを使用して送信制御を一元化する必要があります。
- 移行されたワークロードで既定の送信アクセスをオフにし、明示的なエグレス方法に置き換える必要があります。
- 送信接続には、予測可能な固定のパブリック IP アドレスが必要です。
モダナイゼーションの焦点: すべてのスポーク VNet の外向きトラフィックは、ユーザー定義ルート (UDR) によってハブ ファイアウォール経由でルーティングされます。 この一元化されたエグレス モデルは、アプリ チームが IT で管理するセキュリティ制御をバイパスすることを防ぐので、セキュリティ アーキテクチャに不可欠です。
次の場合は、この記事をお読みください。
- すべてのスポーク ワークロード (AKS、App Service、VM) がハブ ファイアウォールを経由して送信トラフィックをルーティングするように強制する必要があります。
- 一貫性のあるエグレス ポリシーを実現するために、各スポークからハブ Azure Firewallへの UDR ベースのルーティングが必要です。
- ハブ ファイアウォールがすべての送信接続の SNAT として機能することを要求します。
- 接続数の多いワークロードで SNAT ポートの枯渇を防ぐ必要があります。
クラウド間のフォーカス: ターゲット設計で制御されたインターネット エグレス ポリシーが必要な場合は、一元化されたエグレスを含めます。 それ以外の場合、クラウド間トラフィックはトランジット パス (セキュリティで保護された仮想ハブ内のAzure Firewall) を通過するため、別のエグレス構成は必要ありません。
次の場合は、この記事をお読みください。
- Azure ランディング ゾーンで一元化されたインターネット エグレス ポリシーが必要です。
- クロスクラウドトランジット検査とインターネットエグレスの両方で同じAzure Firewallを共有したいと考えています。
- 既定のアウトバウンド アクセスが段階的に廃止される前に置き換えてください。
Azureサービスと機能
次の表では、Azure仮想ネットワークで送信インターネット アクセスに使用できるサービスと機能について説明します。
| サービスまたは機能 | 提供される内容 | いつ使用するか |
|---|---|---|
| 既定のアウトバウンド アクセス (廃止済み) | Azureは、送信接続用の一時的なパブリック IP を自動的に割り当てます。 割り当てられた IP は予測できず、予告なしに変更される可能性があります。 | 新しいデプロイには使用しないでください。 NAT ゲートウェイまたはAzure Firewallに置き換えます。 セキュリティに関する考慮事項を参照してください。 |
| Azure NAT ゲートウェイ | 予測可能な固定パブリック IP を使用したマネージド SNAT サービス。 パブリック IP あたり 64,512 個の SNAT ポート、最大 16 個のパブリック IP (合計 100 万ポート以上) を提供します。 コンテンツのフィルター処理はありません。 | 固定エグレス IP、接続数の多いアプリケーション、SNAT ポートの枯渇がリスクとなるシナリオを必要とする送信専用ワークロード。 |
| Azure Firewall | アウトバウンドトラフィックに対するレイヤー3~7のフル検査。 FQDN フィルタリング、URL フィルタリング、Web カテゴリ、IDPS (Premium SKU)。 一元化されたポリシー管理。 | リソースにアウトバウンド アクセスがあるかどうかだけでなく、どの接続先に接続できるかを制御する必要がある場合。 |
| NAT ゲートウェイ + Azure Firewall | NAT ゲートウェイは、ファイアウォール サブネットでの SNAT スケーリングを処理します。 Azure Firewallは検査とフィルター処理を処理します。 二重 NAT は発生しません。 | スケーラブルなエグレスとコンテンツ対応のフィルター処理の両方を必要とする運用環境。 エンタープライズ ワークロードに推奨されるアーキテクチャ。 |
| パブリック IP を持つ VM (送信) | 仮想マシンは、送信トラフィックに独自のパブリック IP アドレスを使用します。 一元的な制御やフィルター処理はありません。 | 運用環境では避けてください。 一元的な管理は行われず、大規模には予測できず、共有 SNAT リソースの恩恵を受けることはできません。 |
選択する方法
外向きアクセスを制御する方法
要件に基づいてエグレス方法を選択するには、次の表を使用します。
| 要件 | 推奨される方法 | なぜでしょうか |
|---|---|---|
| 送信 IP アドレスのみを修正し、フィルター処理は必要ありません | NAT Gateway | SNAT ポートの自動割り当てを使用して、予測可能なパブリック IP を提供します。 検査のオーバーヘッドやフィルター処理のコストはかからなくなります。 最もシンプルな運用対応オプション。 |
| FQDN フィルター処理、URL フィルター処理、またはトラフィック検査 | Azure Firewall | 宛先 FQDN または URL で送信接続をフィルター処理します。 Premium SKU では、高度な脅威検出のために IDPS と TLS 検査が追加されます。 |
| 送信 IP とコンテンツのフィルター処理を修正しました | NAT ゲートウェイ + Azure Firewall | AzureFirewallSubnet 上の NAT ゲートウェイは、スケーラブルな SNAT を提供します。 ファイアウォールは、エグレスの前にトラフィックを検査します。 両方の機能のベスト。 |
| 新しいデプロイには使用しない | 既定のアウトバウンド アクセスまたは VM のパブリック IP | 既定の送信アクセスは廃止されます。 VM パブリック IP は、一元的な制御を提供しません。 どちらも運用環境のワークロードには適さない。 |
エグレス向けの NAT Gateway と Azure Firewall の比較
次の比較を使用して、NAT ゲートウェイとAzure Firewallを個別に使用した場合のトレードオフを理解します。
| 能力 | NAT Gateway | Azure Firewall |
|---|---|---|
| SNAT ポート | パブリック IP あたり 64,512 (最大 16 IP、合計 100 万以上) | バックエンド インスタンスあたりパブリック IP あたり 2,496 (最大 250 IP) |
| トラフィックのフィルター処理 | なし: すべての送信トラフィックを許可します | FQDN ルール, URL フィルタリング, Web カテゴリ, ネットワーク ルール |
| IDPS と TLS 検査 | 該当なし | Premium SKU のみ |
| Throughput | サブネットの回線レート (SNAT の公開された上限なし) | 最大 100 Gbps (Premium)、30 Gbps (Standard)、250 Mbps (Basic) |
| コスト モデル | 1 時間あたりのリソース + GB 単位のデータ処理 | 1 時間あたりのリソース + GB 単位のデータ処理 (基本コストの増加) |
| ルーティングの複雑さ | サブネットに直接関連付け、UDR は必要ありません | ワークロード サブネットに UDR (0.0.0.0/0 → ファイアウォールプライベート IP) が必要 |
| 使用例 | 固定 IP を必要とする大量の送信接続 | エグレス フィルタリングとログ記録を必要とする規制された環境 |
送信トラフィックのルーティング優先度
Azureは、次の優先順位で送信メソッドを評価します。 優先順位の高いメソッドは、同じサブネット上の優先順位の低いメソッドをオーバーライドします。
- 仮想アプライアンスまたは仮想ネットワーク ゲートウェイへの UDR: NAT ゲートウェイ を含む他のすべての送信方法をオーバーライドします。
- NAT ゲートウェイ: インスタンス レベルのパブリック IP とロード バランサーの送信規則よりも優先されます。
- 仮想マシン上のインスタンス レベルのパブリック IP。
- ロード バランサーのアウトバウンド規則。
- インターネットへの既定のシステム ルート (Microsoft新しいデプロイではこのオプションは廃止されました)。
Important
仮想アプライアンス (Azure Firewall など) を指す宛先 0.0.0.0/0 を持つユーザー定義ルート (UDR) は、NAT ゲートウェイをオーバーライドします。 この動作は、組み合わされた NAT ゲートウェイ + ファイアウォール アーキテクチャの仕様です。 ワークロード サブネット上の UDR はトラフィックをファイアウォール経由で強制しますが、AzureFirewallSubnet 上の NAT ゲートウェイは最終的なエグレス IP を提供します。
結合アーキテクチャ: NAT ゲートウェイ + Azure Firewall
エンタープライズ エグレスに推奨される運用パターンは、両方のサービスを組み合わせたものです。
- ワークロード サブネットには、0.0.0.0/0 トラフィックをAzure Firewallプライベート IP アドレスに送信する UDR があります。
- Azure Firewallは、ネットワーク ルール、アプリケーション ルール、またはその両方を使用して送信トラフィックを検査およびフィルター処理します。
- NAT ゲートウェイは AzureFirewallSubnet に関連付け、ファイアウォールの送信接続にスケーラブルな SNAT を提供します。
- 二重 NAT は発生しません。 ファイアウォールはプライベート IP を使用して NAT ゲートウェイにトラフィックを送信し、NAT ゲートウェイはパブリック IP を使用して SNAT を 1 回適用します。
このアーキテクチャにより、スケーラブルな SNAT を使用した一元的な検査が可能になります。 AZUREFirewallSubnet では追加の UDR は必要ありません。NAT ゲートウェイは、関連付けられているときに送信インターネット トラフィックを自動的にルーティングするためです。
Note
Standard NAT ゲートウェイはゾーン リソースであり、ゾーン冗長デプロイをサポートしていません。 ゾーン冗長Azure Firewallをデプロイする場合は、ゾーン冗長 SNAT に NAT ゲートウェイ V2 (StandardV2 SKU) を使用します。 ゾーン冗長ファイアウォールと組み合わせると、ゾーン障害時に Standard NAT ゲートウェイが単一障害点になります。 詳細については、「NAT Gateway SKU」を参照してください。
データ フローのチュートリアル
次のシーケンスは、1 つの送信要求が結合されたアーキテクチャを通過する方法を示しています。
- ワークロード サブネット内の VM は、外部 API (たとえば、
api.contoso.com:443) への TCP 接続を開始します。 - サブネットの UDR は 0.0.0.0/0 と一致し、パケットをAzure Firewallプライベート IP に送信します。
- Azure Firewallは、アプリケーション ルールとネットワーク ルールに対して接続を評価します。 FQDN 許可エントリを含むアプリケーション規則が一致する場合、ファイアウォールは接続を許可します。
- ファイアウォールは、AzureFirewallSubnet 上の独自のインターフェイスから許可されたパケットを送信します。
- AzureFirewallSubnet に関連付けられている NAT ゲートウェイは、SNAT を実行します。 ファイアウォールのプライベート ソース IP をパブリック IP のいずれかに変換し、プールから SNAT ポートを割り当てます。
- 外部 API からの応答は、NAT ゲートウェイのパブリック IP に戻ります。 NAT ゲートウェイは逆変換を実行し、パケットをファイアウォールに返します。
- ファイアウォールは、既存の接続状態を介して送信元 VM に応答を送信します。
このエンド ツー エンド フローでは、ファイアウォールはトラフィックを 1 回だけ検査し、NAT ゲートウェイは 1 回だけ SNAT を適用し、二重 NAT は適用しません。
監視と診断
エグレス インフラストラクチャを監視して、ワークロードに影響を与える前に容量の問題を検出します。
- NAT ゲートウェイのメトリック:Azure Monitorで、SNAT 接続の合計数、SNAT 接続数 (状態ごと)、およびデータパスの可用性を監視します。 SNAT ポートの使用量が割り当てられた容量の 80% を超えたときにアラートを設定します。
- Azure Firewallログ: 診断設定を有効にして、Log Analyticsにログを送信します。 許可された送信接続と拒否された送信接続を監査するには、 AzureFirewallApplicationRule ログ カテゴリと AzureFirewallNetworkRule ログ カテゴリを使用します。
- 接続モニター: Network Watcher 接続モニターを使用して、ワークロード VM から外部エンドポイントへのエンドツーエンドの接続をテストします。 接続モニターは、SNAT の枯渇またはファイアウォールの構成ミスを示す可能性のある待機時間の増加と接続エラーを検出します。
- ファイアウォール メトリック:スループット、ルール ヒット数、SNAT ポート使用率を追跡して、ファイアウォール SKU のサイズを適切に設定し、ホット ルールを特定します。
設計上の考慮事項
移行されたワークロードからのすべての送信通信には、Azure Firewallを使用します。 このアプローチでは、1 日目からの FQDN フィルター処理、ログ記録、脅威検出を一元化できます。
- 既定の送信アクセスをオフにします。 新しいデプロイの場合、サブネットは既定でプライベート (自動送信なし) になります。 既存の VNet では、予測不能で管理されていないパブリック IP への依存を避けるため、既定のアウトバウンドを Azure Firewall 経由のエグレスに明示的に置き換えます。
- ワークロード サブネット上の UDR:すべてのスポーク ワークロード サブネットにユーザー定義ルート (0.0.0.0/0 → Azure Firewall プライベート IP) を作成します。 この構成により、インターネットにバインドされたすべてのトラフィックがハブ ファイアウォールを通過します。
- AzureFirewallSubnet 上の NAT ゲートウェイ: スケーラブルな SNAT のファイアウォール サブネットに NAT ゲートウェイを関連付けます。 この組み合わせにより、予測可能なエグレス IP が提供され、SNAT ポートの枯渇を回避できます。
- 広範な許可ルールから始めて、時間の経過と共に締め付けます。移行中に、アプリケーションに必要な宛先 (Windows Update、パッケージ リポジトリ、サードパーティ API) への送信を許可します。 移行が安定したら、ファイアウォール ログを監査し、既知の FQDN に制限します。
各スポークからハブ ファイアウォールへの UDR ベースのルーティングは、エグレス セキュリティ モデルの基盤です。 アプリ チームは、IT 管理の送信制御をバイパスできません。
- 各スポーク VNet の UDR:すべてのスポーク ワークロード サブネットには、プライベート IP Azure Firewall 0.0.0.0/0 → ハブを含むルート テーブルがあります。 この構成により、AKS ノード、App Service VNet 統合サブネット、および VM はすべてファイアウォールを経由して送信されます。
- SNAT としてのハブ ファイアウォール: Azure Firewallは、すべての送信接続に対してソース NAT を実行します。 すべてのスポーク ワークロードがファイアウォールのエグレス IP アドレスを共有するため、パートナー ファイアウォールの許可リストが簡略化されます。
- SNAT スケーリング用 NAT ゲートウェイ: NAT ゲートウェイを AzureFirewallSubnet に関連付けます。 16 個のパブリック IP (100 万以上の SNAT ポート) を使用すると、外部 API 呼び出しを行う多数のポッドを持つ AKS クラスターなどの高い接続数のワークロードを処理できます。
- FQDN 制御のアプリケーション 規則:AZURE FIREWALLアプリケーション 規則を使用して、FQDN による送信を制限します。 アプリ チームが FQDN を要求すると、変更管理プロセスを通じてエントリが許可されます。 既定で拒否すると、データの流出が防止されます。
セキュリティで保護された仮想ハブのAzure Firewallは、クラウド間のトランジット トラフィックとインターネット エグレスの両方を検査します。 両方のパスに対して 1 つのファイアウォールを共有すると、アーキテクチャが簡略化されます。
- エグレス用の仮想ハブ ファイアウォールをセキュリティで保護する:セキュリティで保護されたハブを使用してVirtual WANをデプロイする場合、ハブ内のAzure Firewallは、接続されているすべての VNet のインターネット エグレスを処理します。 セキュリティで保護されたハブのインターネット トラフィック ルーティング ポリシーを構成して、ファイアウォール経由で 0.0.0.0/0 を送信します。
- エグレスとクロスクラウド トランジットは、同じファイアウォールを共有します。インターネット宛てのトラフィックと、IPSec トンネルを介して AWS/Google Cloud 宛てのトラフィックは、どちらも検査のためにAzure Firewallを通過します。 この設計では、すべての送信パスに対して 1 つのルール セットを保持します。
- 必要な場合にのみ一元化します。 クラウド間の設計で一元化されたインターネット エグレスが要求されない場合 (たとえば、ワークロードがクラウド間でのみ通信する場合)、この構成をスキップし、クラウド間のトランジット ファイアウォール検査のみに依存できます。
前提条件
アウトバウンド エグレス制御を実装する前に、次の項目を確認してください。
- 仮想ネットワークは、 ワークロードに合わせてサイズ設定されたサブネットでデプロイされます。 サブネットの設計ガイダンスについては、 仮想ネットワークとサブネットに関する ページを参照してください。
- ユーザー定義ルート (UDR) と、既定のAzure ルーティングをオーバーライドする方法について説明します。 UDR 構成の詳細については、「 仮想ネットワークとサブネット 」を参照してください。
- Azure Firewallを使用すると、ファイアウォール サブネットのサイズが正しく設定されます。 AzureFirewallSubnet には、少なくとも /26 (64 個のアドレス) が必要です。
- SNAT のスケール要件は把握している。 ピーク同時送信接続を計算して、必要な NAT ゲートウェイ パブリック IP の数 (IP あたり 64,512 ポート) を決定します。
セキュリティに関する考慮事項
既定のアウトバウンド アクセスを置き換える
既定の送信アクセスは廃止されます。 2026 年 3 月 31 日以降にリリースされた API バージョンの場合、新しい仮想ネットワークは既定でプライベート サブネットに設定されます (自動送信なし)。 既存の仮想ネットワークは影響を受けませんが、明示的な送信方法に移行する必要があります。 詳細については、 既定の送信アクセスに関するドキュメントを参照してください。
Note
既定の送信アクセスを現在使用している既存の仮想ネットワークと VM は引き続き機能します。 ただし、割り当てられたパブリック IP は予測不可能で、フィルタリング機能もなく、Azure Advisor のアラートをトリガーします。 提供終了のタイムラインに関係なく、NAT ゲートウェイまたはAzure Firewallへの移行を計画します。
一元化されたファイアウォール検査のための UDR ルーティング
エグレス制御にAzure Firewallを使用する場合は、次を使用して、すべてのワークロード サブネットに UDR を作成します。
- 宛先: 0.0.0.0/0
- 次ホップの種類: 仮想アプライアンス
- 次ホップ アドレス: Azure Firewallプライベート IP (例: 10.0.1.4)
この構成により、ワークロード サブネットからのすべてのインターネットにバインドされたトラフィックが、検査のためにファイアウォールを通過します。 この UDR がないと、トラフィックはファイアウォールをバイパスし、サブネットで直接構成されている送信方法を使用します。
SNAT ポートの枯渇を防ぐ
SNAT ポートの枯渇は、ワークロードが使用可能なポート インベントリでサポートされているよりも多くの同時送信接続を開いたときに発生します。 現象には、断続的な接続タイムアウト、送信接続での TCP RST パケット、ソケット エラーが発生した失敗した HTTP 要求などがあります。 アプリケーション ログには、"既に使用中のアドレス" または "要求されたアドレスを割り当てることができない" というエラーが表示されます。 通常、枯渇は高負荷時に発生するのが一般的で、同じ宛先 IP アドレスとポートに対して多数の短時間接続が短時間のうちに急速に確立される場合に見られます。
枯渇を防ぐには:
- 送信接続数が多いワークロードには NAT ゲートウェイを使用します。 各パブリック IP は、サブネット内のすべてのリソースに動的に割り当てられた 64,512 個の SNAT ポートを提供します。
- 監視でポート使用量が 80%を超える場合は、パブリック IP を NAT ゲートウェイに追加します。 最大 16 個のパブリック IP を追加します。
- アプリケーション コードで接続プールを使用して、すべての要求に対して新しい接続を開くのではなく、既存の接続を再利用します。
- 可能な場合は宛先エンドポイントを分散します。 SNAT ポートの割り当ては宛先 IP/ポート タプルごとに行われるので、複数の宛先 IP にトラフィックを分散すると、ポートの負荷が軽減されます。
- アイドル タイムアウトを減らして、 ポートを迅速に回収します。 NAT ゲートウェイの既定のアイドル タイムアウトは 4 分です。 有効期間の短い接続を多数作成するワークロードの場合は、この値を小さくします。
ネットワーク セキュリティ グループがエグレス制御を補完する
ネットワーク セキュリティ グループ (NSG) と送信エグレスメソッドは、さまざまな目的に対応し、連携します。 NSG は、サブネットまたは NIC レベルで IP アドレスとポートによってトラフィックをフィルター処理します。 NAT ゲートウェイとAzure Firewallは、トラフィックがインターネットに到達する方法を制御します。 多層防御には両方のレイヤーを使用します。 NSG 設計ガイダンスについては、 ネットワーク セキュリティ グループとアプリケーション セキュリティ グループ に関するページを参照してください。
強制トンネリングに関する考慮事項
オンプレミス経由の強制トンネリング エグレスでは、待機時間が発生し、オンプレミスのファイアウォールへの依存関係が追加される可能性があります。 待機時間が短いことが重要な場合は、エグレス検査のAzure Firewallを検討してください。 コンプライアンスでオンプレミスの検査が義務付けられている場合は、ワークロード サブネットからのエンドツーエンドの待機時間をテストし、オンプレミスパスがボトルネックになることなくスループット要件を処理できることを確認します。
データ流出を防止する
FQDN フィルター処理Azure Firewall、送信接続を承認済みのドメイン名のみに制限することで、データ流出を防止します。 特定の FQDN へのトラフィック ( *.blob.core.windows.net や api.partner.comなど) を許可し、他のすべての送信接続を拒否するアプリケーション ルールを定義します。 この方法により、侵害されたワークロードが攻撃者が制御するエンドポイントにデータを送信できなくなります。
関連資料
- 仮想ネットワークとサブネット: サブネットの設計と UDR ルーティング
- IP アドレスの計画: NAT ゲートウェイのパブリック IP 割り当て
- Azure Firewallの配置と規則: 規則コレクションの優先順位とアーキテクチャ パターンに関する詳細なファイアウォール ガイダンス
- ネットワーク セキュリティ グループとアプリケーション セキュリティ グループ: エグレス制御を補完するトラフィック フィルタリング
- ハイブリッド接続: 強制トンネリングは、必要に応じてオンプレミスにエグレスを送信します
- インバウンド インターネット接続: エグレスの対となる受信側
詳細情報
- Azure NAT Gateway のドキュメント
- Azure Firewall のドキュメント
- Azure における VM の既定のアウトバウンド アクセス
- Azure NAT Gatewayを使用して SNAT ポートをスケーリングする (ファイアウォール統合)
- Azure Firewall Premium の機能
次のステップ
Tip
あなた自身で探検? 概要ナビゲーターに戻り、機能別に次の記事を見つけます。
リフトアンドシフト体験の次の手順:
ハブ ファイアウォールを構成する: 一元的な東西検査と送信トラフィック制御用にAzure Firewallを設定します。
次に、最新化の取り組みを行います。
ハブ ファイアウォールを構成する: Azure Firewallを SNAT/DNAT としてハブに設定して、アプリ層に到達する前にすべてのトラフィックをスクラブします。
マルチクラウドへの移行における次のステップ:
クラウド間の監視を設定する: クロスクラウド資産のトラブルシューティングは困難です。 ライブに進む前に監視を確立します。