> 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).

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

Roboflow デプロイメントの本番対応 - HTTP エラー処理と再試行、タイムアウトとコールドスタート、レート制限、Dedicated Deployment のレプリカサイズ設定。

選択したら [デプロイオプションを](/deployment/ja/choosing-a-deployment.md)、このページを使用して、本番トラフィックを処理する前に統合を堅牢化してください。エラー処理と再試行、タイムアウトとコールドスタート、レート制限、およびレプリカのサイジングについて説明します。対象は [専用デプロイメント](/deployment/ja/roboflow-cloud/dedicated-deployments.md).

## セルフホストサーバーへのアクセス

セルフホスト型デプロイメントでは、次を確認してください： [ネットワークアクセス、認証、可観測性](/deployment/ja/serufuhosuto/inference-server/configuration/security.md) リモートクライアントを許可する前に。次を確認してください： [セキュリティ設定の移行](/deployment/ja/serufuhosuto/inference-server/configuration/security-migration.md) CLI またはサーバーイメージをアップグレードする際に。

## 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` 自動的に再試行せず、代わりにアプリケーションに通知してください。

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

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

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

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

コールドスタートなしで持続的な低レイテンシーを実現するには、次を使用してください： [専用デプロイメント](/deployment/ja/roboflow-cloud/dedicated-deployments.md) または [セルフホスト型推論](/deployment/ja/serufuhosuto/self-hosted.md) 共有サーバーレスエンドポイントの代わりに。

## レート制限

* **Serverless Cloud API。** 次の場合： `429`、速度を落とし、指数バックオフで再試行してください。一貫して制限に達する場合や、より高いスループットが必要な場合は、エンタープライズサポート担当者または [Roboflow フォーラム](https://discuss.roboflow.com)にお問い合わせいただくか、次へ移行してください： [専用デプロイメント](/deployment/ja/roboflow-cloud/dedicated-deployments.md).
* **デプロイメントマネージャー API。** エッジデバイス管理エンドポイントでは、エンドポイントごとに明示的な制限が適用され、上限を超えると次を返します： `429` 。たとえば、デバイスログは次に制限されます： **IP アドレスあたり毎分 5 リクエスト** および **グローバルで毎分 50 回**、テレメトリーの読み取りは次に制限されます： **デバイスあたり毎分 60 リクエスト** 。さらに、10 秒間に 10 リクエストのバーストが許可されます。統合にポーリングを組み込む前に、正確な制限とエラー形式について次を参照してください： [デプロイメントマネージャー API](/deployment/ja/serufuhosuto/enterprise/deployment-manager.md#errors) 。

使用するパスに対して文書化された数値がない場合は、次を `429` 固定の予算を想定するのではなく、バックオフすべきシグナルとして扱い、 [サポートにお問い合わせください](https://roboflow.com/sales) より高い制限が必要な場合は。

## 専用デプロイメントのレプリカサイジング

次を作成する場合： [専用デプロイメント](/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` アイドル状態の後の最初のリクエストが遅すぎる場合は引き上げてください。

### 自動一時停止との連携

専用デプロイメント **一定期間の非アクティブ後に自動一時停止します** — 次の場合は 1 時間に固定： `dev-cpu` および `dev-gpu` タイプ — API キーを使用してリクエストを送信すると再開します。一時停止中のデプロイメントはレプリカを提供していないため、それを再開するリクエストには再開レイテンシーが発生します。

* 次を使用してください： **永続的な `prod-cpu` / `prod-gpu`** 常に準備完了である必要がある本番トラフィックには、これらのタイプを使用してください。
* 一時的な `dev-cpu` / `dev-gpu` タイプはテストとプロトタイピング用に限定してください。これらは数時間後に自動的に削除されます。
* 稼働時間ではなくリクエスト数に基づく請求、またはカスタムの一時停止／レプリカポリシーが必要な場合は、 [営業担当にお問い合わせください](https://roboflow.com/sales).

## 本番稼働前に

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