Amazon VPC の基本概念とサブネット設計ガイド
Amazon VPC(Virtual Private Cloud)は、AWSクラウド内に分離された仮想ネットワーク環境を構築するサービスです。企業のオンプレミス環境のように、独自のIPアドレス範囲、サブネット、ルートテーブル、ネットワークゲートウェイを定義し、ネットワーク設定を完全に制御できます。
VPCの基本概念
VPCとは何か
VPCは論理的に分離されたAWSクラウドの一部で、ユーザー独自の仮想データセンターとして機能します。従来のネットワークインフラストラクチャの利点と、AWSクラウドのスケーラブルなインフラストラクチャの利点を組み合わせて利用できます。
主要コンポーネント
- VPC: IPv4またはIPv6 CIDRブロックで定義される仮想ネットワーク
- サブネット: VPC内の分割されたネットワークセグメント
- ルートテーブル: ネットワークトラフィックの転送先を決定するルーティング規則
- インターネットゲートウェイ(IGW): VPCとインターネット間の通信を可能にするゲートウェイ
- NATゲートウェイ/インスタンス: プライベートサブネットからインターネットへの一方向通信
CIDRブロック設計の基本
IPv4 CIDRブロックの選択
VPC作成時に指定するCIDRブロックは、利用可能なIPアドレス範囲を決定します。以下の要点を考慮して設計する必要があります。
推奨されるプライベートIPアドレス範囲
- 10.0.0.0/16: 最も一般的、65,536個のIPアドレス
- 172.16.0.0/16: 中規模環境、65,536個のIPアドレス
- 192.168.0.0/16: 小規模環境、65,536個のIPアドレス
CIDRブロック設計のベストプラクティス
- 将来の拡張性を考慮: 初期要件の2-3倍のIPアドレス空間を確保
- オンプレミスとの重複回避: 既存ネットワークとの競合を防ぐ
- マルチリージョン展開の準備: 各リージョンで異なるCIDR範囲を使用
サブネット設計戦略
パブリック vs プライベートサブネット
パブリックサブネット
- インターネットゲートウェイへのルートを持つサブネット
- インターネットから直接アクセス可能
- 用途: ロードバランサー、NATゲートウェイ、Bastionホスト
プライベートサブネット
- インターネットゲートウェイへの直接ルートを持たないサブネット
- インターネットアクセスはNATゲートウェイ経由
- 用途: アプリケーションサーバー、データベース
マルチAZ(可用性ゾーン)設計
高可用性のための分散配置
VPC (10.0.0.0/16)
├── AZ-1a
│ ├── パブリックサブネット (10.0.1.0/24)
│ └── プライベートサブネット (10.0.11.0/24)
├── AZ-1b
│ ├── パブリックサブネット (10.0.2.0/24)
│ └── プライベートサブネット (10.0.12.0/24)
└── AZ-1c
├── パブリックサブネット (10.0.3.0/24)
└── プライベートサブネット (10.0.13.0/24)
3層アーキテクチャ設計パターン
Web層、アプリケーション層、データ層の分離
- Web層: パブリックサブネット(ALB/NLB)
- アプリケーション層: プライベートサブネット(EC2、ECS、Lambda)
- データ層: プライベートサブネット(RDS、ElastiCache)
サブネット設計のベストプラクティス
IPアドレス範囲の効率的な配分
サブネットサイズの決定指針
- /24(256アドレス): 中〜大規模用途
- /25(128アドレス): 中規模用途
- /26(64アドレス): 小規模用途
- /27(32アドレス): 非常に小規模用途
予約アドレスの考慮
AWS は各サブネットで5つのIPアドレスを予約します:
- ネットワークアドレス(例:10.0.0.0)
- VPCルーター用(例:10.0.0.1)
- DNS解決用(例:10.0.0.2)
- 将来の利用予約(例:10.0.0.3)
- ブロードキャストアドレス(例:10.0.0.255)
命名規則とタグ設計
一貫した命名規則の採用
[環境]-[層]-[AZ]-[用途]
例:prod-web-1a-public、prod-app-1b-private
タグ戦略
- Name: 分かりやすい名前
- Environment: dev/staging/prod
- Tier: web/app/data
- Project: プロジェクト名
セキュリティとコンプライアンス
ネットワークレベルでの分離
サブネット間通信の制御
- ルートテーブルによる通信経路の制御
- NACLによるサブネットレベルのファイアウォール
- セキュリティグループによるインスタンスレベルの制御
データ保護のための設計
- データベース層の完全なプライベート化
- 管理アクセス用のセッションマネージャー活用
- VPCフローログによる通信監視
運用とトラブルシューティング
VPC設計の一般的な問題と対策
IPアドレス枯渇の回避
- 適切なCIDRブロックサイズの選択
- 未使用リソースの定期的なクリーンアップ
- IPアドレス使用量の監視
接続性問題のデバッグ
- ルートテーブルの確認
- セキュリティグループとNACLの検証
- VPCフローログの分析
コスト最適化
効率的なリソース利用
NAT ゲートウェイ vs NAT インスタンス
- NAT ゲートウェイ: 高可用性、管理不要、高コスト
- NAT インスタンス: 低コスト、管理必要、可用性に注意
VPCエンドポイントの活用
- S3、DynamoDBへの直接接続でデータ転送料金を削減
- インターネットゲートウェイ使用量の削減
まとめ
Amazon VPCは、クラウド上で企業レベルのネットワークインフラストラクチャを構築するための基盤サービスです。適切なCIDRブロック設計、マルチAZでのサブネット配置、3層アーキテクチャの実装により、スケーラブルで安全性の高いネットワーク環境を実現できます。設計段階での十分な計画と、運用での継続的な監視により、効率的なクラウドネットワークを維持できます。
引用元:
- https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html
- https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html
- https://docs.aws.amazon.com/vpc/latest/userguide/vpc-cidr-blocks.html
- https://aws.amazon.com/vpc/pricing/
- https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html