AWS 実践ガイド: タスク管理 SaaS を Terraform で本番構築する
本連載の Terraform コードは、執筆時点 (2026 年 7 月) の Terraform v1.13.5 と AWS provider v6.53.0 で terraform fmt と terraform validate を通しています。validate が保証するのは構文と provider スキーマとの整合までで、実際に AWS へ apply した結果は保証しません。apply を伴う手順は AWS と HashiCorp の公式ドキュメントに基づいて記述し、各章で出典を示します。AWS の仕様値 (制約、既定値) も執筆時点の情報です。
本連載は、架空のタスク管理 SaaS「Tasuku」の本番環境を題材に、AWS の主要 7 サービスの設計と Terraform 実装を章ごとに積み上げる入門から実践までのガイドです。扱う 7 サービスは VPC、Route 53、S3、ALB、ECS、RDS、IAM です。構成上欠かせない ECR、ACM、CloudWatch Logs、Secrets Manager も、使う章の中で扱います。
章の並びは解説の都合ではなく、実際にインフラを構築する依存関係の順です。第 2 章で Terraform の最小構成から始め、章が進むごとに同じコードベースへリソースを足していき、第 10 章でアプリケーションが公開され、第 11 章で環境分離、第 12 章で運用の締めくくりまで到達します。
想定読者
- Web アプリケーションの開発経験はあるが、AWS の本番環境をゼロから設計した経験がない方
- コンソール操作で AWS に触れたことはあるが、Terraform でコード管理する方法を知りたい方
- ECS や RDS の個別記事を読んだことはあるが、サービス間のつながり (ネットワーク、権限、名前解決) を一気通貫で追いたい方
AWS アカウントの作成手順そのものは扱いません。IAM の権限モデルや VPC のネットワーク概念は前提とせず、各章の冒頭で概念から説明します。
完成形
最終的に次の構成ができあがります。ユーザーのリクエストは Route 53 で名前解決され、ALB で HTTPS を終端し、プライベートサブネットの ECS (Fargate) へ届きます。データは RDS (PostgreSQL) と S3 に保存されます。
連載構成
| 章 | テーマ | 概要 |
|---|---|---|
| 01. 全体像 | 要件と設計図 | 題材 Tasuku の要件定義、7 サービスの役割分担、構築順序の考え方 |
| 02. Terraform 基礎 | IaC の出発点 | HCL の最小文法、state の概念、最初の apply で予算アラートを作る |
| 03. IAM | 権限モデル | ポリシー JSON の読み書き、ロールと信頼ポリシー、Terraform 実行権限の現実解 |
| 04. VPC | ネットワーク | CIDR 設計、2 AZ とサブネット 3 層、NAT Gateway のコスト判断 |
| 05. S3 | オブジェクトストレージ | バケット設計原則、tfstate 管理の定石、添付ファイルバケット |
| 06. ALB | 入口 | L7 ロードバランサーの概念、アクセスログ、まず HTTP で公開する |
| 07. Route 53 と ACM | 名前と証明書 | DNS 委任、証明書の DNS 検証、HTTPS 化と独自ドメイン公開 |
| 08. ECS 前編 | コンテナ基盤 | ECR、クラスタ、タスク定義、2 種類の IAMロール、ログ設計 |
| 09. RDS | データベース | サブネットグループ、Secrets Manager 統合、Multi-AZ とセキュリティグループチェーンの完成 |
| 10. ECS 後編 | サービス公開 | web と api の 2 サービス、秘密情報の注入、Auto Scaling |
| 11. デプロイ標準化・環境分離 | 疎通確認と環境分離 | E2E 疎通チェックリスト、ECS デプロイの標準手順、module 化と envs/dev,prod 構成へのリファクタ |
| 12. 総仕上げ | 課金構造と終わり方 | 課金構造の地図、削減定石、安全な destroy 手順、次の一歩 |
読み進め方
- 通読する場合: 章順そのままが構築順です。第 2 章以降は前章までのコードに積み上げるため、順番どおりに読むことを想定しています
- 概念だけ知りたい場合: 各章の前半 (役割と概念、設計判断) だけを拾い読みできます。Terraform 実装の節は独立しています
- 特定サービスだけ知りたい場合: 各章冒頭の構築順序図(現在の章をオレンジ色で示す)で、そのサービスが全体のどこに位置するかを確認してから読み始められます
本連載の構成には、作成した時点から時間課金が始まるリソース (NAT Gateway、ALB、RDS など) が含まれます。課金の始まる章の一部ではその旨を明示しており、第 2 章では最初のリソースとして予算アラートを作成します。連載全体の課金ディメンションは第 12 章でまとめて振り返ります。料金の具体額は改定されるため本文には書きません。試す場合は必ず AWS の料金ページで現行の料金を確認し、使い終わったリソースは削除してください。
それでは、第 1 章: 全体像から始めます。