クライアント概要
数百万人のユーザーを抱え、短いサイクルで出荷を行う複数スクワッド体制のグローバル高級フィットネスブランドです。セキュリティ、稼働率、リリース品質に高い基準を求めています。
本アプローチは、サンディエゴ、ボストン、ニュージャージー、オックスフォード、ベイエリアなどの規制産業のチームにも適合します。
課題
- リポジトリごとに分断された CI 構成とドリフト
- Travis CI の制約と保守負荷の増加
- 手作業で調整された CloudFormation によるインフラ肥大化
- フロントエンド配備におけるシークレット取り扱いの不整合
- 新規サービスのオンボーディングが遅い
- チームの自律性を損なわずにガードレールを明確化する必要
アプローチ
基盤を Jenkins と Terraform へ移行し、標準のパイプラインテンプレートを作成してリポジトリ衛生で徹底しました。Terraform モジュールでランタイム、ネットワーク、最小権限のベストプラクティスを集約しました。
フロントエンドのデプロイ時に AWS Systems Manager Parameter Store と Secrets Manager を用いてシークレットを注入するモデルを整備しました。採用が容易で安全性が高く、再現性のあるパターンです。
- ステージとステップを統一する Jenkins 共有ライブラリ
- Terraform モジュール、plan と apply のゲート、状態管理の衛生
- ブランチポリシーとテンプレート駆動のリポジトリセットアップ
- イメージに埋め込まず、配備時にシークレットを取得して注入
- 明確なハンドオフ、簡潔なドキュメント、迅速なクイックスタート
効果
40% 以上
ツールおよび保守コストの削減
高速化
標準テンプレートによるリポジトリの立ち上げ
クリーン化
フロントエンドとバックエンドのシークレット運用
数値は複数スクワッドでの本番展開実績に基づきます。
難易度の高かったポイント
フロントエンドアプリはビルド時に未確定のランタイムシークレットを必要としました。機密値をイメージに埋め込む方法は回避しました。配備ステップで AWS SSM と Secrets Manager から値を取得し、制御された方法で環境変数として注入しました。これによりリスクを低減し、ビルドの可搬性を維持しました。