## プロジェクト経験概要
英国BBCの認証・アカウント管理プラットフォームにおいて、EC2ベースのモノリスAPIからAWS Lambdaへの段階的な分離を担当。登録ユーザー6,200万人、週間アクティブ約2,500万人が利用するサービスで、ピーク時30,000 TPSに耐えるエンドポイントの設計・実装を行った。
## チーム情報
- **チーム規模**: 約70名(フロントエンド、バックエンド、QA)
- **自分の役割**: シニアソフトウェアエンジニア(フルスタック)
## 開発・実装内容A: トークンリフレッシュのLambda移行
### 【概要】
認証トークンのリフレッシュ機能をLambdaへ移行し、大量プッシュ通知配信時のトラフィックスパイクに対応。
### 【どのような機能の開発・実装か】
全BBCサービス(ウェブ、モバイルアプリ、外部連携)が依存するトークンリフレッシュAPIを、Lambda + ALB構成で再実装。ウェブからはCDN経由、サーバー間は直接呼び出しの2経路をサポート。
### 【課題・問題点】
- プッシュ通知を一斉配信すると、全受信端末が同時にトークンリフレッシュを要求し、既存の認証基盤に過負荷が発生
- EC2のオートスケーリングではスパイクへの追従が遅く、数分間のレイテンシ悪化が常態化
- サインインp95 < 300ms、トークンリフレッシュp95 < 1秒のSLOを維持する必要があった
### 【打ち手・使用した技術】
- **段階的移行**: ALBのルーティングルールでLambdaとEC2を並行稼働させ、エンドポイント単位で切り替え。問題があれば即座にロールバック可能
- **ALBを選択した理由**: API Gatewayと比較し、コストが低くWAFとの統合が容易。既存のルーティング構成との互換性も高い
- **コールドスタート検証**: 高頻度エンドポイントはほぼコールドスタートなしを確認。低頻度は1〜2秒を許容範囲と判断
- **使用技術**: AWS Lambda, ALB, CloudFormation, Node.js, Datadog
### 【成果】
- プッシュ通知トラフィックの推定55%をLambdaで処理し、既存基盤への負荷を大幅に軽減
- トークンリフレッシュの平均レスポンスタイム**約100ms**を達成(SLO p95 < 1秒を大幅にクリア)
- ピーク時30,000 TPSでも安定稼働
## 開発・実装内容B: 高トラフィック障害からのレジリエンス改善
### 【概要】
2022年ワールドカップ期間中のサービス障害を契機に、ボトルネック特定とメンテナンスモード機能を実装。
### 【どのような機能の開発・実装か】
障害原因の調査・修正、および障害時にユーザーへ適切なメッセージを表示するメンテナンスモードの新規開発。
### 【課題・問題点】
- イングランド対イラン戦でサインイン・登録サービスが応答不能になり、多数のユーザーが試合前にサインインできなかった
- 調査の結果、全ページロードで地理情報APIが呼ばれており、さらにエラーページからも同じAPIを呼んでいたため障害がカスケード
- 次の試合まで数日しかなく、短期間での対策が必要
### 【打ち手・使用した技術】
- Datadog・Splunkでボトルネックを特定し、不要な外部API呼び出しを除去
- エラーページの外部依存も排除し、カスケード障害を防止
- **メンテナンスモード**を新規実装:バックエンド過負荷時に静的ページを表示し、負荷を遮断。設定管理サービスのdial切り替えで即座にトリガー可能
- **使用技術**: Datadog, Splunk, AWS CloudWatch, Node.js, React, S3
### 【成果】
- 次のワールドカップ試合ではサービスが安定稼働
- メンテナンスモードが以後の大規模イベント時の安全弁として定着
- この障害分析がレジリエンス専任チーム発足のきっかけとなった
## 開発・実装内容C: WAFセキュリティ基盤と攻撃対応
### 【概要】
6,200万アカウントを保護するAWS WAFの設計・運用、およびボットアカウント大量生成インシデントへの対応。
### 【課題・問題点】
- クレデンシャルスタッフィング攻撃が継続的に発生
- 1回のインシデントで約90,000件の偽アカウントがボットにより生成
### 【打ち手・使用した技術】
- 多層WAFルール:IPブロックリスト、AWS管理のボットIP自動ブロック、5分間1,501回以上のログイン試行で自動遮断
- nonceパターン解析によるボット検出・遮断
- STRIDEフレームワークによる新機能の脅威モデリングに参加
- **使用技術**: AWS WAF, CloudFront, CloudFormation, Splunk
### 【成果】
- 偽アカウント生成を収束させ、実ユーザーのアカウント侵害はゼロ
- 自動ブロック機構により継続的な攻撃への耐性を確保