Open5
Amazon VPC
Amazon VIrtual Private Cloud(VPC)とは
- Amazon Virtual Private Cloud, VPC
- ユーザーが自分専用の仮想ネットワークを AWS クラウド内に作成できるサービス。VPCを使用することで、ユーザーは自分の仮想ネットワーク環境を詳細に制御でき、AWSリソースを隔離して安全に運用することができる。
主な機能と特徴
-
ネットワーク分割
- ユーザーは複数のサブネットを作成し、それぞれを異なるアベイラビリティゾーン(データセンター)に配置できる。これにより、高可用性と耐障害性を確保できる。
-
IPアドレス範囲の設定
- VPCの作成時に、プライベート IP アドレスの範囲(CIDR ブロック)を指定する。これにより、VPC内のリソースに割り当てる IP アドレスを管理できる。
-
ルートテーブルの設定
- ルートテーブルを設定して、サブネット間やインターネットへのトラフィックのルーティングを制御する。これにより、通信の経路を細かく設定できる。
-
インターネットゲートウェイ (IGW)
- パブリックサブネットに接続することで、VPC 内のリソースをインターネットに接続できる。Web サーバーや公開 API など、インターネットに公開するリソースに利用する。
- VPC に設定したサブネットの内、IGW に接続されているサブネットのことを「パブリックサブネット」という。反対に、インターネットゲートウェイに接続されていないサブネットのことを「プライベートサブネット」という。プライベートサブネットはインターネットからアクセスできなくなる。
-
NATゲートウェイとNATインスタンス
- プライベートサブネットのリソースがインターネットにアクセスする際に使用する。NAT ゲートウェイや NAT インスタンスを使用することで、セキュリティを保ちながらインターネットに接続できる。
-
セキュリティグループとネットワークACL
- セキュリティグループはインスタンスレベルのファイアウォールとして機能し、ネットワーク ACL はサブネットレベルでのトラフィック制御を行う。これにより、ネットワークセキュリティを強化できる。
-
VPN 接続とDirect Connect
- オンプレミスネットワークと VPC をセキュアに接続するための機能。
- VPN 接続はインターネット経由で暗号化されたトンネルを提供し、Direct Connect は専用線を使用して高帯域幅の接続を提供する。
VPCの利点
- 柔軟性と制御: ユーザーはネットワーク設定を細かく制御でき、自分のアプリケーションのニーズに合わせたネットワーク環境を構築できる。
- セキュリティ: サブネットやルートテーブル、セキュリティグループを利用して、ネットワークトラフィックを厳密に管理できる。
- スケーラビリティ: 必要に応じてサブネットやリソースを追加できるため、ビジネスの成長に応じてネットワーク環境を拡張できる。
- コスト効率: 使用するリソースに対してのみ支払うため、コストを効率的に管理できる。
例
次の図表は、VPC の例を示しています。VPC には、リージョンの各アベイラビリティーゾーンに 1 つのサブネット、各サブネットに EC2 インスタンス、VPC 内のリソースとインターネットとの通信を可能にするインターネットゲートウェイがあります。
- リージョン
- Amazon VPC
- AZ 1
- サブネット 1(private / public)
- サブネット 2(private / public)
- ...
- AZ 2
- サブネット 3(private / public)
- サブネット 4(private / public)
- ...
- ...
- AZ 1
- Amazon VPC
引用元:Amazon VPC とは?
パブリックサブネットとプライベートサブネット
-
パブリックサブネット
- 説明
- インターネットゲートウェイ (IGW) に接続されているサブネット
- このサブネットに配置されたリソース(例:EC2 インスタンス)は、インターネットから直接アクセス可能。また、これらのリソースはインターネットにアクセスすることもできる。つまり、インバウンド、アウトバウンドどちらもアクセス可能にすることができる。
- サブネットのルートテーブルにインターネットゲートウェイへのルートが含まれている場合、そのサブネットはパブリックサブネットと見なされる。
- 用途
- インターネット上でユーザにアクセスされる Web サーバ
- 説明
-
プライベートサブネット
- 説明
- インターネットゲートウェイに接続されていないサブネット
- このサブネットに配置されたリソースは、直接インターネットからアクセスできない。また、これらのリソースは NAT ゲートウェイや NAT インスタンスを通じてのみインターネットにアクセスできる。
- 用途
- プライベートサブネットのリソースは、通常、データベースサーバーやアプリケーションサーバなど、直接インターネットに公開する必要がない内部リソースを配置するために使用される。
- 説明
構成例
-
パブリックサブネットに EC2 インスタンスを配置
- このインスタンスにはパブリック IP アドレスが割り当てられ、直接インターネットからアクセスできる。
- 例えば、Web サーバーをここに配置し、インターネットから直接アクセスできるようにする。
-
プライベートサブネットに EC2 インスタンスを配置
- このインスタンスにはパブリック IP アドレスが割り当てられない。
- インターネットにアクセスする場合、NAT ゲートウェイや NAT インスタンスを介してアクセスする。
- 例えば、データベースサーバーや内部アプリケーションサーバーをここに配置し、セキュリティを確保する。
まとめ
- パブリックサブネット: インターネットに直接接続できるリソースを配置。インターネットゲートウェイへのルートがある。
- プライベートサブネット: インターネットに直接接続できないリソースを配置。NATゲートウェイやNATインスタンスを通じてのみインターネットアクセス。
このように、VPC内のサブネットを使い分けることで、セキュリティとアクセス制御を細かく設定できる。
IGW、NAT GW、NAT インスタンスの使い分け
まとめ
- IGW
- インターネットからの VPC サブネットへの inbound、VPC サブネットからインターネットへの outbound 両方を制御(IGW に接続されたサブネットは「パブリックサブネット」となる)
- NAT GW、NAT インスタンス
- VPC プライベートサブネットからインターネットへの outbound を制御
インターネットゲートウェイ (IGW)
-
双方向通信: IGW は VPC 内のリソースがインターネットと双方向に通信できるようにする。
- インバウンドトラフィック: インターネットから VPC 内のリソースへのアクセスが可能。
- アウトバウンドトラフィック: VPC 内のリソースがインターネットにアクセスすることも可能。
- 使用例: パブリックサブネット内のリソース(例:Web サーバ、公開 API サーバ)。
NATゲートウェイ (NAT GW) および NATインスタンス
NAT なので当然「アウトバウンドのみ」に使用される。
-
アウトバウンド通信のみ: NAT GW および NAT インスタンスはプライベートサブネット内のリソースがインターネットにアクセスできるようにするが、インターネットから直接アクセスされることはない。
- アウトバウンドトラフィック: プライベートサブネット内のリソースがインターネットにアクセスすることができる。例えば、ソフトウェアのアップデートや外部 API の呼び出しなど。
- インバウンドトラフィック: インターネットから直接アクセスすることはできない。インバウンドトラフィックは NAT GW または NAT インスタンスを経由してプライベートサブネットのリソースに到達することはない。
- 使用例: プライベートサブネット内のリソース(例:アプリケーションサーバ、データベースサーバ)で、インターネットへのアウトバウンドアクセスが必要な場合。
使い分けのガイドライン
-
IGWを使用する場合:
- インターネットに公開されるリソースが必要。
- パブリック IP アドレスを持つリソースがあり、外部からアクセス可能である必要がある。
-
NAT GWを使用する場合:
- 高可用性とスケーラビリティが重要。
- プライベートサブネット内のリソースがインターネットへのアウトバウンドアクセスを必要とする。
- 管理負荷を最小限にしたい。
-
NAT インスタンスを使用する場合:
- 特定のカスタマイズやネットワーク設定が必要。
- コストを抑えつつ、低トラフィックシナリオで利用する。
- 手動での管理やスケーリングが許容範囲内。