LogoToRouterドキュメント
LogoToRouterドキュメント
ホームToRouter とは5 分で始めるコアコンセプト
よくある HTTP エラーレートリミット超過 — 対処法キーがブロックまたは失効した上流プロバイダエラーとフェイルオーバー本番運用ベストプラクティス
トラブルシューティング

上流プロバイダエラーとフェイルオーバー

上流プロバイダに問題が起きたとき ToRouter がどのようにチャネルをまたいでリトライするか、そして救えないケースで何が見えるか。

ToRouter は各プロバイダの複数の上流アカウントの前段に位置します。あるチャネルが一時的に失敗すると、ゲートウェイは次の利用可能チャネルを自動的に試します。5xx が返るのは すべての 候補が失敗したときだけです。

自動フェイルオーバーのトリガー

ゲートウェイは上流が以下を返した場合、別のチャネルで再試行します:

  • 429 — 上流側でレートリミット超過
  • 401 / 402 / 403 — 上流キーが失効、停止、またはクレジット切れ
  • 5xx — 上流のサーバーエラーまたは過負荷
  • レスポンスの最初のバイトが届く前の一時的ネットワークエラー

リトライされない もの(即座にあなたに返るもの):

  • 400 — リクエストが不正。別チャネルでも同様に拒否される
  • 404 — 上流にモデルがない。同様
  • ストリーミングレスポンスの最初のバイトがクライアントに届いた後のあらゆるエラー

ストリーミングリクエストでは、フェイルオーバーは 最初のバイトがクライアントに書き込まれる前 にしか機能しません。ストリームの途中で上流に切断された場合は、リトライではなく切り詰められたストリームとして見えます — 2 つのプロバイダの部分出力を安全につなぎ合わせる方法はありません。

フェイルオーバーが諦めたときに見えるもの

{
  "error": {
    "type": "upstream_unavailable",
    "message": "Service temporarily unavailable"
  }
}

通常は 502 または 503 です。これはグループのローテーションに含まれるすべてのチャネルがエラーになったか除外された(レートリミット中、直近の失敗によるクールダウン中など)ことを意味します。

対処:

  1. バックオフ付きでリトライ — 一時的な上流の問題は数秒から数分で解消します。
  2. 利用状況ダッシュボード または 利用状況の詳細 で失敗リクエストの割合とステータスコードを確認します。特定プロバイダが広範に劣化(例:OpenAI のリージョン障害)していれば、公式ステータスページやニュースでも分かることが多いです。
  3. 別モデルを試す — gpt-5 が全面ダウンでも、同じグループの claude-opus-4-7 や Qwen 系モデルは動くかもしれません。

確定的な上流エラー(フェイルオーバーなし)

一部の上流エラーはリトライしても無意味なので、そのまま透過します:

上流が返すあなたが見る理由
400 invalid_request_error元のメッセージ付き 400リクエストボディが不正
404 model_not_found404モデル slug がどの上流でも有効でない
413 payload_too_large413プロンプトまたは添付ファイルが大きすぎる
415 unsupported_media_type415画像/音声フォーマット非対応

これらは リクエストを変更する ことを意味します。リトライではありません。

散発的な 5xx の切り分け

プロバイダが健全でも時々 502/503 が出る場合、特定の上流アカウントが劣化しているか、レートリミットやクールダウンに触れている可能性があります。利用状況の詳細 でモデル、チャネル、エラー列を突き合わせてください。

次のステップ

利用状況の詳細

リクエストごとにモデル、チャネル、エラーを確認します。

コアコンセプト

アカウント、チャネル、ルーティングとアクセスをひと目で。

本番運用ベストプラクティス

リトライロジック、モデルフォールバック、アラート。

キーがブロックまたは失効した

昨日まで動いていた ToRouter キーが急に使えなくなる原因と、復旧方法。

本番運用ベストプラクティス

ToRouter 連携を本番で「退屈」に保つための 8 つの習慣。

目次

自動フェイルオーバーのトリガーフェイルオーバーが諦めたときに見えるもの確定的な上流エラー(フェイルオーバーなし)散発的な 5xx の切り分け次のステップ