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 のサブネット設計とルーティング
VPC のサブネット設計は AWS アーキテクチャの基盤となる重要な要素です。一般的な設計パターンでは、各アベイラビリティゾーンにパブリックサブネットとプライベートサブネットを 1 つずつ作成します。パブリックサブネットにはインターネットゲートウェイへのルートを持つルートテーブルを関連付け、ALB や NAT ゲートウェイを配置します。プライベートサブネットには NAT ゲートウェイ経由でインターネットにアクセスするルートを設定し、EC2 インスタンスや RDS インスタンスを配置します。セキュリティグループはステートフルなファイアウォールとして動作し、インバウンドとアウトバウンドのトラフィックをポート番号と送信元/送信先で制御します。ネットワーク ACL はステートレスなファイアウォールで、サブネットレベルでの追加的なアクセス制御を提供します。
Azure Virtual Network との比較
Azure で VPC に対応するサービスは Azure Virtual Network (VNet) です。基本的な概念は共通していますが、いくつかの違いがあります。VPC のセキュリティグループはインスタンスレベルで適用されるのに対し、Azure の Network Security Group (NSG) はサブネットレベルとネットワークインターフェースレベルの両方で適用できます。NAT 機能については、VPC の NAT ゲートウェイは AZ ごとに作成する必要がありますが、Azure NAT Gateway はゾーン冗長構成をサポートしています。VPC 間の接続では、AWS Transit Gateway が複数の VPC とオンプレミスネットワークをハブ&スポーク型で接続するのに対し、Azure Virtual WAN が同等の機能を提供します。料金面では、VPC 自体は無料ですが NAT ゲートウェイは時間あたり約 0.062 ドル + データ処理料金が発生し、Azure NAT Gateway も同様の課金体系です。