> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/deployment/ja/production-checklist.md).

# 本番対応チェックリスト

一度完了したら [デプロイオプションを選択した](/deployment/ja/choosing-a-deployment.md)、このページを使って、本番トラフィックを受ける前に統合を堅牢化してください。ここでは、エラーハンドリングと再試行、タイムアウトとコールドスタート、レート制限、および〜のためのレプリカサイズ設定を扱います [Dedicated Deployment](/deployment/ja/roboflow-cloud/dedicated-deployments.md).

## HTTPエラーと再試行

Roboflow の推論 API と管理 API は標準の HTTP ステータスコードを使用します。ツール横断の完全な表（REST のステータスコード、SDK の例外、CLI の終了コード）は〜にあります [エラーとステータスコード](https://docs.roboflow.com/reference/errors-and-status-codes)。本番環境での重要なルールは、実際に再試行可能なものだけを再試行することです：

| ステータス         | 再試行？ | ガイダンス                                                                                            |
| ------------- | ---- | ------------------------------------------------------------------------------------------------ |
| `200` / `204` | -    | 成功。                                                                                              |
| `400`         | いいえ  | 不正なリクエスト - ペイロードを修正してください。再試行しても同じ不正なリクエストが送信されます。                                               |
| `401` / `403` | いいえ  | 認証またはアクセスの失敗です。再試行してもキーが有効になることはありません。APIキーとそのスコープを確認してください。                                     |
| `402` / `423` | いいえ  | プランの制限、クォータ到達、または請求の一時停止です。請求側で解決してください。 [請求](https://roboflow.com/pricing) 側です。ループで再試行しないでください。 |
| `404`         | いいえ  | リソースが存在しないか、あなたのキーからは見えません。                                                                      |
| `429`         | はい   | レート制限されています。待機して、指数バックオフで再試行してください（参照 [レート制限](#rate-limits)).                                    |
| `5xx`         | はい   | 一時的なサーバーエラーです。バックオフ付きで安全に再試行できます。                                                                |

**バックオフパターン。** 〜の場合 `429` および `5xx`、指数バックオフとジッター（たとえば、1秒、2秒、4秒、8秒にランダムなオフセットを加える）で再試行し、試行回数に上限を設けてください。絶対に再試行しないでください `401`/`403`/`404`/`400` 自動的に - 代わりにそれらをアプリケーションに表示してください。

を呼び出すとき [Dedicated Deployment](/deployment/ja/roboflow-cloud/dedicated-deployments.md#http-api) 管理サービス（`https://roboflow.cloud`）では、レスポンスコードを明示的に確認してください。 `200` は JSON 本文を返し、それ以外のコードはエラーメッセージを文字列として返します。

## タイムアウトとコールドスタート

その [Serverless Hosted API](/deployment/ja/roboflow-cloud/serverless-api.md) 必要に応じてモデルを読み込みます。すでにサーバー上に常駐していないモデルへの最初のリクエスト（「ウォームアップ」）には数秒かかる場合があり、しばらく使われていないモデル（たとえば推論の間隔が約10分）の場合はアンロードされ、次回の呼び出しで再ロードが必要になることがあります。

* **クライアントのタイムアウトは十分に長めに設定してください。** コールドスタートで発火するほど短いクライアントタイムアウトでは、本来成功していたはずのリクエストも失敗します。最初のリクエスト時とアイドル期間後のウォームアップのために余裕を持たせてください。
* **モデルを事前にウォームアップしてください。** 予測可能なレイテンシが重要なら、レイテンシに敏感なトラフィックの前にウォームアップリクエストを送って、モデルを事前にキャッシュしておいてください。
* **レスポンスヘッダーを確認してください。** Serverless のレスポンスには `x-model-cold-start` （このリクエストで読み込みコストが発生したかどうか）と `x-processing-time`。これらを使ってコールドスタートの頻度と処理時間を監視してください。参照 [Serverless の料金](/deployment/ja/roboflow-cloud/serverless-api/pricing.md) で、これらのヘッダーが課金にどう反映されるかを確認してください。
* **アップロードは上限内に収めてください。** Serverless Hosted API は、最大 **20 MB**までのファイルアップロードを受け付けます。より大きな画像は拒否されます。送信前に画像を縮小してください（Python SDK はこれを自動で行います）。画像は最終的にモデルの入力サイズにリサイズされるため、通常は精度に影響しません。Batch Processing でも同じ 1 画像あたり 20 MB の制限が適用されます。

コールドスタートなしで継続的に低レイテンシを得るには、 [Dedicated Deployment](/deployment/ja/roboflow-cloud/dedicated-deployments.md) または [Self-Hosted Inference](/deployment/ja/serufuhosuto/self-hosted.md) を共有の serverless エンドポイントの代わりに使用してください。

## レート制限

* **Serverless Hosted API。** 〜では `429`、速度を落として指数バックオフで再試行してください。継続的に制限に達する、またはより高いスループットが必要な場合は、担当のエンタープライズサポートまたは [Roboflow フォーラム](https://discuss.roboflow.com)に連絡するか、次へ移行してください [Dedicated Deployment](/deployment/ja/roboflow-cloud/dedicated-deployments.md).
* **Deployment Manager API。** エッジデバイス管理エンドポイントは、エンドポイントごとの明示的な制限を課し、 `429` を超えると返します。たとえば、デバイスログは **IP ごとに1分あたり5リクエスト** および **全体で1分あたり50リクエスト**、テレメトリの読み取りは **デバイスごとに1分あたり60リクエスト** で、10秒間に10リクエストのバーストが可能です。参照 [Deployment Manager API](/deployment/ja/serufuhosuto/enterprise/deployment-manager.md#errors) してください。統合にポーリングを組み込む前に、正確な制限とエラー形式を確認しましょう。

自分のパスに文書化された数値がない場合は、 `429` 固定の予算があると決めつけるのではなく、バックオフの合図として扱い、 [サポートに連絡してください](https://roboflow.com/sales) 。より高い上限が必要な場合。

## Dedicated Deployment のレプリカサイズ設定

を作成するとき、 [Dedicated Deployment](/deployment/ja/roboflow-cloud/dedicated-deployments.md#http-api)、以下を設定できます `min_replicas` および `max_replicas` （どちらも既定値は `1`):

* **`min_replicas`** は常時稼働するレプリカ数です。最小値を高くすると、常時稼働容量を犠牲にする代わりに、バースト負荷時のコールドスタート遅延を減らせます。
* **`max_replicas`** は、負荷時にデプロイメントがどこまでスケールアウトするかの上限です。ピークスループットを高めたい場合は増やしてください。

安定したトラフィックなら、 `min_replicas` および `max_replicas` の `1` が最も簡単な出発点です。 `max_replicas` 単一レプリカではピーク負荷に追いつけない場合は増やし、 `min_replicas` しばらく間が空いた後の最初のリクエストが遅すぎる場合は増やしてください。

### 自動一時停止との関係

Dedicated Deployment **非アクティブ期間後に自動一時停止**  - 以下では1時間に固定されています `dev-cpu` および `dev-gpu` タイプ - そして API キー付きのリクエストを送ると再開します。一時停止中のデプロイメントはレプリカを提供していないため、それを再開するリクエストでは再開遅延が発生します。

* を使用してください **永続的な `prod-cpu` / `prod-gpu`** タイプを、常に利用可能である必要がある本番トラフィックに使用してください。
* 一時的な `dev-cpu` / `dev-gpu` タイプはテストやプロトタイピング用に取っておいてください - これらは数時間後に自動的に削除されます。
* 稼働時間ではなくリクエスト数ベースの課金や、独自の一時停止/レプリカポリシーが必要なら、 [営業にお問い合わせください](https://roboflow.com/sales).

## 公開前に

* 再試行はすべての送信呼び出しを包み、再試行するのは `429` および `5xx` バックオフ付きのものだけです。
* クライアントのタイムアウトは、serverless のコールドスタートを吸収できる十分な余裕があります。
* 画像は 20 MB のアップロード上限を超えないように縮小されています。
* API キーには必要最小限の [スコープ](https://docs.roboflow.com/reference/authentication/authentication/scoped-api-keys) が使用され、ハードコードではなくシークレットとして保存されています。
* Dedicated Deployment では、 `min_replicas` / `max_replicas` 負荷に合わせてサイズ設定されており、 `prod-*` タイプを常時稼働トラフィック用に選択しています。
* デプロイメントを監視します - 参照 [モデルモニタリング](/deployment/ja/to/model-monitoring.md)  - そしてエラー率とレイテンシの悪化でアラートを出します。
