コンテナ(ECS/Fargate)、Lambda、S3 静的サイト の 3 つを同時に抱えるモダンなアプリを想定し、 リポジトリ/パイプラインの切り方を比較します。
※AWS Summit 2025 で得た知見を整理し、後日の PoC に備えた自分用メモです。
1. 用語と前提技術
項目 | 採用技術の一例 |
---|---|
CI/CD 基盤 | AWS CodePipeline / CodeBuild |
IaC | AWS CDK v2(TypeScript 想定) |
デプロイ対象 | - Amazon ECS (rolling update) - AWS Lambda (function code update) - Amazon S3 (static hosting) |
注: CDK は
aws-s3-deployment
で S3 へのアセットアップロード、
aws_lambda.Function
で Lambda コード更新、
ECS サービスのローリングアップデートを標準サポートしています。
CDK Assets 公式ページも参照ください。
2. パターン比較
A. リポジトリ/パイプラインを分割
観点 | 評価 |
---|---|
アーキテクチャ | フロント/バック/基盤をそれぞれ別リポジトリ & 別パイプライン |
チーム体制 | フロント/バック/基盤それぞれ別チーム |
✅ メリット | - チーム責任範囲が明確 - 言語・フレームワークを自由に選べる - 影響範囲が限定され安全 |
❌ デメリット | - マイクロサービス数 × 環境数分パイプラインが増殖 - 可視化・コスト管理が煩雑 |
※IaCはTerraformやCloudFormationでも構築可能。
B. リポジトリ/パイプラインを統一
観点 | 評価 |
---|---|
アーキテクチャ | コード・IaC・パイプラインを 1 リポジトリに統合。CDK で多ターゲットを一括デプロイ |
チーム体制 | - フルスタックエンジニアがアプリも基盤も開発 - マイクロサービス単位でチームを分割 |
✅ メリット | - コード & インフラの追跡が一元化 - CDK による環境コピーも容易 |
❌ デメリット | - 小さな修正でも全サービス再デプロイのリスク - デプロイ所要時間が長くなりがち - フルスタック人材確保が前提 |
このパイプライン構成が合いそうな例として、BedrockChatがあります。
フロント/バック/基盤がすべて同一レポジトリにあり、
CDKデプロイで本格的なRAGを1日で構築できます。
改善策: フォルダー差分を検知して 対象サービスだけ パイプラインを起動することもできますが、フォルダー検知ロジックの実装が必要です。
3. まとめ
チーム規模 / 目的 / (条件) | 推奨パターン |
---|---|
10 名以上 / コンポーネント分業 | A リポジトリ/パイプラインを分割 |
3–5 名 / OSS ライクな高速開発 / CDK利用可 | B リポジトリ/パイプラインを統一 |
“パイプライン数の爆発” と “全体デプロイ遅延” はトレードオフ。