Documents
Home

10 障害対応

10.1 ネットワーク監視


10.2 ネットワーク状態判定と動作

Google Cloudflare 判定 動作
正常 通常運用
CF 障害 自宅鯖のみで運用・Turso / D1 同期スキップ
ネット切断 外部アクセス不可・自宅鯖 LAN のみ
ネット切断 外部アクセス不可・自宅鯖 LAN のみ

10.3 フェイルオーバー

Cloudflare Tunnel のフォールバック機能を使用。CF Workers は不要。

app.example.com
├── Tunnel 接続中  → 自宅鯖 WebUI へ
└── Tunnel 切断時  → CF Pages WebUI へリダイレクト

10.4 障害シナリオ別対応

シナリオ A:CF 障害(自宅鯖正常)

  1. Google ping ✅ / Cloudflare ping ❌ を検知
  2. Turso / D1 への同期を停止
  3. 自宅鯖 PostgreSQL のみで運用継続
  4. CF 復旧後 → PostgreSQL 全量を Turso + D1 へ再同期(全量方式)

シナリオ B:自宅鯖ダウン

  1. Tunnel 切断を Cloudflare が検知
  2. app.example.com → CF Pages WebUI へリダイレクト
  3. ユーザーは CF Workers API 経由で Turso / D1 へ書き込み
  4. 自宅鯖復旧後 → マージロジックで PostgreSQL を最新化(詳細は 09_db-sync.md 参照)

シナリオ C:ネット切断(Google / Cloudflare 両方 NG)

  1. 外部アクセス不可
  2. 自宅鯖は LAN 内のみ稼働
  3. BOT はオフライン(Discord に接続できない)
  4. 復旧後は自動で通常運用へ戻る(特別な操作不要)

10.5 ロールバック

DBマイグレーションの失敗など、ロールバックが必要な場合は手動コマンドで実施する。
詳細手順は 13_operation.md を参照。