こんにちは。よっしーです(^^)
今日は、インターネットゲートウェイについて解説しています。
背景
インターネットゲートウェイについて調査する機会がありましたので、その時の内容を備忘として記事に残しました。
インターネットゲートウェイとは
AWS におけるインターネットゲートウェイ(Internet Gateway)は、VPC内のリソースとインターネット間の通信を可能にするネットワークゲートウェイです。主な役割は以下の通りです。
1. インターネット通信の仲介
- VPC内のリソース(EC2インスタンスなど)からインターネットへの出口点となります。
- インターネットからVPC内への入口点にもなります。
2. パブリックIPアドレスの付与
- インターネットゲートウェイに接続されたインスタンスなどには、自動的にパブリックIPアドレスが割り当てられます。
3. NATゲートウェイ/NATインスタンスの利用
- プライベートサブネット内のリソースがインターネットにアクセスする際は、NATゲートウェイやNATインスタンスを経由する必要があります。
インターネットゲートウェイは以下の特徴があります。
- VPC内で1つしか作成できません
- インターネットゲートウェイに接続できるのはパブリックサブネットのみ
- パブリックサブネットはインターネットゲートウェイに関連付ける必要があります
- セキュリティグループやNACLで適切にアクセス制御する必要があります
インターネットゲートウェイを使わずにVPCとインターネットを接続する方法として、AWS Site-to-Site VPNや AWS Direct Connectなどがあります。
インターネットゲートウェイを適切に設計・構成することで、VPC内のリソースを安全にインターネットに接続し、パブリックサービスを提供したりインターネットリソースにアクセスしたりできるようになります。
NATゲートウェイ
NATゲートウェイ(Network Address Translation Gateway)は、VPCのプライベートサブネット内のリソースがインターネットやその他のAWSリソースにアクセスできるようにするための重要な仲介役です。主な機能は以下の通りです。
1. プライベートサブネットからのインターネットアクセスを可能にする
- プライベートサブネット内のリソースはインターネットに直接アクセスできません
- NATゲートウェイを経由することで、プライベートインスタンスなどからインターネットへのアウトバウンド接続が可能になります
2. IPアドレスの変換
- プライベートIPからパブリックIPへの変換(NATing)を行います
- プライベートインスタンスのプライベートIPアドレスを隠蔽できます
3. リダンダント構成が可能
- NATゲートウェイは冗長化が可能で、単一障害点を回避できます
- 高可用性を実現するためには、マルチAZでNATゲートウェイを配置する必要があります
NATゲートウェイの主な特徴は以下の通りです。
- パブリックサブネットに配置され、インターネットゲートウェイにアクセスする
- 高可用性のためにはNAT Gateway の冗長化が必要
- NATインスタンスに比べ管理オーバーヘッドが少ない
- データ転送には課金が発生する
従来のNATインスタンスと比較して、NATゲートウェイはより高可用で管理が容易です。プライベートサブネットのインスタンスからインターネットにアクセスする際の出口として重要な役割を果たします。高い可用性とセキュリティが求められる環境では、NATゲートウェイの冗長化が推奨されています。
NATインスタンス
NATインスタンス(Network Address Translation Instance)は、VPCのプライベートサブネット内のリソースがインターネットやその他のAWSリソースにアクセスできるようにするための、NATゲートウェイに先立つ従来の仲介役です。
NATインスタンスの主な機能
- プライベートサブネットからのインターネット接続を可能にする
- プライベートインスタンスからインターネットへの出力(アウトバウンド)接続を提供します。
- ネットワークアドレス変換(NAT)の実行
- プライベートIPアドレスからパブリックIPアドレスへの変換(NATing)を行います。
- プライベートリソースの実IPアドレスを隠蔽できます。
- セキュリティの向上
- プライベートサブネットのリソースは、インターネットから直接アクセスされません。
NATインスタンスの特徴
- パブリックサブネット内に配置される
- 単一のEC2インスタンスである(単一障害点)
- ソースIPアドレス変換のためのルーティングが必要
- セキュリティグループでアクセス制御が必要
- リソース管理(パッチ適用、監視など)が必要
- NAT単体では高可用性は確保されない
NATゲートウェイが登場する前は、NATインスタンスがプライベートサブネットのインターネットアクセスに利用されていました。しかし、NATインスタンスは単一の障害点となり、管理オーバーヘッドも大きくなるというデメリットがあります。
そのため、現在はNATゲートウェイの利用が一般的で、高可用性が求められるシステムではNATゲートウェイの冗長化を行うことが推奨されています。NATインスタンスはレガシーな環境でのみ利用され、新規構築ではNATゲートウェイが選択されます。
おわりに
今日は、 インターネットゲートウェイについて解説しました。
何か質問や相談があれば、コメントをお願いします。また、エンジニア案件の相談にも随時対応していますので、お気軽にお問い合わせください。
それでは、また明日お会いしましょう(^^)
コメント