ストーリー
ミッション概要
| ミッション | テーマ | 目安時間 |
|---|---|---|
| Mission 1 | セキュリティ設計書の作成 | 15分 |
| Mission 2 | 可観測性設計書の作成 | 15分 |
| Mission 3 | パフォーマンス要件の定義 | 15分 |
| Mission 4 | DR/BCP設計書の統合 | 15分 |
Mission 1: セキュリティ設計書の作成(15分)
要件
NexPayのセキュリティアーキテクチャ設計書を作成してください。以下の項目を含めること。
- 脅威モデル — 主要な脅威とその対策を3つ以上
- 認証・認可フロー — ユーザー認証からAPI呼び出しまでの流れ
- データ保護 — 暗号化戦略(転送時・保管時)
解答例
■ 脅威モデルと対策
| 脅威 | リスクレベル | 対策 |
|------|------------|------|
| カード情報の窃取 | 致命的 | PCI DSSスコープ分離、トークナイゼーション |
| 不正送金 | 致命的 | 多要素認証、取引金額制限、AMLスクリーニング |
| APIへのDDoS | 高 | WAF + Shield Advanced、レート制限 |
| 内部不正アクセス | 高 | RBAC + 最小権限、監査ログ、特権アクセス管理 |
| SQLインジェクション | 中 | パラメータバインディング、WAFルール |
■ 認証・認可フロー
User → Mobile App: 生体認証 / PIN
→ API Gateway: JWT(短寿命15分)
→ Kong: JWT検証 + レート制限チェック
→ Service: スコープベースの認可チェック
→ DB: RLSによる行レベルアクセス制御
高額取引(10万円以上):
追加のステップアップ認証(SMS OTP or 生体認証の再確認)
■ データ保護
転送時:
- 外部通信: TLS 1.3必須
- サービス間: mTLS(Istio Service Mesh)
- gRPC: TLS暗号化チャネル
保管時:
- Aurora: AES-256 (AWS KMS CMK)
- S3: SSE-KMS
- ElastiCache: at-rest暗号化有効
- カード情報: トークナイゼーション(カード番号はTokenization Serviceのみ保持)
鍵管理:
- AWS KMS: マスターキー管理
- CloudHSM: PCI DSS対象の暗号鍵
- 鍵ローテーション: 年次自動ローテーション
Mission 2: 可観測性設計書の作成(15分)
要件
NexPayの可観測性を統合的に設計してください。
- メトリクス設計 — ビジネスKPIとシステムKPIの定義
- ダッシュボード構成 — 3種類のダッシュボード設計
- アラート戦略 — 重要度別のアラートルール
解答例
■ メトリクス設計
ビジネスKPI:
- 決済成功率: > 99.5%(5分間隔で集計)
- 決済処理時間: p99 < 800ms
- 日次取引額: リアルタイム集計
- 不正検知率: 不正取引/全取引の比率
システムKPI:
- API可用性: > 99.99%
- Pod再起動回数: < 1回/日
- DB接続プール使用率: < 80%
- Kafkaコンシューマーラグ: < 1000メッセージ
■ ダッシュボード構成
1. エグゼクティブダッシュボード(経営層向け):
- 日次/月次取引額、決済成功率、アクティブユーザー数
- 前月比・前年比のトレンド
2. オペレーションダッシュボード(SRE向け):
- SLI/SLOの現在値とバーンレート
- インフラリソース使用率、エラーレート
- デプロイ状況、直近のインシデント
3. サービスダッシュボード(開発チーム向け):
- サービス別のレイテンシ・エラーレート
- 分散トレーシング(Jaeger)
- ログの集約ビュー
■ アラート戦略
| 重要度 | 条件 | 通知先 | 対応時間 |
|--------|------|--------|---------|
| P1(緊急) | 決済API 5xx > 1% / 5分 | PagerDuty → オンコール | 5分以内 |
| P1(緊急) | 決済成功率 < 99% / 5分 | PagerDuty → オンコール | 5分以内 |
| P2(高) | API レイテンシ p99 > 2秒 | Slack #alerts + PagerDuty | 30分以内 |
| P3(中) | DB接続プール > 80% | Slack #alerts | 4時間以内 |
| P4(低) | ディスク使用率 > 70% | Slack #monitoring | 翌営業日 |
Mission 3: パフォーマンス要件の定義(15分)
要件
NexPayの各サービスのパフォーマンス要件と、それを達成するための設計を記述してください。
- レイテンシ目標 — サービス別のSLO
- スループット目標 — ピーク時の処理能力
- スケーリング戦略 — 各コンポーネントのスケーリング方式
解答例
■ レイテンシ目標(SLO)
| サービス | p50 | p95 | p99 | 計測ポイント |
|---------|-----|-----|-----|------------|
| QRコード決済 | 200ms | 500ms | 800ms | API Gateway → レスポンス |
| 残高照会 | 50ms | 100ms | 200ms | Redis Cache Hit時 |
| 送金 | 300ms | 800ms | 1500ms | Saga完了まで(同期部分) |
| 投資注文 | 500ms | 1000ms | 2000ms | 注文受付まで |
■ スループット目標
通常時:
- 決済: 1,000 TPS
- 送金: 500 TPS
- 残高照会: 5,000 TPS
ピーク時(キャンペーン・年末):
- 決済: 5,000 TPS(通常の5倍)
- 送金: 2,000 TPS
- 残高照会: 20,000 TPS
■ スケーリング戦略
| コンポーネント | スケーリング方式 | トリガー |
|--------------|----------------|---------|
| Payment Pod | HPA (CPU > 60%) | 水平スケーリング: 3→20 Pod |
| Account Pod | HPA (RPS > 1000/pod) | 水平スケーリング: 3→15 Pod |
| Aurora Reader | Auto Scaling | 接続数 > 70% |
| ElastiCache | クラスターモード | シャード追加(手動) |
| Kafka | パーティション追加 | コンシューマーラグ監視 |
Mission 4: DR/BCP設計書の統合(15分)
要件
Step 3-4で学んだDR/BCPの内容を設計書としてまとめてください。
- RPO/RTOマトリクス — サービスティア別の目標値
- フェイルオーバー手順 — 自動/手動の判断基準
- テスト計画 — DR訓練のスケジュール
解答例
■ RPO/RTOマトリクス
| ティア | サービス | RPO | RTO | DR構成 | 年間コスト |
|-------|---------|-----|-----|--------|-----------|
| Tier 1 | 決済、残高 | 0 | < 1分 | Active-Active(AZ) | 高 |
| Tier 2 | 送金、KYC | < 1秒 | < 5分 | Hot Standby | 中〜高 |
| Tier 3 | 投資、通知 | < 1分 | < 30分 | Warm Standby | 中 |
| Tier 4 | 分析、レポート | < 1時間 | < 4時間 | Backup & Restore | 低 |
■ フェイルオーバー判断基準
自動フェイルオーバー:
- AZ障害: Route 53ヘルスチェック失敗 → 自動AZ切り替え
- DB障害: Aurora自動フェイルオーバー(30秒以内)
手動フェイルオーバー(SREリード承認必要):
- リージョン障害: 大阪リージョンへの切り替え
- 判断基準: プライマリリージョン復旧見込み > 30分の場合
手順:
1. Route 53ヘルスチェック: プライマリ異常検知(自動、30秒)
2. SREリード判断: リージョンフェイルオーバーの要否(手動、5分以内)
3. Aurora昇格: セカンダリをWriterに昇格(自動、1分)
4. EKSスケールアウト: 大阪リージョンをフル構成に(自動、3分)
5. DNS切り替え: TTL 60秒で反映
■ DR訓練計画
| 頻度 | 訓練内容 | 参加者 |
|------|---------|--------|
| 月次 | DBリストアテスト | SREチーム |
| 四半期 | リージョンフェイルオーバー(計画的) | エンジニアリング全体 |
| 半期 | 縮退運転モード切り替え訓練 | エンジニアリング + CS |
| 年次 | ゲームデー(全体DR訓練) | 全社 |
達成度チェック
| ミッション | テーマ | 完了 |
|---|---|---|
| Mission 1 | セキュリティ設計書の作成 | |
| Mission 2 | 可観測性設計書の作成 | |
| Mission 3 | パフォーマンス要件の定義 | |
| Mission 4 | DR/BCP設計書の統合 |
まとめ
| ポイント | 内容 |
|---|---|
| セキュリティ | 脅威モデル・認証認可・データ保護の統合設計 |
| 可観測性 | ビジネス/システムKPI、ダッシュボード、アラートの体系化 |
| パフォーマンス | SLO定義とスケーリング戦略の対応付け |
| DR/BCP | ティア別RPO/RTOとフェイルオーバー判断基準の明文化 |
チェックリスト
- 脅威モデルと対策を含むセキュリティ設計書を作成できた
- メトリクス・ダッシュボード・アラートの可観測性設計を行えた
- サービス別のレイテンシ/スループット目標を定義できた
- RPO/RTOとフェイルオーバー手順を含むDR設計書を作成できた
次のステップへ
次はStep 3の理解度チェッククイズです。横断的関心事の理解度を確認しましょう。
推定読了時間: 60分