コンテンツにスキップ

Amazon VPC

1. サービス概要

Amazon VPC (Amazon Virtual Private Cloud) は、仮想ネットワーク環境を AWS 上に作成するサービスで、ユーザーが自由にネットワーク構成 (IP アドレス範囲、サブネット、ルーティングなど) を定義できる点が特徴である。
オンプレミスのように細かなルールでセキュリティや接続構成を管理したい場合でも、VPC で独立したネットワーク空間を構築し、プライベート通信を実現できる。

主なユースケースとして、

  • 社内システムをクラウドへ移行する際の安全なネットワーク環境構築
  • Web サーバと DB サーバを異なるサブネットに分離してセキュリティを高める設計
  • VPC Peering/Transit Gateway を使った複数 VPC 間通信

などが挙げられる。

2. 主な特徴と機能

2.1 カスタム IP アドレス範囲

VPC 作成時にプライベート IP アドレス範囲 (CIDR ブロック) を指定でき、10.0.0.0/16 のようにオンプレミスとの重複を回避しつつ柔軟に構成できる。
必要に応じてサブネットに分割し、AZ ごとに高可用性を確保できる。

2.2 サブネット (Public/Private)

VPC 内のサブネットは、インターネットゲートウェイへのルートがある場合“Public サブネット”になり、外部からアクセス可能である。
一方、ゲートウェイを持たない“Private サブネット”は閉じた環境で、EC2 インスタンスなどをセキュアに運用できる。

2.3 ルーティングとゲートウェイ

インターネットゲートウェイ (IGW) をアタッチすることで、Public サブネットから外部ネットワークへ通信できるようとなる。
また、NAT ゲートウェイを用いて Private サブネットのリソースからインターネットへアウトバウンド接続することが可能。
さらに、Virtual Private Gateway や、Transit Gateway を利用すれば、オンプレミスとの VPN 接続や VPC 間通信を簡単に構築できる。

2.4 セキュリティグループとネットワーク ACL

セキュリティグループはステートフルな仮想ファイアウォールとして機能し、インスタンスごとにポートやプロトコルを制御。
ネットワーク ACL はサブネット単位のステートレスルールで、細かい許可・拒否を設定できる。両方を組み合わせることで多層防御が可能である。

2.5 柔軟な拡張性と統合

VPC は他の AWS サービス (EC2、RDS、ECS、Lambda (VPC エンドポイント) など) と密接に連携する。
スケーラビリティの高いネットワーク設計を実現しながら、S3 や DynamoDB などに対してもプライベートリンクを使った安全なアクセスが可能である。

3. アーキテクチャおよび技術要素

  1. VPC 作成時に CIDR ブロックを指定 (例: 10.0.0.0/16)
  2. 複数 AZ に跨ってサブネットを作成 (Public サブネットと Private サブネットを分離)
  3. IGW を VPC にアタッチし、ルートテーブルでインターネット経路を設定 (Public サブネット)
  4. NAT ゲートウェイを配置し、Private サブネットのアウトバウンド通信をサポート
  5. セキュリティグループ/ネットワーク ACL で通信制御
  6. 必要に応じて VPC Peering や VPN/Direct Connect で外部ネットワークと接続

このように、論理的なネットワークセグメントを自由に設計することで、オンプレ同様のセキュアかつ拡張性の高いネットワークを AWS 上で構築できる。

4. セキュリティと認証・認可

VPC のセキュリティを確保するためには以下のポイントが重要である:

  • ネットワーク分割: Public/Private サブネットを適切に分離し、公開が必要なリソースのみパブリック側に配置
  • セキュリティグループ: ステートフルなインバウンド/アウトバウンドルールでインスタンス単位の通信を制御
  • ネットワーク ACL: サブネット単位のステートレスフィルタとして、より詳細な IP/ポート制限を追加
  • VPC エンドポイント: S3 や DynamoDB 等へインターネット経由ではなくプライベート接続でアクセスし、セキュリティを強化
  • 監査ログ: VPC Flow Logs を活用してトラフィックログを取得し、CloudWatch Logs などで分析

5. 料金形態

VPC 自体の作成や利用に対しては追加料金はありません。
ただし、以下の場合はコストが発生する:

  • NAT ゲートウェイ: 時間単位とデータ処理量に応じた課金
  • VPC エンドポイント: ゲートウェイ/インターフェイスエンドポイントの時間単位課金(インターフェイスエンドポイントの場合)
  • VPN 接続: Site-to-Site VPN でトンネル維持費用が時間従量で発生
  • Transit Gateway: アタッチやデータ転送量に応じた課金
  • VPC Flow Logs: CloudWatch Logs や S3 へのログ保存コスト

6. よくあるアーキテクチャ・設計パターン

VPC は基盤となるサービスのため、さまざまなパターンがある。
代表例は以下の通り:

  • Public/Private サブネット分割: Web サーバを Public サブネット、DB サーバを Private サブネットに配置する基本構成
  • VPC Peering: 複数 VPC 間を直接接続し、アプリケーション間通信を安全に行う
  • Transit Gateway: 大規模環境で多 VPC・オンプレミスネットワークを一括接続してガバナンスを効率化
  • セキュアな S3 アクセス: S3 VPC エンドポイントでデータ転送をプライベートに行う
  • Site-to-Site VPN や Direct Connect: オンプレミスとのハイブリッドクラウド実装

7. 設定・デプロイ手順 (ハンズオン例)

  1. AWS コンソールで「VPC」を検索し、「VPC の作成」をクリック
  2. CIDR ブロック(例: 10.0.0.0/16)を指定し、VPC 名を入力して作成
  3. 「サブネットの作成」で複数の AZ に対し、Public/Private サブネットを設定
  4. 「インターネットゲートウェイ」を作成し、VPC へアタッチ。Public サブネットのルートテーブルに 0.0.0.0/0 → IGW ルートを追加
  5. Private サブネットで NAT ゲートウェイ利用なら、NAT ゲートウェイを作成し、Private サブネットルートテーブルに 0.0.0.0/0 → NAT ルートを設定
  6. セキュリティグループやネットワーク ACL を調整し、EC2 インスタンスを起動して動作確認

8. 試験で問われやすいポイント

8.1 Public サブネットと Private サブネットの違い

  • Public サブネット: IGW へルートがあるサブネットで、インターネットからアクセス可能
  • Private サブネット: IGW へルートがなく、NAT ゲートウェイや VPN 等を経由しないと外部通信できない

8.2 NAT ゲートウェイと NAT インスタンス

  • NAT ゲートウェイ: 高可用性かつスケーラブルな AWS マネージド NAT
  • NAT インスタンス: 自己管理が必要で、スケーリングも手動。NAT ゲートウェイへの移行が推奨される

8.3 セキュリティグループ vs. ネットワーク ACL

  • セキュリティグループ: インスタンス単位、ステートフル
  • ネットワーク ACL: サブネット単位、ステートレス
  • 使い分け: SG で主要制御し、さらに NACL で補強する二重防御

8.4 VPC Peering と Transit Gateway

  • VPC Peering: 1 対 1 の接続、トランジットできない
  • Transit Gateway: 多数の VPC/オンプレ接続を集中管理、トランジットが可能

8.5 VPC エンドポイント

  • ゲートウェイ型: S3 や DynamoDB へのプライベートアクセスに使用
  • インターフェイス型: 他の AWS サービス(EC2 API、SNS など)への VPC 内プライベート接続

8.6 試験で頻出となる具体的な問われ方と答え

  • Q: Public サブネットの要件は?
  • A: ルートテーブルにデフォルトルート(0.0.0.0/0)が IGW を指している。
  • Q: Private サブネットの EC2 からインターネットにアクセスする方法は?
  • A: NAT ゲートウェイ(または NAT インスタンス)を介し、Private サブネットのルートを NAT へ向ける。
  • Q: セキュリティグループでステートフルとは?
  • A: インバウンドが許可されると、対応するアウトバウンドは自動的に許可される仕組み。
  • Q: VPC 同士を接続したいがトランジットも必要な場合は?
  • A: Transit Gateway を使用し、複数 VPC・オンプレを一元管理。
  • Q: S3 とプライベート通信をしたいがインターネットに出したくない。方法は?
  • A: S3 ゲートウェイエンドポイントを作成し、VPC 内から直接 S3 へプライベート接続する。