翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon SWF クォータ
Amazon SWF では、アカウントごとのドメイン数やワークフロー実行履歴のサイズなど、特定のワークフローパラメータのサイズにクォータを設定します。これらのクォータは、誤ったワークフローがシステムのすべてのリソースを消費するの防ぐために設計されていますが、ハードの制限ではありません。アプリケーションがこれらのクォータを頻繁に超えている場合、サービスクォータの増加を申請できます。
内容
Amazon SWF の全般アカウントクォータ
-
最大登録ドメイン数 - 100
このクォータには登録済みドメインと廃止ドメインの両方が含まれています。
-
ワークフローとアクティビティタイプの最大数 – ドメインごとに 10,000
このクォータには登録済みドメインと廃止タイプの両方が含まれています。
-
API コールのクォータ – 頻繁でないスパイクを超えてアプリケーションが非常に短期間に大量の API コールを実行した場合、アプリケーションは調整されることがあります。
-
最大のリクエストサイズ – リクエストあたり 1 MB
これは Amazon SWF API リクエストあたりの合計データサイズで、リクエストヘッダーおよびその他すべての関連するリクエストデータを含みます。
-
Count API の切り捨てられたレスポンス - 内部クォータに達したこと、およびレスポンスが総数ではないことを示します。
一部のクエリでは、完全なレスポンスを返す前に、内部的に 1 MB のクォータに達します。以下では、総数ではなく切り捨てられたレスポンスが返される場合があります。
これらのそれぞれに対して、
truncated
レスポンスが true に設定されている場合、数は総数より小さくなります。この内部クォータを引き上げることはできません。 -
タグの最大数 - リソースあたり 50 個。
50 個を超えるタグを追加しようとすると、400 エラー
TooManyTagsFault
が発生します。
ワークフロー実行のクォータ
-
オープン状態のワークフロー実行の最大数 - ドメインあたり 100,000
この数には、子ワークフローの実行が含まれます。
-
最大ワークフロー実行時間 - 1 年 これはハードクォータであり、変更できません。
-
最大ワークフロー実行履歴サイズ - 25,000 イベント これはハードクォータであり、変更できません。
ベストプラクティスは、各ワークフローの履歴が 10,000 イベントを超えないように構成することです。ディサイダーはワークフロー履歴を取得する必要があるため、履歴が小さいほどディサイダーはよりすばやく完了できます。フローフレームワーク を使用している場合は、 ContinueAsNew を使用して、新しい履歴を持つワークフローを続行できます。
-
子ワークフロー実行の最大数 - ワークフロー実行あたり 1,000
-
ワークフロー実行アイドルタイムクォータ - 1 年 (ワークフロー実行時間の最大値により制約されます)
ワークフロータイムアウトを設定して、ワークフローの特定の段階で大幅に時間がかかる場合にタイムアウトイベントを発生できます。
-
ワークフロー保持期間クォータ - 90 日
この期間後は、ワークフロー履歴の取得や表示はできません。Amazon SWF が保持するクローズしたワークフロー実行の数にはこれ以上の制限はありません。
ユースケースでこれらのクォータを超える必要がある場合は、Amazon SWF の機能を使用して実行を継続し、子ワークフロー実行を使用してアプリケーションを構成します。さらにクォータを増やす必要がある場合は、「クォータ引き上げのリクエスト」を参照してください。
タスク実行におけるクォータ
-
タスクリストあたりの最大ポーラー数 - タスクリストあたり 1,000
特定のタスクリストに対して同時にポーリングを実行するポーラーを、最大 1,000 個持つことができます。1,000 個を超えた場合は、
LimitExceededException
が発生します。注記
最大値は 1,000 個ですが、このクォータの前に
LimitExceededException
エラーが発生する場合があります。このエラーは、タスクが遅れていることを意味するものではありません。そうではなく、1 つのタスクリストでアイドル状態のポーラーの数が最大数に達していることを意味します。Amazon SWF は、クライアント側とサーバー側の両方でリソースを節約するためにこの制限を設定しています。制限を設定することで、過剰な数のポーラーが不必要に待機することを防ぎます。複数のタスクリストを使用してポーリングを分散することで、LimitExceededException
エラーを減らすことができます。 -
1 秒あたりにスケジュールされるタスクの最大数 — タスクリストあたり 2,000 個
特定のタスクリストに対して、1 秒あたり最大 2,000 個のタスクをスケジュールできます。2,000 個を超えると、
ScheduleActivityTask
決定がACTIVITY_CREATION_RATE_EXCEEDED
エラーで失敗します。注記
最大値は 2,000 個ですが、このクォータの前に
ACTIVITY_CREATION_RATE_EXCEEDED
エラーが発生する場合があります。これらのエラーを減らすには、複数のタスクリストを使用して負荷を分散します。 -
最大タスク実行時間 - 1 年 (ワークフロー実行時間の最大値による制約)
アクティビティのタイムアウトを設定して、アクティビティタスク実行の特定の段階で大幅に時間がかかる場合にタイムアウトイベントを発生できます。
-
SWF がタスクをキューに保持する最大時間 – 1 年 (ワークフロー実行時間のクォータにより制約されます)
アクティビティ登録中にデフォルトのアクティビティのタイムアウトを設定すると、アクティビティタスク実行の特定の段階で大幅に時間がかかる場合にタイムアウトイベントが発生します。ディサイダーコードでアクティビティタスクをスケジュールするときに、デフォルトのアクティビティタイムアウトを上書きすることもできます。
-
最大オープンアクティビティタスク - ワークフロー実行あたり 1,000
このクォータには、ワーカーによってスケジュールされたアクティビティタスクと処理中のアクティビティタスクの両方が含まれます。
-
最大オープンタイマー - ワークフロー実行あたり 1,000
-
最大入力/結果データサイズ - 32,768 文字
このクォータは、アクティビティまたはワークフロー実行結果データ、アクティビティタスクまたはワークフロー実行をスケジューリングする時の入力データ、およびワークフロー実行シグナルと共に送信される入力に影響します。
-
決定タスクの応答の最大決定 - それぞれで異なる
最大 API リクエストのサイズに 1 MB のクォータがあるため、
RespondDecisionTaskCompleted
への単一の呼び出しで返される決定の数は、スケジューリングされたアクティビティタスクまたはワークフロー実行に提供される入力データのサイズを含む、各決定で使用されるデータのサイズに応じて制限されます。
Amazon SWF スロットリングのクォータ
前に説明したサービスのクォータに加え、特定の Amazon SWF API コールおよび決定イベントは、トークンバケット
スロットリングクォータと決定クォータはすべてのリージョンで同じです。
すべてのリージョンのスロットリングクォータ
以下のクォータは個々のアカウントレベルで適用されます。次のクォータの引き上げをリクエストすることもできます。これを行う方法については、「クォータ引き上げのリクエスト」を参照してください。
API 名 | バケットサイズ | 補充レート/秒 |
---|---|---|
CountClosedWorkflowExecutions
|
2000 | 6 |
CountOpenWorkflowExecutions
|
2000 | 6 |
CountPendingActivityTasks
|
200 | 6 |
CountPendingDecisionTasks
|
200 | 6 |
DeleteActivityType
|
200 | 6 |
DeleteWorkflowType
|
200 | 6 |
DeprecateActivityType
|
200 | 6 |
DeprecateDomain
|
100 | 6 |
DeprecateWorkflowType
|
200 | 6 |
DescribeActivityType
|
2000 | 6 |
DescribeDomain
|
200 | 6 |
DescribeWorkflowExecution
|
2000 | 6 |
DescribeWorkflowType
|
2000 | 6 |
GetWorkflowExecutionHistory
|
2000 | 60 |
ListActivityTypes
|
200 | 6 |
ListClosedWorkflowExecutions
|
200 | 6 |
ListDomains
|
100 | 6 |
ListOpenWorkflowExecutions
|
200 | 48 |
ListTagsForResource
|
50 | 30 |
ListWorkflowTypes
|
200 | 6 |
PollForActivityTask
|
2000 | 200 |
PollForDecisionTask
|
2000 | 200 |
RecordActivityTaskHeartbeat
|
2000 | 160 |
RegisterActivityType
|
200 | 60 |
RegisterDomain
|
100 | 6 |
RegisterWorkflowType
|
200 | 60 |
RequestCancelWorkflowExecution
|
2000 | 30 |
RespondActivityTaskCanceled
|
2000 | 200 |
RespondActivityTaskCompleted
|
2000 | 200 |
RespondActivityTaskFailed
|
2000 | 200 |
RespondDecisionTaskCompleted
|
2000 | 200 |
SignalWorkflowExecution
|
2000 | 30 |
StartWorkflowExecution
|
2000 | 200 |
TagResource
|
50 | 30 |
TerminateWorkflowExecution
|
2000 | 60 |
UndeprecateActivityType
|
200 | 6 |
UndeprecateDomain
|
100 | 6 |
UndeprecateWorkflowType
|
200 | 6 |
UntagResource
|
50 | 30 |
すべてのリージョンの決定クォータ
以下のクォータは個々のアカウントレベルで適用されます。次のクォータの引き上げをリクエストすることもできます。これを行う方法については、「クォータ引き上げのリクエスト」を参照してください。
API 名 | バケットサイズ | 補充レート/秒 |
---|---|---|
RequestCancelExternalWorkflowExecution |
1200 | 120 |
ScheduleActivityTask |
500 | 200 |
SignalExternalWorkflowExecution |
1200 | 120 |
StartChildWorkflowExecution |
500 | 12 |
StartTimer |
2000 | 200 |
ワークフローレベルのクォータ
以下のクォータはワークフローレベルで適用され、増やすことはできません。
API 名 | バケットサイズ | 補充レート/秒 |
---|---|---|
GetWorkflowExecutionHistory |
400 | 200 |
SignalWorkflowExecution |
1,000 | 1,000 |
RecordActivityTaskHeartbeat |
1,000 | 1,000 |
RequestCancelWorkflowExecution |
200 | 200 |
クォータ引き上げのリクエスト
および のクォータの引き上げをリクエスト AWS Management Console するには、 のサポートセンターページを使用しますすべてのリージョンのスロットリングクォータすべてのリージョンの決定クォータ。詳細については、「AWS 全般のリファレンス」の「クォータの引き上げをリクエストする方法」を参照してください。