インターネットゲートウェイとNATゲートウェイの違い
AWSのネットワーク設計において、インターネットゲートウェイ(Internet Gateway) と NATゲートウェイ(NAT Gateway) は重要な役割を果たします。それぞれの機能とユースケースを理解することで、セキュアかつ効率的なネットワーク設計が可能になります。
1. インターネットゲートウェイ(Internet Gateway)
概要
インターネットゲートウェイは、VPC内のリソースがインターネットと通信するための出入口です。
特徴
-
双方向通信:
- インターネットからVPC内のパブリックIPアドレスを持つリソースへの通信を可能にします。
- VPC内のリソースがインターネットにアクセス可能。
-
パブリックIPの必要性:
- VPC内のリソースにパブリックIPまたは**Elastic IP(EIP)**が割り当てられている場合に機能します。
-
ルートテーブルの設定:
- VPC内のサブネットからインターネットゲートウェイへのルートを設定する必要があります。
-
無料で利用可能:
- インターネットゲートウェイ自体に料金は発生しません。
ユースケース
-
パブリックサブネットの構成:
- WebサーバーやAPIサーバーなど、外部から直接アクセス可能なリソースをホスト。
-
インターネットアクセスの提供:
- VPC内のリソースが外部APIやサービスに接続する場合。
パブリックIPとElastic IP(EIP)の違い
項目 | パブリックIP | Elastic IP(EIP) |
---|---|---|
割り当て方法 | EC2インスタンスの起動時に自動的に割り当てられる。 | ユーザーが明示的に作成・割り当てを行う必要がある。 |
IPアドレスの固定性 | インスタンスの停止・再起動で変更される可能性がある。 | インスタンスが停止・再起動しても変更されない。 |
料金 | 無料 | アタッチしていない場合、時間単位の料金が発生。 |
主な用途 | 一時的なパブリックアクセスが必要な場合に利用。 | 固定IPが必要な場合や、ドメインと紐付けたい場合に利用。 |
2. NATゲートウェイ(NAT Gateway)
概要
NATゲートウェイは、プライベートサブネット内のリソースがインターネットにアクセスできるようにするためのゲートウェイです。
特徴
-
一方向通信:
- プライベートサブネット内のリソースがインターネットにリクエストを送信可能。
- 外部からプライベートリソースへの直接アクセスは不可。
-
Elastic IP(EIP)の割り当て:
- NATゲートウェイにはEIPが必要で、これを使用して外部と通信します。
-
ルートテーブルの設定:
- プライベートサブネットからNATゲートウェイへのルートを設定する必要があります。
-
有料:
- 時間単位の料金とデータ転送量に基づいて課金されます。
ユースケース
-
プライベートサブネットのインターネットアクセス:
- セキュリティのため、外部からアクセスできない内部リソースがインターネットに接続する場合(例: ソフトウェアアップデートやAPIアクセス)。
-
内部サーバーの保護:
- データベースサーバーやアプリケーションサーバーなど、直接インターネットに公開したくないリソースの通信を管理。
3. インターネットゲートウェイとNATゲートウェイの比較表
項目 | インターネットゲートウェイ | NATゲートウェイ |
---|---|---|
通信方向 | 双方向(インターネット ↔ VPCリソース) | 一方向(プライベートサブネット → インターネット) |
対象サブネット | パブリックサブネット | プライベートサブネット |
パブリックIPの必要性 | 必要(パブリックIPまたはElastic IP) | NATゲートウェイにElastic IPが必要 |
外部からのアクセス | 可能(適切に設定された場合) | 不可能 |
料金 | 無料 | 有料(時間単位 + データ転送量) |
主な用途 | Webサーバー、APIサーバー、外部通信可能なリソース | プライベートサブネット内のリソースの外部通信 |
4. ユースケースの具体例
インターネットゲートウェイの使用例
- WebアプリケーションをホストするEC2インスタンスをパブリックサブネットに配置し、外部からのアクセスを許可する。
- EC2インスタンスにパブリックIPを割り当て、セキュリティグループでHTTP/HTTPS通信を許可。
NATゲートウェイの使用例
- プライベートサブネット内に配置したEC2インスタンス(例: データベースやバックエンドサーバー)が、インターネットに接続してソフトウェアアップデートや外部APIへのリクエストを送信する。
5. まとめ
選択ポイント | インターネットゲートウェイ | NATゲートウェイ |
---|---|---|
外部アクセスが必要 | はい(外部からのアクセスを許可したい場合) | いいえ(外部からのアクセスは不要) |
内部リソースのセキュリティが重要 | いいえ(直接アクセスが許容される場合) | はい(外部からのアクセスを防ぎたい場合) |
コストを考慮 | 無料で利用可能 | 有料(時間単位 + データ転送量) |