Azure NAT Gateway のリソース
この記事では、NAT ゲートウェイ リソースの主要なコンポーネントについて説明します。これにより、高度にセキュリティで保護され、スケーラブルで回復性の高い送信接続が提供されます。 これらのコンポーネントの一部は、Azure portal、Azure CLI、Azure PowerShell、Resource Manager テンプレート、または適切な代替手段を使用して、サブスクリプションで構成できます。
NAT Gateway のアーキテクチャ
NAT Gateway は、ソフトウェア定義ネットワークを使用して、分散型のフル マネージド サービスとして動作します。 NAT Gateway には複数の障害ドメインがあるため、サービスに影響を与えずに複数の障害に耐えられます。
NAT Gateway は、Azure 仮想ネットワークのサブネット内のプライベート インスタンスに対してソース ネットワーク アドレス変換 (SNAT) を提供します。 サブネット上で構成されている場合、サブネット内のプライベート IP は NAT ゲートウェイの静的パブリック IP アドレスに SNAT 接続して、インターネットに送信接続します。 また、NAT Gateway では、送信元の接続のみに対する応答パケットに対して宛先ネットワーク アドレス変換 (DNAT) も提供されます。
"図: インターネットへの送信用の NAT ゲートウェイ"
NAT ゲートウェイが仮想ネットワーク内のサブネットに接続されている場合、NAT ゲートウェイは、インターネットに送信されるすべての送信トラフィックに対するサブネットの既定のネクスト ホップの種類を想定します。 追加のルーティング構成は必要ありません。 NAT Gateway は、インターネットからの要求されていない受信接続を提供しません。 DNAT は、送信パケットへの応答として到着したパケットに対してのみ実行されます。
サブネット
1 つの NAT ゲートウェイを仮想ネットワーク内の複数のサブネットに接続して、インターネットへの送信接続を提供できます。 NAT ゲートウェイがサブネットに接続されている場合、インターネットへの既定のルートが想定されます。 NAT ゲートウェイは、インターネット宛てのすべての送信トラフィックのネクスト ホップの種類になります。
NAT ゲートウェイでは、次のサブネット構成を使用できません。
NAT ゲートウェイがサブネットに接続されている場合、インターネットへの既定のルートが想定されます。 1 つだけの NAT ゲートウェイがサブネットのインターネットへの既定のルートとして機能できます。
NAT ゲートウェイは、異なる仮想ネットワークのサブネットに接続できません。
NAT ゲートウェイをゲートウェイ サブネットと共に使用することはできません。 ゲートウェイ サブネットは、Azure 仮想ネットワークとオンプレミスの場所の間で暗号化されたトラフィックを送信する VPN ゲートウェイ用の指定されたサブネットです。 ゲートウェイ サブネットの詳細については、「ゲートウェイ サブネット」を参照してください。
静的パブリック IP アドレス
NAT ゲートウェイは、送信接続を提供するために、静的パブリック IP アドレスまたはパブリック IP プレフィックスに関連付けることができます。 NAT Gateway では、IPv4 アドレスがサポートされます。 NAT ゲートウェイでは、合計 16 個の IP アドレスまで、任意の組み合わせでパブリック IP アドレスまたはプレフィックスを使用できます。 パブリック IP プレフィックスを割り当てた場合、そのパブリック IP プレフィックス全体が使われます。 パブリック IP プレフィックスを直接使用できるほか、複数の NAT ゲートウェイ リソースにプレフィックスのパブリック IP アドレスを割り振ることもできます。 NAT ゲートウェイによって、すべてのトラフィックはプレフィックスの IP アドレス範囲に調整されます。
NAT ゲートウェイは、IPv6 パブリック IP アドレスまたはプレフィックスと共に使用することはできません。
NAT ゲートウェイは、基本的な SKU パブリック IP アドレスと共に使用することはできません。
SNAT ポート
SNAT ポート インベントリは、パブリック IP アドレス、パブリック IP プレフィックス、または NAT ゲートウェイに接続されている両方によって提供されます。 SNAT ポート インベントリは、NAT ゲートウェイに接続されているサブネット内のすべてのインスタンスでオンデマンドで使用できます。 インスタンスあたりの SNAT ポートの事前割り当ては必要ありません。
SNAT ポートと Azure NAT Gateway の詳細については、「ソース ネットワーク アドレス変換 (SNAT) と Azure NAT Gateway」を参照してください。
仮想ネットワーク内の複数のサブネットが同じ NAT ゲートウェイ リソースに接続されている場合、NAT Gateway によって提供される SNAT ポート インベントリはすべてのサブネットで共有されます。
SNAT ポートは、互いに異なる接続フローを区別するための一意の識別子として機能します。 同じ SNAT ポートを使用して、同時に異なる宛先エンドポイントに接続できます。
異なる SNAT ポート は、異なる接続フローを相互に区別するために、同じ宛先エンドポイントに接続するために使用されます。 同じ宛先に接続するために再利用される SNAT ポートは、再利用される前に再利用クールダウン タイマーに配置されます。
図: SNAT ポートの割り当て
1 つの NAT ゲートウェイで、最大 16 個の IP アドレスまでスケールアップできます。 各 NAT ゲートウェイのパブリック IP アドレスでは、送信接続を行うために 64,512 個の SNAT ポートが提供されます。 NAT ゲートウェイでは、100 万個を超える SNAT ポートまでスケールアップできます。 TCP と UDP は、別個の SNAT ポート インベントリであり、NAT Gateway から独立しています。
可用性ゾーン
NAT ゲートウェイは、特定の可用性ゾーンに作成することも、「ゾーンなし」に配置することもできます。 NAT ゲートウェイがゾーンに配置されていない場合、Azure は NAT ゲートウェイが存在するゾーンを選択します。
ゾーン冗長パブリック IP アドレスは、ゾーンまたは非ゾーンの NAT ゲートウェイ リソースで使用できます。
個々の可用性ゾーンへの NAT ゲートウェイを構成することをおすすめします。 さらに、同じゾーンのプライベート インスタンスを持つサブネットにアタッチする必要があります。 可用性ゾーンと Azure NAT Gateway の詳細については、「可用性ゾーンの設計に関する考慮事項」を参照してください。
NAT ゲートウェイのデプロイ後は、ゾーン選択は変更できません。
プロトコル
NAT Gateway は、UDP および TCP フローの IP および IP トランスポート ヘッダーと対話します。 NAT ゲートウェイは、アプリケーション層のペイロードに依存しません。 他の IP プロトコルはサポートされません。
TCP リセット
TCP リセット パケットは、NAT ゲートウェイが存在しない接続フロー上のトラフィックを検出したときに送信されます。 TCP リセット パケットは、接続フローの解放が発生し、この同じ TCP 接続での今後の通信が失敗することを受信エンドポイントに示します。 TCP リセットは、NAT ゲートウェイでは一方向です。
次の場合、接続フローが存在しない可能性があります。
接続フローで一定の非アクティブ状態が発生した後、アイドル タイムアウトに達し、接続が通知なく切断されました。
送信者は、Azure ネットワーク側またはパブリック インターネット側から、接続が切断された後にトラフィックを送信しました。
TCP リセット パケットは、切断された接続フローでトラフィックを検出したときにのみ送信されます。 この操作は、接続フローが切断された直後に TCP リセット パケットが送信されない可能性があることを意味します。
システムは、トラフィックが Azure ネットワーク側とパブリック インターネット側のどちらから送信されたかに関係なく、存在しない接続フローでのトラフィックの検出に応答して TCP リセット パケットを送信します。
TCP アイドル タイムアウト
NAT ゲートウェイは、TCP プロトコルに対して 4 分から 120 分の構成可能なアイドル タイムアウト範囲を提供します。 UDP プロトコルのアイドル タイムアウトは 4 分で構成不可です。
接続がアイドル状態になると、接続アイドル状態がタイムアウトするまで、NAT ゲートウェイは SNAT ポートを保持します。長いアイドル タイムアウト タイマーは SNAT ポート枯渇の可能性を不必要に高める可能性があるため、TCP アイドル タイムアウト期間を既定の 4 分よりも長くすることはおすすめしません。 アイドル タイマーは、アイドル状態にならないフローには影響しません。
TCP キープアライブを使用して、長時間のアイドル接続とエンドポイントのライブ状態の検出を更新するパターンを提供できます。 詳細については、こちらの .NET の例をご覧ください。 TCP キープアライブは、エンドポイントからは重複する ACK として認識され、オーバーヘッドが低く、アプリケーション レイヤーからは見えません。
UDP アイドル タイムアウト タイマーは構成できないため、UDP キープアライブを使用して、アイドル タイムアウト値に達していないこと、および接続が維持されていることを確認する必要があります。 TCP 接続とは異なり、接続の片側で有効になっている UDP キープアライブは、一方向のトラフィック フローにのみ適用されます。 トラフィック フローを維持するには、トラフィック フローの両側で UDP キープアライブを有効にする必要があります。
タイマー
ポート再利用タイマー
ポート再利用タイマーは、接続が閉じられた後、ソース ポートが保留状態になってから、それを NAT ゲートウェイによって同じ宛先エンドポイントへの接続に再利用できるようになるまでの時間を決定します。
次の表では、同じ宛先エンドポイントに対し、NAT ゲートウェイによって TCP ポートが再利用できるようになるまでの時間に関する情報を示します。
Timer | 説明 | 値 |
---|---|---|
TCP FIN | TCP FIN パケットによって接続が閉じると、SNAT ポートを保留状態にする 65 秒タイマーがアクティブになります。 タイマーが終了すると、SNAT ポートを再利用できるようになります。 | 65 秒 |
TCP RST | TCP RST パケットによって接続が閉じると (リセット)、SNAT ポートを保留状態にする 16 秒タイマーがアクティブになります。 タイマーが終了すると、そのポートを再利用できるようになります。 | 16 秒 |
TCP half open | 一方の接続エンドポイントが他方のエンドポイントからの受信確認を待機している接続確立中に、30 秒タイマーがアクティブになります。 トラフィックが検出されない場合、接続は閉じます。 接続が閉じられると、同じ宛先エンドポイントに対してソース ポートを再利用できます。 | 30 秒 |
UDP トラフィックの場合、接続が閉じた後、ポートは 65 秒間保留状態に置かれてから再利用できるようになります。
アイドル タイムアウト タイマー
Timer | 説明 | 値 |
---|---|---|
TCP アイドル タイムアウト | エンドポイントの間で長時間データが送信されない場合、TCP 接続はアイドル状態になることがあります。 アイドル状態になった接続をタイムアウトさせるタイマーは、4 分 (既定) から 120 分 (2 時間) の範囲で構成できます。 アイドル タイムアウト タイマーは、フロー上のトラフィックによってリセットされます。 | 構成可能: 4 分 (既定値) - 120 分 |
UDP アイドル タイムアウト | エンドポイントの間で長時間データが送信されない場合、UDP 接続はアイドル状態になることがあります。 UDP アイドル タイムアウト タイマーは 4 分であり、構成はできません。 アイドル タイムアウト タイマーは、フロー上のトラフィックによってリセットされます。 | 構成不可。4 分 |
Note
これらのタイマー設定は、変更されることがあります。 記載した値は、トラブルシューティングでの利用を意図したものです。特定のタイマーを前提とした判断は、現時点では避けてください。
帯域幅
各 NAT ゲートウェイは、合計最大 50 Gbps のスループットを提供できます。 データ スループット レートの制限は、送信データと受信 (応答) データの間で分割されます。 データ スループットは、NAT ゲートウェイ リソースあたり、送信データでは 25Gbps、受信 (応答) データでは 25Gbps にレートが制限されています。 デプロイを複数のサブネットに分割し、各サブネットまたはサブネットのグループを NAT ゲートウェイに割り当てて、スケールアウトすることができます。
パフォーマンス
NAT ゲートウェイでは TCP および UDP のインターネット経由で同じ宛先エンドポイントに対してパブリック IP アドレスごとに最大 50,000 のコンカレント接続をサポートできます。 NAT ゲートウェイは、1 秒あたり 1M パケットを処理し、1 秒あたり最大 5M パケットをスケールできます。
NAT ゲートウェイが任意の時点でサポートできる接続の合計数は、最大 200 万です。 NAT ゲートウェイが 200 万接続を超えると、データパスの可用性が低下し、新しい接続に失敗します。
制限事項
基本ロード バランサーと基本パブリック IP アドレスは NAT ゲートウェイと互換性がありません。 代わりに、標準 SKU ロード バランサーとパブリック IP を使用してください。
Load Balancer を Basic から Standard にアップグレードするには、「Azure Public Load Balancer をアップグレードする」を参照してください。
パブリック IP アドレスを Basic から Standard にアップグレードするには、「パブリック IP アドレスをアップグレードする」を参照してください。
NAT ゲートウェイでは ICMP をサポートしません
IP 断片化は NAT Gateway では使用できません。
NAT Gateway は、ルーティング構成の種類がインターネットのパブリック IP アドレスをサポートしません。 パブリック IP でインターネットのルーティング構成をサポートする Azure サービスの一覧については、パブリック インターネット経由のルーティングでサポートされているサービスに関するページを参照してください。
DDoS 保護が有効になっているパブリック IP は、NAT ゲートウェイではサポートされていません。 詳細については、「DDoS の制限」に関するページを参照してください。zzzzz
セキュリティ保護付き仮想ハブ ネットワーク (vWAN) アーキテクチャでは、Azure NAT Gateway はサポートされていません。
次のステップ
Azure NAT Gateway に関する記事を参照してください。
NAT ゲートウェイのメトリックとアラートについて理解する。
NAT ゲートウェイのトラブルシューティング方法を理解する。