はじめに
AWSを利用してインフラを構築する際、基本的なネットワーク設計や各サービスの役割を理解することが重要です。本記事では、実際に業務で構築したインフラの構成をもとに、VPCや各コンポーネントの役割を初心者向けに解説します。
インフラ構成の全体像
以下の図は、今回構築したAWSインフラの構成図です。
初めてこのインフラの構成を見たとき、正直さっぱり分かりませんでした。しかし、各コンポーネントの役割や関係性を一つずつ理解していくことで、どのようにシステムが動いているのかが見えてきました。
各コンポーネントの説明
1. VPC(Virtual Private Cloud)
VPCはAWS内に独自のネットワーク環境を構築できるサービスです。イメージとしては、VPCはAWS内に作られた“自分専用のオフィスビル”のようなものです。このビルの中には、公開エリア(パブリックサブネット)と、許可された人しか入れないエリア(プライベートサブネット)があり、それぞれのエリアが異なる役割を持っています。外部ネットワークから隔離された空間を作ることで、安全なインフラ環境を提供します。
VPCの主な構成要素
-
サブネット(Subnet): VPC内のIPアドレス範囲を細分化したもの。イメージとしては、サブネットはオフィスビルのフロア分けのようなものです。パブリックサブネットは来客が自由に出入りできるロビーのようなもので、プライベートサブネットは社員専用のエリアで外部の人は自由に入れません。
- パブリックサブネット(Public Subnet): インターネットに接続可能なサブネット。
- プライベートサブネット(Private Subnet): 外部と直接通信しないサブネット。DBなど外部からアクセスされたくない情報を配置する。
-
インターネットゲートウェイ(Internet Gateway): パブリックサブネットのリソースをインターネットに接続。これは、オフィスビルの正面玄関のようなもので、外部と自由に出入りできる通路を提供します。
-
NATゲートウェイ(NAT Gateway): プライベートサブネットからインターネットに出る際に使用。これは、オフィスのセキュリティゲートを通じて外部の情報にアクセスする仕組みに似ています。例えば、社員が外部のWebサイトを見るためには、専用のゲートを経由しなければならないのと同じです。また、NATゲートウェイはプライベートIPアドレスをグローバルIPアドレスに変換する役割を持ち、プライベートサブネット内のリソースがインターネットと通信できるようにします。
-
グローバルIPアドレス: インターネット上で一意に割り当てられるIPアドレス。
-
プライベートIPアドレス: AWS内部のネットワーク内でのみ使われるIPアドレス。社内の電話番号のように、外部からは直接アクセスできません。

2. Application Load Balancer(ALB)
ALBは、複数のECSコンテナインスタンスに負荷を分散し、スケーラブルで耐障害性の高い構成を実現します。
例えば、飲食店で注文を受けるカウンターが1つだけだと混雑してしまいます。しかし、複数のカウンターがあるとスムーズに注文をさばけるようになります。ALBは、この「注文カウンター」の役割を果たし、リクエストを適切なサーバーへ分配することでシステムのパフォーマンスを向上させます。
ALBは、複数のECSコンテナインスタンスに負荷を分散し、スケーラブルで耐障害性の高い構成を実現します。

3. Amazon ECS(Elastic Container Service)
ECSは、コンテナ化されたアプリケーションをAWS上で効率的に運用するためのサービスです。
※【AWS初学者向け・図解】Amazon ECSとは?現役エンジニアがわかりやすく解説より画像引用
ECSの特徴
-
スケーラブルなコンテナ管理: トラフィックの増減に応じて、自動的にコンテナをスケールアウト・スケールインできます。
-
マネージドサービス: EC2やFargateを利用して、コンテナの実行環境を自動管理。
-
ロードバランシング: ALBと連携して、リクエストを適切なコンテナに分配。
ECSのイメージ(例え)
ECSを「フードデリバリーのキッチン」に例えると分かりやすいでしょう。
- 注文が少ない時間帯はシェフ(コンテナ)の数を減らして省エネ。
- ピーク時には追加のシェフを増やして効率よく料理(リクエスト処理)を提供。
- 料理(データ)をお客様(ユーザー)へ届ける役割を果たす。
このように、ECSは需要に応じて柔軟に対応し、負荷の変動に強い仕組みです。
4. Amazon RDS(Relational Database Service)
Amazon RDSは、クラウド上でリレーショナルデータベースを簡単にセットアップ、運用、スケールできるフルマネージドなデータベースサービスです。これにより、データベースの運用負担を軽減し、パフォーマンスやセキュリティを向上させることができます。
今回の構成では、マルチAZ構成を採用し、可用性と耐障害性を向上させています。
RDSの特徴
- マネージドデータベースサービス: データベースのバックアップ、パッチ適用、スケーリングなどを自動で管理。
- マルチAZ構成: もし1つのデータセンターが故障しても、別のデータセンターでデータを維持し続ける仕組み。これにより、サービスが止まるリスクを減らせます。
- スケーラビリティ: 需要に応じてストレージやインスタンスのサイズを変更可能。
- セキュリティ強化: データはVPC内で管理され、特定のユーザーやシステムだけがアクセスできるように制限されます。さらに、暗号化を利用してデータを安全に保管できます。
このように、Amazon RDSを活用することで、データベース運用を効率化し、可用性の高いシステムを構築することができます。

5. Amazon Route 53
Route 53は、AWSのDNSサービスです。ユーザーが独自ドメインを使用してアプリケーションにアクセスできるようにするために利用されています。
※【図解AWS】Route53とは?初心者にもわかりやすく解説!
より画像引用

設計の意図と考慮点
1. セキュリティの確保
- パブリックサブネットには NAT Gateway と ALB のみ を配置し、外部からの不要なアクセスを防止。
- プライベートサブネットに ECS と RDS を配置 することで、データベースへの直接的なインターネットアクセスを遮断。
2. 可用性とスケーラビリティの向上
- ALB を使用して ECS の負荷分散 を行い、障害発生時もリクエストを処理可能に。
- ECS Auto Scaling を活用 し、トラフィックの増減に応じてスケールアウト/スケールインを自動化。
- Amazon RDS のマルチAZ構成 を採用し、耐障害性を強化。
まとめ
本記事では、AWSの基本的なインフラ構成について、初心者向けに解説しました。VPCの役割や各コンポーネントの重要性を理解することで、より堅牢でスケーラブルなインフラを構築できます。
これからAWSを学ぶ方にとって、少しでも役に立てば幸いです!
次のステップ
- AWSの実際の構築手順について詳しく解説する記事を作成予定。
- Terraformで自動化する方法も紹介予定。
参考文献