VPC — 仮想ネットワーク

Amazon VPC(Virtual Private Cloud) はAWS上に作成する仮想プライベートネットワークです。 EC2・RDS・ECS などほぼすべてのリソースは VPC 内に配置されます。 VPC を適切に設計することが、セキュアな AWS 環境の出発点です。

パブリックサブネット
インターネットゲートウェイへのルートを持つサブネット。ALB や NAT ゲートウェイを配置する。EC2 を直接配置することも可能だが推奨されない。
プライベートサブネット
インターネット直接接続なしのサブネット。EC2 アプリサーバー・RDS・ECS タスクを配置する。外部へのアウトバウンドは NAT ゲートウェイ経由。
セキュリティグループ
インスタンス単位のステートフルファイアウォール。インバウンド/アウトバウンドのプロトコル・ポート・送信元を制御する。
VPC ピアリング / Transit Gateway
複数 VPC 間のプライベート接続。大規模な複数 VPC 環境では Transit Gateway でハブ&スポーク型に集約する。

標準的な VPC 設計パターン

パブリックサブネット(ALB・NAT GW)+ プライベートサブネット(EC2/ECS・RDS)の2層構成が基本です。RDS は必ずプライベートサブネットに配置し、インターネットからの直接アクセスを遮断します。

ALB / NLB — ロードバランサー

AWS のロードバランサーには主に2種類あります。

比較項目ALB(Application LB)NLB(Network LB)
OSI 層L7(HTTP/HTTPS/gRPC)L4(TCP/UDP/TLS)
ルーティングパスベース・ホストベース・ヘッダーベースポートベース(固定 IP アドレスを持てる)
SSL 終端ALB で終端(ACM 証明書を直接アタッチ)TLS パススルーまたは NLB で終端
WebSocket対応対応
主な用途Webアプリ・マイクロサービスルーティングゲーム・IoT・固定IP必要なユースケース

💡 ALB を選ぶべきケース

大多数のWebアプリには ALB で十分です。パスベースルーティング(/api/ → ECS サービスA、/admin/ → ECS サービスB)でマイクロサービスへのトラフィック振り分けも容易に実現できます。

CloudFront — CDN

Amazon CloudFront は世界450箇所以上のエッジロケーションを持つ CDN(Content Delivery Network)です。 S3・ALB・EC2・API Gateway などをオリジンとして設定し、コンテンツをキャッシュ・配信します。

静的コンテンツのキャッシュ
HTML・CSS・JS・画像を世界中のエッジでキャッシュし、オリジンサーバーへの負荷を大幅に削減。
HTTPS の強制・証明書管理
ACM(AWS Certificate Manager)で発行した証明書を CloudFront にアタッチし、HTTPS 通信を実現。証明書の自動更新も ACM が担う。
WAF との統合
CloudFront に WAF を紐付けることで、エッジレベルで悪意あるリクエストをブロックできる。
Lambda@Edge / CloudFront Functions
エッジロケーションでコードを実行し、リクエスト/レスポンスのカスタマイズや A/B テストを実装できる。

Route 53 — DNS

Amazon Route 53 は高可用・高性能なマネージド DNS サービスです。 ドメイン名と IP アドレスの名前解決に加え、ヘルスチェックと組み合わせたフェイルオーバーやレイテンシーベースルーティングも提供します。

ルーティングポリシー用途
シンプルルーティング1つのリソースに固定でルーティング
加重ルーティング複数リソースにトラフィックを割合で分散(カナリアリリース)
レイテンシーベースユーザーに最も近いリージョンに誘導
フェイルオーバープライマリが不健全になった場合にセカンダリへ切り替え(DR構成)
地理的ルーティングユーザーの地理的位置に基づいてルーティング

API Gateway — APIゲートウェイ

Amazon API Gateway は REST/WebSocket/HTTP API を作成・管理・デプロイするフルマネージドサービスです。 Lambda・EC2・ECS などのバックエンドとクライアントの間に立ち、認証・レート制限・ルーティングを担います。

Lambda 統合
API Gateway + Lambda の組み合わせがサーバーレス API の定番構成。インフラ管理不要で API を公開できる。
認証・認可
Cognito User Pools / Lambda オーソライザー / IAM 認証による API アクセス制御が可能。
スロットリング
API 単位・エンドポイント単位でリクエストレートを制限し、バックエンドの保護と DoS 対策になる。
ステージ管理
dev / staging / prod などの環境別にステージを分けてデプロイでき、カナリアデプロイも設定可能。

ネットワークサービス一覧と役割

サービスOSI 層役割代表的な用途
VPCL3仮想ネットワーク空間全AWSリソースの土台
ALBL7HTTP/S ロードバランサーWebアプリへのトラフィックをECS/EC2に分散
NLBL4TCP/UDP ロードバランサー固定IP・超高スループット・UDP が必要なユースケース
CloudFrontL7CDN・エッジキャッシュ静的コンテンツ配信・DDoS軽減・HTTPS強制
Route 53DNS名前解決・ルーティングドメイン管理・DR フェイルオーバー
API GatewayL7API 管理・ゲートウェイサーバーレスAPI・Lambda 統合・スロットリング