トラブルシューティング
運用中に発生しうる問題とその対処法をまとめています。
ログインできない
Section titled “ログインできない”症状: Counter/Penthouse でログイン画面から先に進めない
原因と対策:
| 原因 | 対策 |
|---|---|
| Door ゲートウェイがダウン | Cloudflare Dashboard で Door Worker の状態を確認 |
| Proof サービスがダウン | Proof Worker の状態を確認 |
| Vault DB 接続エラー | Hyperdrive の接続状態を確認 |
| セッション KV のエラー | KV Namespace SESSION_STORAGE の状態を確認 |
| CORS エラー | ブラウザ DevTools で CORS ヘッダーを確認。ALLOWED_ORIGINS に該当オリジンが含まれているか確認 |
セッションが頻繁に切れる
Section titled “セッションが頻繁に切れる”症状: 操作中にログアウトされる
対策:
- セッション有効期限の確認(デフォルト 7 日)
- KV の
SESSION_STORAGEが正常に動作しているか確認 - Cookie のドメイン設定を確認(
.plfumg.comでクロスサブドメイン共有)
Penthouse に admin 以外がアクセス
Section titled “Penthouse に admin 以外がアクセス”症状: /unauthorized にリダイレクトされる
対策: これは正常動作です。Penthouse は role === 'admin' のユーザーのみアクセス可能です。
WebSocket が接続できない
Section titled “WebSocket が接続できない”症状: チャットのリアルタイム更新が停止
対策:
- Fizz サービスの稼働状態を確認
- Durable Objects(
UserInbox,StoreOnlineUsers)のエラーログを確認 - ブラウザの WebSocket 接続制限を確認
- クライアント側のハートビート(30 秒間隔)が正常に動作しているか確認
メッセージが送信できない
Section titled “メッセージが送信できない”症状: チャットメッセージの送信が失敗
対策:
| 原因 | 対策 |
|---|---|
| チャット NG 設定 | 連絡先のチャット NG 状態を確認 |
| Cellar DB 接続エラー | Hyperdrive の接続を確認 |
| R2 エラー(添付ファイル時) | R2 バケット speakeasy-chat-files-dev の状態を確認 |
添付ファイルがアップロードできない
Section titled “添付ファイルがアップロードできない”対策:
- R2 バケットのクォータを確認
- ファイルサイズ制限を確認
- Fizz サービスのログでエラー詳細を確認
配信がスケジュール通りに実行されない
Section titled “配信がスケジュール通りに実行されない”症状: SCHEDULED 状態の配信が QUEUED に遷移しない
対策:
- Fizz の Cron トリガー(毎時)が実行されているか確認
- Queue
broadcast-queueのメッセージ滞留を確認 - 配信予定時刻が正しく設定されているか確認(8 時間以上先の場合は Cron 待ち)
配信が FAILED になる
Section titled “配信が FAILED になる”対策:
- DLQ(
broadcast-dlq)のメッセージ内容を確認 - 対象連絡先の件数を確認(大量の場合はバッチ処理のタイムアウト)
- Fizz サービスのログでエラー詳細を確認
PUSH 通知が届かない
Section titled “PUSH 通知が届かない”対策:
| 確認項目 | 操作 |
|---|---|
| デバイス登録状態 | Counter の通知設定画面で確認 |
| チャネル設定 | PUSH チャネルが有効か確認 |
| カテゴリ設定 | 該当カテゴリがデバイスで有効か確認 |
| Queue 状態 | push-notifications Queue の滞留を確認 |
| VAPID 鍵 | シークレットの VAPID_PUBLIC_KEY, VAPID_PRIVATE_KEY を確認 |
| サブスクリプション有効性 | 410 レスポンス = 無効化済みサブスクリプション |
LINE 通知が届かない
Section titled “LINE 通知が届かない”対策:
- LINE アカウント連携状態を確認
- LINE Bot のアクセストークンが有効か確認
- LINE 友だち追加がされているか確認
- Bell サービスのログを確認
メール通知が届かない
Section titled “メール通知が届かない”対策:
- Resend API キーが有効か確認
- 送信元ドメイン(
send.plfumg.com)の DNS 設定を確認 - 受信先メールアドレスのバウンス状態を確認
- Bell サービスのログを確認
データベース系
Section titled “データベース系”Hyperdrive 接続エラー
Section titled “Hyperdrive 接続エラー”症状: Connection refused や Timeout エラー
対策:
- Cloudflare Dashboard で Hyperdrive の状態を確認
- 接続先 PostgreSQL の稼働状態を確認
- Hyperdrive ID が環境に対して正しいか確認
クエリが遅い
Section titled “クエリが遅い”対策:
- Penthouse の SQL Explorer でスロークエリを特定
- インデックスの有無を確認
- N+1 クエリが発生していないか確認(RQBv2 の
with句を活用)
デプロイが失敗する
Section titled “デプロイが失敗する”対策:
| エラー | 対策 |
|---|---|
Authentication error | CLOUDFLARE_API_TOKEN の有効性を確認 |
Script too large | バンドルサイズを確認(Workers 制限: 10MB) |
Type error | bun typecheck でローカルで型エラーを解消 |
Build failed | bun build でローカルビルドを確認 |
ロールバック後に動作しない
Section titled “ロールバック後に動作しない”対策:
- DB マイグレーションが前のバージョンと互換性があるか確認
- 環境変数やシークレットの追加/削除がロールバック先と一致しているか確認
ローカル開発系
Section titled “ローカル開発系”bun dev で起動しない
Section titled “bun dev で起動しない”対策:
bun installが成功しているか確認- Node.js 22+ / Bun 1.1.38+ の要件を確認
- ポート競合を確認(5173, 5174, 9001-9004)
ハイブリッドモードで接続できない
Section titled “ハイブリッドモードで接続できない”対策:
.dev.varsの設定を確認- リモート dev 環境のサービスが稼働しているか確認
--remote --env devフラグが正しく渡されているか確認
Penthouse のフリーズ
Section titled “Penthouse のフリーズ”Penthouse は HMR が無効化されています。ファイル変更後はブラウザを手動リロードしてください。
Durable Objects 系
Section titled “Durable Objects 系”UserInbox DO のエラー
Section titled “UserInbox DO のエラー”対策:
- Cloudflare Dashboard で DO のエラーログを確認
- WebSocket Hibernation API の制限(256 接続/DO)を超えていないか確認
- DO のストレージ使用量を確認
StoreOnlineUsers DO のエラー
Section titled “StoreOnlineUsers DO のエラー”対策:
- Alarm の実行状態を確認(5 分間隔の auto-away)
- DO 内のユーザー数が大量でないか確認