ALB: L7ロードバランサーの基礎とHTTPでの最初の公開
ALBの役割とリスナー・ターゲットグループ・ヘルスチェックという3要素、HTTPだけでまず公開する設計判断、ALB用セキュリティグループとアクセスログ用S3バケットの実装を扱います。
ALBの役割とリスナー・ターゲットグループ・ヘルスチェックという3要素、HTTPだけでまず公開する設計判断、ALB用セキュリティグループとアクセスログ用S3バケットの実装を扱います。
VPC、Route 53、S3、ALB、ECS、RDS、IAM の 7 サービスを軸に、架空のタスク管理 SaaS「Tasuku」の本番環境を Terraform で設計から構築まで進める連載のトップページです。
ECSのクラスタ・タスク定義・タスク・サービスの関係を整理し、Fargate起動タイプでコンテナを動かすための実行ロールとタスクロール、ECRリポジトリ、CloudWatch Logsによるログ収集を構築します。単発のrun-taskで基盤の動作を確認します。
第8章で送ったECSサービス化を完成させます。web/apiの2サービスをホストベースルーティングでALB経由に公開し、Secrets ManagerからのDB接続情報注入、S3アクセス権限の追加、rolling更新とcircuit breaker、Auto Scalingまでを扱います。
IAM のポリシー JSON の文法と評価順序、ロールと信頼ポリシーの関係を学び、Terraform 実行専用の IAM ユーザーとグループを作って、管理者相当の認証情報から切り替えます。
RDSがマネージドサービスとして代行する運用とTasuku側が担う設計判断を整理し、インスタンスクラス・ストレージ・Multi-AZの選定、マスターパスワードのSecrets Manager統合、セキュリティグループチェーンの完成を扱います。run-taskとpsqlによる疎通確認で締めくくります。
Route 53ホストゾーンとDNS委任の基礎、ACMによるDNS検証の仕組み、443番リスナーの追加と80番のHTTPSリダイレクト化を扱います。
S3のバケット設計4原則、Terraform stateをS3へ移すときに生じる鶏と卵の問題、添付ファイル用バケットの実装、VPCエンドポイントによるS3アクセスの経路を扱います。
Terraform の最小構成で HCL の文法と provider のバージョン固定、state の概念を学び、最初の apply として AWS Budgets の予算アラートを作成します。
VPCのCIDR設計、2つのアベイラビリティゾーンにまたがる3層のサブネット構成、NAT Gatewayの冗長化とコストのトレードオフを扱います。
Docker・AWS・Terraform・CI/CD などインフラ構築と運用に関するノートをまとめるドメイン。AWS 実践ガイド連載を公開中。
第10章までで組み上げたTasukuのインフラをE2Eで疎通確認し、ECSデプロイのタグ戦略を標準化します。そのうえで、単一環境フラット構成だったTerraformコードをmodule + envs/dev,prod構成へリファクタします。
連載の題材となる架空のタスク管理 SaaS「Tasuku」の機能要件と非機能要件を定義し、VPC、Route 53、S3、ALB、ECS、RDS、IAM で組む全体アーキテクチャと、依存関係に基づく構築順序を解説します。
連載最終章です。各章に散在していたコストの話を1枚の地図にまとめ、開発環境での削減定石を示します。そのうえで、学習用インフラを安全に終わらせるdestroy手順と、この連載のスコープ外に置いた次の一歩を扱います。