Amazon VPC
AWS 上に論理的に分離された仮想ネットワークを構築するサービス
何ができるか
Amazon VPC (Virtual Private Cloud) は、AWS クラウド内に論理的に分離された仮想ネットワークを構築するサービスです。IP アドレス範囲、サブネット、ルートテーブル、ネットワークゲートウェイを自由に設定でき、オンプレミスのネットワークと同様の制御が可能です。EC2、RDS、Lambda など多くの AWS サービスが VPC 内で動作します。
どのような場面で使うか
Web アプリケーションのネットワーク構成 (パブリックサブネットに Web サーバー、プライベートサブネットにデータベース)、オンプレミスとの VPN 接続、マイクロサービス間のネットワーク分離、コンプライアンス要件に基づくネットワーク制御などに利用されます。 この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。
身近な例え
オフィスビルのフロア設計に例えられます。ビル全体 (VPC) の中にフロア (サブネット) を区切り、受付 (インターネットゲートウェイ) を設置し、各フロアへのアクセスをセキュリティゲート (セキュリティグループ) で制御します。
VPC とは
Amazon VPC は、AWS 上に自分専用の仮想ネットワークを構築するサービスです。AWS アカウントを作成すると各リージョンにデフォルト VPC が自動作成されますが、本番環境では要件に合わせたカスタム VPC を設計するのが一般的です。VPC は他のアカウントの VPC とは完全に分離されています。
サブネットとルーティング
VPC 内にはパブリックサブネットとプライベートサブネットを作成します。パブリックサブネットはインターネットゲートウェイへのルートを持ち、外部からアクセス可能です。プライベートサブネットはインターネットへの直接アクセスがなく、データベースや内部サービスを配置します。プライベートサブネットからインターネットにアクセスする場合は NAT Gateway を使用します。
セキュリティ
VPC のセキュリティはセキュリティグループとネットワーク ACL の 2 層で制御します。セキュリティグループはインスタンスレベルのステートフルファイアウォールで、許可ルールのみを定義します。ネットワーク ACL はサブネットレベルのステートレスファイアウォールで、許可と拒否の両方のルールを定義できます。VPC Flow Logs でネットワークトラフィックを記録し、監査やトラブルシューティングに活用できます。
はじめかた
VPC コンソールで「VPC の作成」を選択し、CIDR ブロック (例: 10.0.0.0/16) を指定します。「VPC など」を選択すると、サブネット、ルートテーブル、インターネットゲートウェイ、NAT Gateway を一括で作成できます。マルチ AZ 構成にするため、2 つ以上のアベイラビリティゾーンにサブネットを配置するのがベストプラクティスです。
注意点
- VPC の CIDR ブロックは作成後に拡張は可能だが縮小はできない。将来の拡張を見据えて十分な範囲を確保すること
- NAT Gateway は時間課金とデータ処理量課金が発生する。コスト削減には NAT インスタンスや VPC エンドポイントの活用を検討する
- デフォルト VPC は便利だが、本番環境ではセキュリティとネットワーク設計の観点からカスタム VPC を使用すること
さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。