ENGINEER BLOG ENGINEER BLOG
  • 公開日
  • 最終更新日

【VPC】NAT Gatewayで失敗したお話

この記事を共有する

目次

はじめに

本記事では、2つのVPC間でNAT Gateway通信できないことについて、
なぜできないのかという仕組みの解説と、実際にあった失敗談をご紹介します。


背景・課題

想定していた要件

  • コストは可能な限り抑えたい
  • NAT Gatewayを共用できないか検討

設計時に考えたこと

本番と検証環境でのNAT Gatewayを共有すればコストが抑えられる?

コストを考慮し設計を進めた結果、通信は成立しませんでした。


前提条件・構成

今回の検証環境は以下の通りです。

システム構成

  • リージョン: ap-northeast-1(東京)
  • VPC①: 本番環境VPC(10.10.0.0/16)
  • VPC②: 検証環境VPC(10.20.0.0/16)
  • 本番VPC内にNAT Gatewayを1台配置
  • 各VPCはインターネットゲートウェイ(IGW)を保持

想定ルート設計(誤り)

本番VPC内NAT Gateway → 検証VPC → 検証VPC内EC2(プライベートIP)

コスト削減のため、NAT Gatewayを1台で本番と検証で共用する設計を試みました。


NAT Gatewayの基本動作

Amazon VPCのNAT Gatewayは、以下の用途に特化したマネージドサービスです。

  • プライベートサブネットからインターネットへ出るための出口
  • 送信元プライベートIPをElastic IPへ変換
  • 宛先はインターネットゲートウェイ(IGW)経由

つまり、NAT Gatewayは

「インターネット向け通信専用の出口」

であり、別VPCのプライベートIP宛通信は想定されていません。


実際にあった失敗事例

構成

  • 本番VPC: 10.10.0.0/16
  • 検証VPC: 10.20.0.0/16
  • NAT Gateway: 本番VPC内に1台

目的

本番VPC内NAT Gateway → 検証VPC内の特定EC2へ通信させたい。

結果

  • パケットはNAT Gatewayまで到達
  • 宛先がプライベートIPのためIGW経由ルートが成立せず破棄
  • 戻り経路も確立できず通信失敗

疎通確認(ping / curl / telnet)はすべて失敗しました。


NAT Gatewayの料金(東京リージョン例)

項目 単価 備考
時間単位料金 約0.065 USD/時間 リージョンにより変動
月額(概算) 約46〜50 USD 24時間×30日計算
データ処理料金 約0.059 USD/GB 送信データ量に依存

本番・検証それぞれに配置すると、固定費は倍になります。

しかし、

仕様を満たさない設計での共用は、そもそも成立しません。


なぜNAT GatewayではVPC間通信できないのか

1. IGW前提の設計

NAT Gatewayはインターネットゲートウェイ経由の通信のみ想定しています。

2. プライベートIP宛はルーティング対象外

宛先が10.x.x.xなどのプライベートアドレスの場合、
IGW経由の通信にならないため破棄されます。

3. 戻り経路が成立しない

NAT変換されたIPはElastic IPとなるため、VPC間で正しいルーティングができません。

公式ドキュメント情報

AWS公式ドキュメントでは明確に記載されています。
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/nat-gateway-basics.html

“You cannot route traffic to a NAT gateway through a VPC peering connection.”

つまり、NAT Gatewayは

  • インターネット向けアウトバウンド専用
  • VPC間通信の中継には利用不可
  • Peering経由ルーティング不可

という設計仕様です。

設計前に確認すれば回避できた内容でした…


正しいVPC間通信方法

VPC間通信を行う場合、以下の方法が適切です。

  • VPC Peering : 1対1接続でシンプル、低遅延。
  • Transit Gateway : 複数VPCを集約接続可能。
  • Site-to-Site VPN : 暗号化通信が必要な場合。
  • PrivateLink : 特定サービスのみ公開する場合に有効。

教訓

NAT GatewayはVPC間通信のためのサービスではない。

コスト削減のみ優先して設計を進めると、正しく動作しない設計となる恐れがあることを学びました。


まとめ

本記事では、NAT Gatewayで失敗したお話をさせていただきました。
今回の失敗を学びとして、次に活かしていきたいと思います!

この記事は私が書きました

橋本 歩

記事一覧

AWSと犬が好きです。

橋本 歩

この記事を共有する

クラウドのご相談

CONTACT

クラウド導入や運用でお悩みの方は、お気軽にご相談ください。
専門家がサポートします。

サービス資料ダウンロード

DOWNLOAD

ビジネスをクラウドで加速させる準備はできていますか?
今すぐサービス資料をダウンロードして、詳細をご確認ください。