TL

Cloud Service

Azure NAT Gateway

サブネットの外向き通信を集約し、SNAT ポート枯渇を防いで安定したアウトバウンド接続を実現する Azure のマネージド NAT サービス。AWS の NAT Gateway に相当。

中級信頼性セキュリティ運用上の優秀性コスト最適化
最終更新: 2026-06-28公式ドキュメント ↗
TL;DR要点だけ先に
  • 1.サブネットからの外向き通信に固定の送信元 IP を与えるマネージド NAT。
  • 2.SNAT ポートを大量に確保し、接続枯渇を防ぐ。
  • 3.受信は持たず外向き専用。AWS の NAT Gateway 相当。

解決する課題

プライベートサブネットの仮想マシンに公開 IP を直接付けずに、安定した外向き通信と固定の送信元 IP を確保できます。

  • 各 VM に公開 IP を割り当てず、送信元 IP を1つ(または数個)に集約したい
  • ロードバランサの送信規則で起きがちな SNAT ポート枯渇を解消したい
  • 外部 API やパートナーに許可リスト用の固定 IP を提示したい
  • 受信は許さず、外向き(アウトバウンド)通信だけを許可したい

主要概念と用語

  • NAT Gateway: サブネットに関連付けて使うマネージドな送信元 NAT(SNAT)リソース。サブネット内のリソースの外向き通信を、指定した公開 IP / プレフィックスへ変換する。外向き専用で受信フローは持たない
  • SNAT(送信元 NAT): プライベート IP を公開 IP へ書き換える変換。送信元 IP とポートの組み合わせ(ポート単位)でフローを多重化する
  • SNAT ポート: 1つの公開 IP あたり利用できる送信ポートの数。宛先ごとにポートを消費するため、外向き接続数の上限を左右する
  • アイドルタイムアウト: 確立済みフローが無通信のまま解放されるまでの待ち時間。長くするとポートを長く保持し、短くすると早く解放する
  • 関連付け対象: NAT Gateway はサブネット単位で関連付ける。1サブネットに付けられる NAT Gateway は1つ
  • 送信先 IP: NAT Gateway には公開 IP アドレスまたは公開 IP プレフィックスを複数まとめて割り当てられ、IP を増やすほど利用可能 SNAT ポート総数が増える

仕様・制限・クォータ

  • Standard SKU の公開 IP / プレフィックスのみを関連付けできる
  • NAT Gateway はゾーン指定(zonal)リソースで、特定の可用性ゾーンに配置する。ゾーンをまたぐ冗長は、ゾーンごとに NAT Gateway を分けて構成する
  • 1つの NAT Gateway に複数の公開 IP / プレフィックスを束ねられ、合計の SNAT ポート数が利用上限を決める
  • 同一サブネットに NAT Gateway とロードバランサ送信規則を併用しない(NAT Gateway が外向きを引き取る)
  • アイドルタイムアウトは既定値があり、一定範囲で延長できる
  • サブスクリプション/リージョンごとに NAT Gateway 数や IP 数の上限があり、必要に応じて引き上げ申請できる

内部の仕組み

NAT Gateway は、Azure の SDN(ソフトウェア定義ネットワーク)基盤上で動くフルマネージドな送信元 NAT です。サブネットに関連付けると、そのサブネット内のリソースの既定の外向き経路が NAT Gateway 経由に切り替わり、外向きフローは割り当てた公開 IP / プレフィックスへ SNAT されて出ていきます。

  • ポートを宛先ごとに動的に割り当てるため、同じ送信元から多数の異なる宛先へ大量に接続しても、ポートを効率よく使い回せる。これが固定割り当てのロードバランサ送信規則より枯渇に強い理由
  • 受信フローは扱わないため、外部からの着信は別途ロードバランサや公開 IP で構成する必要がある
  • 複数の公開 IP / プレフィックスを束ねると、IP 全体でポートプールが拡大し、より多くの同時外向き接続を維持できる
  • アイドルタイムアウト経過後にフローを解放してポートを回収する。短時間に再接続を繰り返すワークロードでは TCP のリセット動作と合わせて挙動を理解しておく
優先順位を覚える

サブネットの外向き経路は、関連付けがあれば NAT Gateway が最優先で使われます。同じサブネットにロードバランサの送信規則やインスタンスレベルの公開 IP があっても、NAT Gateway があればそちらが外向きを担います。

設計パターン / ベストプラクティス

  • プライベートサブネット + NAT Gateway を外向きの既定にする。VM に個別の公開 IP を付けずに済み、攻撃面を小さくできる
  • SNAT ポートが足りないときは公開 IP / プレフィックスを追加する。多数の同時外向き接続(高並列のバッチ・スクレイピング・外部 API 連携)では特に有効
  • 許可リスト用の固定送信元 IP を提示したい場合は、公開 IP プレフィックスで連続した範囲を確保すると相手側の登録が容易
  • ゾーンごとに NAT Gateway を分離し、ゾーン障害の影響範囲をそのゾーンに閉じ込める
  • 同じ宛先へ大量接続するならアイドルタイムアウトを見直す。短くするとポート回収が早まり枯渇を緩和できる
ロードバランサ送信規則との併用

NAT Gateway とロードバランサの送信規則を同じサブネットで二重に使わないこと。外向きは NAT Gateway に一本化し、送信元 IP の管理とポート枯渇対策をそこに集約します。

運用・監視

  • Azure Monitor のメトリクスで状態を把握する。代表的なものに、処理パケット数・バイト数、利用中の SNAT 接続数、SNAT ポートの利用状況、ドロップしたパケット数などがある
  • SNAT ポート利用率が高止まりしていたら、公開 IP を増やす・アイドルタイムアウトを短くする・接続を使い回す(コネクションプール)などで対処する
  • ドロップパケットの増加は枯渇や設定不整合のサイン。メトリクスのアラートを設定して早期に気づけるようにする
  • 関連付けの変更(サブネットへの付け外し)は外向きの送信元 IP が変わるため、許可リストへ登録済みの相手がいる場合は影響を事前周知する

コスト

NAT Gateway は「リソースの時間課金」と「処理データ量」に加え、割り当てる公開 IP / プレフィックスの料金がかかります。アイドルでも時間課金が発生する点に注意します。

コスト最適化

外向きトラフィックが少なく、固定送信元 IP も不要なら、NAT Gateway なしの既定の外向き(または最小構成)で足りることがあります。逆に多数の VM が個別に公開 IP を持つ構成なら、公開 IP を NAT Gateway に集約して IP 数を減らした方が安く・安全になる場合があります。

セキュリティ

  • VM に公開 IP を付けない運用にできるため、外部からの直接到達面を減らせる。受信は NAT Gateway では一切行われない
  • 外向きの送信元が既知の固定 IP に集約されるため、相手側ファイアウォールでの許可リスト運用がしやすい
  • 通信内容の検査(IDS/IPS・URL フィルタリング)が要る場合は、NAT Gateway とは別に Azure Firewall などのアウトバウンド検査を併用する
  • NSG はサブネット/NIC の受信・送信制御に引き続き有効。NAT Gateway は送信元変換を担い、フィルタリングは NSG / ファイアウォールが担う
アンチパターン

NAT Gateway を通信内容のフィルタリング装置と誤解しないこと。NAT Gateway は送信元 IP とポートを変換するだけで、宛先 FQDN の許可・拒否や脅威検査は行いません。アウトバウンドの検査が必要なら Azure Firewall を経路に挟みます。

関連サービス・比較

外向き通信の出口(送信元 NAT)には複数の選択肢があり、用途で使い分けます。受信を伴うロードバランサの送信規則と、外向き専用の NAT Gateway は役割が異なります。

観点NAT GatewayLoad Balancer 送信規則
主な役割外向き専用の送信元 NAT受信分散のついでに外向きも提供
SNAT ポート割り当て宛先ごとに動的で枯渇に強い事前に固定割り当て
受信フロー扱わない受信を担うのが本来の役目
設定の単位サブネットに関連付けロードバランサの規則として定義
向いている用途プライベートサブネットの外向き集約受信 LB と外向きをまとめたい場合
使い分けの要点

外向きの安定性とポート枯渇対策が目的なら NAT Gateway。受信の負荷分散が主目的で外向きはおまけで足りるならロードバランサの送信規則。両方を同じサブネットで重ねないことが設計の基本です。

ハンズオン / CLI例

# リソースグループを作成
az group create --name demo-rg --location japaneast

# 送信元となる Standard 公開 IP を作成
az network public-ip create \
  --resource-group demo-rg \
  --name nat-pip \
  --sku Standard \
  --zone 1

# NAT Gateway を作成(公開 IP を関連付け)
az network nat gateway create \
  --resource-group demo-rg \
  --name demo-natgw \
  --location japaneast \
  --public-ip-addresses nat-pip \
  --idle-timeout 4 \
  --zone 1

# 既存サブネットに NAT Gateway を関連付け(外向きを集約)
az network vnet subnet update \
  --resource-group demo-rg \
  --vnet-name demo-vnet \
  --name workload-subnet \
  --nat-gateway demo-natgw

Azure Service

Azure NAT Gatewayを実務で読む

TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。

解決すること

ネットワーキング

比較で見る軸

クラウド: Azure / カテゴリ: ネットワーキング / 難易度: intermediate

導入後に効く点

SNAT ポートを大量に確保し、接続枯渇を防ぐ。

先に潰すリスク

サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。

数字・仕様の読み方
クラウド
Azure
カテゴリ
ネットワーキング
難易度
intermediate
関連資格
設計柱
reliability / security / operational / cost

判断チェックリスト

  • 自社の用途が「ネットワーキング / reliability」に近いか確認する。
  • 強みである「サブネットからの外向き通信に固定の送信元 IP を与えるマネージド NAT。」が本当に評価軸になるか確認する。
  • 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
  • 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
  • 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
  • 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。

次に確認する観点

ネットワーキングreliabilitysecurityoperationalcost