プロジェクトでの変化
- 出発点既存インフラ環境が紛失状態
- 再構築方式ソースコード解析 ゼロベース
- 実行基盤AWS ECS Fargate でサーバーレス
課題
インフラの環境が、失われていました。前のベンダーが構成情報を紛失しており、手元にはほとんど何も残っていません。それでも顧客データを処理するバッチは動き続けています。改修しようにも、どのコードがどこにつながっているかを推測しながら進めるしかない状態でした。バッチは止められません。本番を動かしたまま、ソースコードからインフラ要件を逆算してゼロから作り直す。そういう前提の案件でした。
アプローチ
- 01 既存ソースコードを精読し、必要なインフラ要件(接続先・トリガ・データ種別)を逆算しました
- 02 AWS ECS Fargate + EventBridge のイベント駆動構成で、紛失していた環境をゼロから再構築しました
- 03 S3 → EventBridge → Fargate のチェーンで、データ到着から数秒で処理を開始する構成にしました
- 04 Python で会員情報・契約情報・使用実績・離脱判定など、データ種別ごとに処理クラスを分離しました
- 05 AWS SSM Parameter Store で接続情報・閾値を外部化しました
- 06 AWS CodeBuild で Docker イメージのCI/CDを整備し、再現可能な構築フローにしました
成功要因
- ソースコード解析からの逆算
- 紛失したインフラ要件をソースコードから逆算し、ゼロベースで構成を再現しました。
- イベント駆動による即応性
- S3 → EventBridge → Fargate のチェーンで、データ到着から数秒で処理を開始できる構造にしました。
- 再現可能なCI/CD
- CodeBuild + Docker で構築フロー全体を再現可能にし、属人運用を排除しました。
- 設定の外部化
- SSM Parameter Store で接続情報・閾値を管理し、コード改修なしで運用調整できるようにしました。
ソリューション
まずソースコードを読み込み、そこからインフラの要件を逆算しました。組み直したのは AWS ECS Fargate + EventBridge を中核にしたイベント駆動の構成です。設定は SSM Parameter Store へ外に出し、CI/CDは Docker + CodeBuild で再現できるようにしました。環境が消えた状態から、本番を止めずに新しい基盤へ移せています。