Amazon VPC

AWS クラウド内に論理的に隔離された仮想ネットワークを構築し、IP アドレス範囲やルーティング、セキュリティを完全に制御できるサービス

概要

Amazon Virtual Private Cloud (VPC) は、AWS クラウド内にユーザー専用の仮想ネットワーク空間を作成するサービスです。CIDR ブロックで IP アドレス範囲を定義し、サブネット、ルートテーブル、インターネットゲートウェイ、NAT ゲートウェイ、セキュリティグループ、ネットワーク ACL などのネットワークコンポーネントを自由に構成できます。パブリックサブネットにはインターネットからアクセス可能なリソースを配置し、プライベートサブネットにはデータベースや内部サービスを配置するという多層防御のネットワーク設計が可能です。VPC Peering や Transit Gateway を使えば複数の VPC 間を接続でき、VPN や Direct Connect を使えばオンプレミス環境とのハイブリッド接続も実現できます。VPC Flow Logs でネットワークトラフィックを記録し、セキュリティ監査やトラブルシューティングに活用できます。

サブネット分割と多層防御の設計

VPC のサブネット設計は AWS アーキテクチャの土台です。基本パターンでは、各アベイラビリティゾーンにパブリックサブネットとプライベートサブネットを 1 つずつ配置します。パブリックサブネットにはインターネットゲートウェイへのルートを持つルートテーブルを関連付け、ALB や NAT ゲートウェイを配置します。プライベートサブネットには NAT ゲートウェイ経由のルートを設定し、EC2RDS を配置します。中規模以上のシステムでは、データベース専用のサブネット層を追加した 3 層構成 (パブリック、アプリケーション、データベース x 2 AZ) が推奨されます。CIDR ブロックは将来の拡張を見越して VPC に /16 (65,536 IP) を割り当て、各サブネットには /24 (251 IP) を割り当てるのが一般的です。セキュリティグループはインスタンスレベルのステートフルファイアウォールとして動作し、ネットワーク ACL はサブネットレベルのステートレスファイアウォールとして追加の防御層を提供します。

VPC エンドポイントと NAT ゲートウェイのコスト制御

NAT ゲートウェイは AZ ごとに作成する必要があり、時間あたり約 0.062 ドルに加えてデータ処理料金が発生します。大量のアウトバウンド通信がある環境では月額数百ドルに達することがあり、見落とされがちなコスト要因です。S3 と DynamoDB へのアクセスには Gateway 型 VPC エンドポイント (無料) を設定することで、NAT ゲートウェイを経由せずに直接通信でき、データ処理料金を削減できます。その他の AWS サービスには Interface 型エンドポイント (時間課金) を使用しますが、トラフィック量と時間課金のバランスを見て導入を判断します。Azure Virtual Network でも NAT Gateway は同様の課金体系ですが、Azure NAT Gateway はゾーン冗長構成をサポートしており、AZ ごとに個別作成する必要がない点が異なります。ネットワーク設計の技術書 (Amazon) では、こうしたコスト最適化の手法が詳しく解説されています。

Transit Gateway とハイブリッド接続

VPC 間の接続方法は規模に応じて使い分けます。2-3 VPC 程度の小規模構成なら VPC Peering で十分で、追加料金はデータ転送料のみです。それ以上の規模では Transit Gateway を導入し、ハブ&スポーク型のトポロジーに移行します。Transit Gateway は数千の VPC とオンプレミスネットワークを 1 つのゲートウェイに集約でき、ルーティングの管理が大幅に簡素化されます。オンプレミスとの接続には Site-to-Site VPN (インターネット経由の暗号化トンネル) と Direct Connect (専用線接続) の 2 つの選択肢があります。VPN は数時間で構築できる手軽さが利点で、Direct Connect は安定した帯域幅と低レイテンシが求められる場合に選択します。VPC Flow Logs を有効にすれば、ネットワークインターフェースレベルのトラフィックを記録でき、セキュリティ監査や通信障害のトラブルシューティングに活用できます。

共有するXB!