▪️目的

AWSでネットワークを構築していると、「NAT Gateway(NATゲートウェイ)」というサービスが登場します。

NAT Gatewayは、プライベートサブネットに配置したEC2などのリソースから、インターネットへアクセスするときに利用されるサービスです。

例えば、プライベートサブネットに配置したEC2から、

  • ソフトウェアをダウンロードする
  • 外部APIへアクセスする
  • インターネット上のサービスへ通信する

といったことを行いたい場合に、NAT Gatewayが利用されます。

この記事では、NAT Gatewayとは何なのか、なぜ必要なのか、Internet Gatewayとは何が違うのかを、AWS初心者向けに解説します。


▪️NAT Gatewayとは?

NAT Gatewayとは、プライベートサブネットにあるリソースからインターネットへアクセスするためのAWSのマネージドサービスです。

NATは、

Network Address Translation

の略で、ネットワークアドレスを変換する仕組みを意味します。

例えば、プライベートサブネットにEC2を配置するとします。

VPC
│
├─ Public Subnet
│
└─ Private Subnet
      │
      └─ EC2

このEC2には、例えば、

10.0.2.10

のようなプライベートIPアドレスが割り当てられます。

このEC2からインターネットへアクセスしたい場合、NAT Gatewayを利用して、

EC2
 ↓
NAT Gateway
 ↓
Internet Gateway
 ↓
インターネット

という経路を作ります。


▪️なぜNAT Gatewayが必要なの?

ここで、

「Internet Gatewayがあるなら、NAT Gatewayはいらないのでは?」

と思うかもしれません。

しかし、Internet GatewayとNAT Gatewayでは役割が異なります。

Internet Gatewayは、VPCとインターネットの通信を可能にするためのゲートウェイです。

一方、NAT Gatewayは、プライベートサブネットにあるリソースがインターネットへアクセスするための中継役として利用します。

例えば、以下のような構成を考えてみます。

VPC
│
├─ Public Subnet
│     └─ EC2
│
└─ Private Subnet
      └─ EC2

Public SubnetのEC2は、構成によってはインターネットと直接通信できます。

一方、Private SubnetのEC2は、インターネットから直接アクセスされないように構成することができます。

それでもPrivate SubnetのEC2から、

インターネット

へアクセスしたい場合があります。

そこでNAT Gatewayを利用します。


▪️NAT Gatewayはどこに配置する?

NAT Gatewayは、基本的にPublic Subnetに配置します。

例えば、以下のような構成です。

VPC
│
├─ Public Subnet
│     └─ NAT Gateway
│
└─ Private Subnet
      └─ EC2

「インターネットへ出ていくためのものなのに、なぜPublic Subnetに置くの?」

と思うかもしれません。

NAT Gateway自身がインターネットへ通信できる必要があるからです。

そのため、NAT Gatewayを配置するPublic Subnetには、Internet Gatewayへ向かうルートを持つRoute Tableを関連付けます。

例えば、

Destination    Target
10.0.0.0/16    local
0.0.0.0/0      Internet Gateway

という設定です。


▪️Private Subnetからインターネットへ通信する仕組み

では、Private SubnetにあるEC2からインターネットへアクセスする場合を見てみましょう。

例えばEC2のプライベートIPアドレスが、

10.0.2.10

だったとします。

このEC2からインターネット上のWebサイトへアクセスします。

通信は、以下のような経路を通ります。

EC2
 ↓
Private Subnet
 ↓
Route Table
 ↓
NAT Gateway
 ↓
Internet Gateway
 ↓
インターネット

ここで重要なのが、Private SubnetのRoute Tableです。

Private SubnetのRoute Tableには、例えば以下のようなルートを設定します。

Destination    Target
10.0.0.0/16    local
0.0.0.0/0      NAT Gateway

この、

0.0.0.0/0 → NAT Gateway

によって、

「VPC内部以外の宛先への通信は、NAT Gatewayへ送る」

という経路を作ります。


▪️NAT Gatewayによるアドレス変換

NAT Gatewayの重要な役割の一つが、アドレス変換です。

例えば、Private SubnetのEC2から、

送信元:10.0.2.10
宛先:インターネット上のサーバー

へ通信するとします。

プライベートIPアドレスはインターネット上ではそのまま利用できないため、NAT Gatewayを経由します。

NAT Gatewayでは、プライベートIPアドレスから、NAT Gatewayに関連付けられたパブリックIPアドレスへ変換してインターネットへ通信します。

イメージとしては、

EC2
10.0.2.10
   ↓
NAT Gateway
   ↓
パブリックIP
   ↓
Internet Gateway
   ↓
インターネット

という流れです。

そのため、インターネット側から見ると、Private SubnetのEC2ではなく、NAT Gateway側のパブリックIPアドレスから通信しているように見えます。


▪️NAT Gatewayからの戻りの通信

では、インターネット側からレスポンスが返ってきた場合はどうなるのでしょうか。

NAT Gatewayは、送信時のアドレス変換情報を利用して、戻ってきた通信を元のEC2へ対応付けます。

イメージとしては、

EC2
10.0.2.10
 ↓
NAT Gateway
 ↓
Internet
 ↓
レスポンス
 ↓
NAT Gateway
 ↓
EC2
10.0.2.10

となります。

このため、Private SubnetのEC2から外部サービスへアクセスし、そのレスポンスを受け取るといった通信が可能になります。


▪️Internet Gatewayとの違い

NAT GatewayとInternet Gatewayは、どちらもAWSのネットワーク構成で登場するため、混同しやすいです。

それぞれの役割を整理してみましょう。

項目Internet GatewayNAT Gateway
主な役割VPCとインターネットを接続Private Subnetからインターネットへ接続
配置VPCにアタッチPublic Subnet
主な利用対象VPC内のリソースPrivate Subnetのリソース
アドレス変換NAT Gatewayとは役割が異なるNATを行う
AWS管理AWSマネージドAWSマネージド

特に覚えておきたいのは、

Internet Gateway
↓
VPCとインターネットを接続する

NAT Gateway
↓
Private Subnetからインターネットへアクセスするための中継役

という違いです。


▪️NAT Gatewayがあるから外部からアクセスできるわけではない

ここは重要なポイントです。

NAT Gatewayを使うことで、

Private Subnet
     ↓
インターネット

という通信ができるようになります。

しかし、

インターネット
     ↓
NAT Gateway
     ↓
Private Subnet

という形で、インターネットからPrivate SubnetのEC2へ直接アクセスできるようになるわけではありません。

NAT Gatewayは、基本的にPrivate Subnetから外部への通信を可能にするために利用するものです。

そのため、インターネットから直接アクセスさせたくないアプリケーションサーバーなどをPrivate Subnetに配置する構成で利用されます。


▪️NAT GatewayとSecurity Group

NAT Gatewayを構築したからといって、必ず通信できるわけではありません。

AWSの通信では、Route Tableだけではなく、Security Groupなどの設定も関係します。

例えば、Private SubnetのEC2からHTTPS通信を行う場合、

EC2
 ↓
TCP 443
 ↓
NAT Gateway
 ↓
Internet

という通信になります。

このとき、EC2のSecurity Groupで必要なOutbound通信が許可されている必要があります。

また、通信できない場合には、

  • Route Table
  • NAT Gateway
  • Internet Gateway
  • Security Group
  • Network ACL
  • DNS

などを確認する必要があります。


▪️NAT Gatewayを利用した構成例

ここまでの内容を、実際のAWSネットワーク構成として見てみましょう。

                         Internet
                            │
                            │
                     Internet Gateway
                            │
             ┌──────────────┴──────────────┐
             │                             │
       Public Subnet                 Private Subnet
             │                             │
       NAT Gateway                       EC2
             ↑                             │
             │                             │
             └─────────────────────────────┘

Route Tableまで含めると、より具体的になります。

Public Subnet
    │
    └─ Route Table
         └─ 0.0.0.0/0 → Internet Gateway
                     │
                     ↓
                NAT Gateway
                     ↑
                     │
Private Subnet
    │
    ├─ Route Table
    │    └─ 0.0.0.0/0 → NAT Gateway
    │
    └─ EC2

Private SubnetのEC2からインターネットへアクセスすると、

EC2
 ↓
Private Route Table
 ↓
NAT Gateway
 ↓
Public Route Table
 ↓
Internet Gateway
 ↓
Internet

という経路になります。


▪️Webシステムではどのように使われる?

NAT Gatewayは、Webシステムなどでもよく利用されます。

例えば、

                    Internet
                       │
                       ↓
                Internet Gateway
                       │
                       ↓
                  Public Subnet
                       │
                      ALB
                       │
                       ↓
                 Private Subnet
                       │
                 Application
                    Server
                       │
                       ↓
                 NAT Gateway
                       │
                       ↓
                    Internet

という構成です。

この構成では、

ユーザー → ALB

の通信はインターネットから入ってきます。

一方、

アプリケーションサーバー → 外部API

などの通信は、NAT Gatewayを経由してインターネットへ出ていきます。

つまり、

外から中
Internet
 ↓
ALB
 ↓
Private Subnet

中から外
Private Subnet
 ↓
NAT Gateway
 ↓
Internet

というように、通信方向によって利用する仕組みが異なります。


▪️NAT Gatewayの料金にも注意

NAT Gatewayは便利なサービスですが、利用料金が発生します。

特に、大量のデータをNAT Gateway経由で通信すると、NAT Gatewayの利用料金やデータ処理料金が増える可能性があります。

そのため、AWSの設計では、

「とりあえず全部NAT Gatewayを通せばいい」

という考え方ではなく、

本当にNAT Gatewayを経由する必要がある通信なのか

を考えることも重要です。

例えば、AWSサービスへのアクセスでは、用途によってVPC Endpointを利用することで、NAT Gatewayを経由しない構成を検討できます。


▪️まとめ

今回はNAT Gatewayについて解説しました。

NAT Gatewayは、Private Subnetにあるリソースからインターネットへアクセスするために利用するAWSマネージドサービスです。

基本的な通信経路は、

Private EC2
 ↓
Private SubnetのRoute Table
 ↓
NAT Gateway
 ↓
Internet Gateway
 ↓
Internet

となります。

また、NAT Gatewayは通常Public Subnetに配置します。

Public Subnet
└─ NAT Gateway

Private Subnet
└─ EC2

そして、Private SubnetのRoute Tableで、

0.0.0.0/0 → NAT Gateway

と設定することで、Private SubnetからNAT Gatewayへ通信を送れるようにします。

Internet GatewayとNAT Gatewayは似ているようで役割が異なります。

Internet Gateway
→ VPCとインターネットを接続

NAT Gateway
→ Private Subnetからインターネットへ通信するための中継

この違いを押さえておくと、AWSのネットワーク構成がさらに理解しやすくなります。

次回は、AWSで通信の許可・拒否を行う「Security Group」について解説します。

次の記事では「セキュリティグループ(SG)」について解説します。
*「セキュリティグループ(SG)」の記事はこちら
→「https://lovelabengineer.com/2026/10/08/awsのセキュリティグループ(security-group)とは?通信を制/」

No responses yet

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

Latest Comments

表示できるコメントはありません。