Upload2Door

Operations

監視 → 検知 → 自動復旧。人手を介さない運用設計。

SLA目標と達成手段

99.9%
システム稼働率
Cloudflare 100+ エッジ
200ms
API応答(P95)
Edge Computing
99.99%
アップロード成功率
リトライ + 分割
1h
MTTR(障害復旧)
自動復旧 + アラート

監視スタック

種類ツール監視対象
エラートラッキングSentry例外、未処理エラー、スタックトレース
パフォーマンスSentry PerformanceAPI応答時間、トランザクション
アクセス解析Cloudflare Analyticsリクエスト数、帯域、エッジキャッシュ率
アップタイムBetterStack (UptimeRobot)エンドポイント死活監視
ログCloudflare Logpush → R2全HTTPリクエストログ

アラートフロー

異常検知 → Slack通知 → 自動復旧試行 → 失敗時PagerDuty

Slack通知

即座にチャンネルへ通知

  • エラー率閾値超過
  • API応答時間劣化
  • アップロード失敗率上昇

自動復旧

人手を介さず復旧

  • Workers自動再デプロイ
  • キャッシュパージ
  • コネクションリセット

エスカレーション

自動復旧失敗時

  • PagerDuty電話通知
  • インシデント記録
  • ポストモーテム作成

自動復旧シナリオ

障害パターン検知方法自動対応復旧時間
Workers障害ヘルスチェック失敗前バージョン自動ロールバック< 1分
エッジキャッシュ汚染エラー率急上昇キャッシュパージ< 30秒
R2アクセス障害アップロード失敗率リトライ + フォールバック自動継続
Firestore接続障害タイムアウト増加コネクションプールリセット< 10秒
DDoS攻撃リクエスト急増Cloudflare自動緩和即時

CI/CDパイプライン

git push main
    ↓
GitHub Actions
    ├── Type Check (tsc)
    ├── Lint (ESLint)
    ├── Test (Vitest)
    └── Build
    ↓
Wrangler Deploy (Preview)
    ↓
E2E Test (Playwright)
    ↓
Production Deploy (on success)
デプロイ戦略
Gradual Rollout(段階的展開)
Preview環境での事前確認
1クリックロールバック
ゼロダウンタイムデプロイ
デプロイ時間
CI実行時間〜 3分
デプロイ時間〜 30秒
グローバル伝播〜 5秒

バックアップ・DR

データ種別バックアップ保持期間RPO
Firestore(PII)日次自動バックアップ30日24時間
D1(業務データ)日次エクスポート30日24時間
R2(画像)オブジェクト複製無期限0(同期)
ログLogpush → R290日リアルタイム

運用ダッシュボード

リアルタイム可視化

Cloudflare

トラフィック・キャッシュ・WAF

Sentry

エラー・パフォーマンス

Firebase Console

認証・Firestore

Slack

アラート集約