Quotas
AWS Step Functions places quotas on the sizes of certain state machine parameters, such as the number of API actions during a certain time period or the number of state machines that you can define. Although these quotas are designed to prevent a misconfigured state machine from consuming all of the resources of the system, many aren't hard quotas.
To request a service quota increase, you can do one of the following:
-
Use the Service Quotas console at https://console.aws.amazon.com/servicequotas/home
. For information about requesting a quota increase using the Service Quotas console, see Requesting a quota increase in the Service Quotas User Guide. -
Use the Support Center page in the AWS Management Console to request a quota increase for resources provided by AWS Step Functions on a per-Region basis. For more information, see AWS service quotas in the AWS General Reference.
Note
If a particular stage of your state machine execution or activity execution takes too long, you can configure a state machine timeout to cause a timeout event.
Topics
General quotas
Quota | Description |
---|---|
Names in Step Functions |
State machine, execution, and activity names must be 1–80 characters in length, must be unique for your account and AWS Region, and must not contain any of the following:
If your state machine is of type Express, you can provide the same name to multiple executions of the state machine. Step Functions generates a unique execution ARN for each Express state machine execution, even if multiple executions have the same name. Step Functions allows you to create state machine, execution, and activity names that contain non-ASCII characters. These non-ASCII names don't work with Amazon CloudWatch. To ensure that you can track CloudWatch metrics, choose a name that uses only ASCII characters. |
Quotas related to accounts
Resource | Default quota | Can be increased to |
---|---|---|
Maximum number of registered state machines | 10,000 | 25,000 |
Maximum number of registered activities |
10,000 |
15,000 |
Maximum request size |
1 MB per request. This is the total data size per Step Functions API request, including the request header and all other associated request data. |
Hard quota |
Maximum open executions per account |
1,000,000 executions for each AWS account in each AWS Region. Exceeding this will cause an ExecutionLimitExceeded error. Does not apply to Express
Workflows. |
Millions |
Synchronous Express Workflows concurrent executions |
1,000-3,700 (varies per region) |
Tens of thousands. Synchronous Express Workflows do not contribute to the existing account capacity limits. For more information, see Synchronous and Asynchronous Express Workflows. |
Maximum number of open Map Runs An open Map Run is a Map Run that has started, but hasn't yet completed. Scheduled Map Runs wait at the MapRunStarted event until the total number of open Map Runs is less than the default quota of 1000. |
1000 This quota is applicable for Distributed Map state. |
Hard quota |
Quotas related to state throttling
Step Functions state transitions are throttled using a token bucket scheme to maintain service bandwidth. Standard Workflows and Express Workflows have different state transition throttling. Standard Workflows quotas are soft quotas and can be increased.
Note
Throttling on the StateTransition
service metric is reported as
ExecutionThrottled
in Amazon CloudWatch. For more information, see the ExecutionThrottled CloudWatch metric.
Standard | Express | |||
---|---|---|---|---|
Service metric | Bucket size | Refill rate per second | Bucket size | Refill rate per second |
|
5,000 |
5,000 |
Unlimited |
Unlimited |
|
800 |
800 |
Unlimited |
Unlimited |
Quotas related to API action throttling
Some Step Functions API actions are throttled using a token bucket scheme to maintain service bandwidth. These quotas are soft quotas and can be increased.
Note
Throttling quotas are per account, per AWS Region. AWS Step Functions may increase both the bucket size and refill rate at any time. Synchronous Express execution API calls do not contribute to the existing account capacity limits. While Step Functions will provide capacity on demand and will automatically scale with sustained workload, surges in workload may be throttled until capacity is available. Do not rely on these throttling rates to limit your costs.
Standard | Express | |||
---|---|---|---|---|
API name | Bucket size | Refill rate per second | Bucket size | Refill rate per second |
StartExecution — In US East (N. Virginia),
US West (Oregon), and Europe (Ireland) |
1,300 | 300 | 6,000 | 6,000 |
StartExecution — All other
regions |
800 | 150 | 6,000 | 6,000 |
Quotas related to state machine executions
The following table describes quotas related to state machine executions. State machine execution quotas are hard quotas that can't be changed, except for the Execution history retention time quota.
Quota | Standard | Express |
---|---|---|
Maximum execution time |
1 year. If an execution runs for more than the 1-year maximum, it
will fail with a |
5 minutes. If an execution runs for more than the 5-minute
maximum, it will fail with a |
Maximum execution history size |
25,000 events in a single state machine execution history. If the execution history reaches this quota, the execution will fail. To avoid this, see Avoid reaching the history quota. | Unlimited. |
Maximum execution idle time |
1 year (constrained by the maximum execution time) |
5 minutes (constrained by the maximum execution time) |
Execution history retention time |
90 days after an execution is closed. After this time, you can no longer retrieve or view the execution history. There is no further quota for the number of closed executions that Step Functions retains. To meet compliance, organizational, or regulatory requirements, you can reduce the execution history retention period to 30 days by sending a quota request. To do this, use the AWS Support Center Console and create a new case. The change to reduce the retention period to 30 days is applicable at the account level. |
To see execution history, Amazon CloudWatch Logs logging must be configured. For more information, Logging using CloudWatch Logs. |
Quotas related to task executions
The following table describes quotas related to task executions, and are hard quotas that can't be changed.
Quota | Standard | Express |
---|---|---|
Maximum task execution time |
1 year (constrained by the maximum execution time) |
5 minutes (constrained by the maximum execution time) |
Maximum time Step Functions keeps a task in the queue |
1 year (constrained by the maximum execution time) |
5 minutes (constrained by the maximum execution time) |
Maximum activity pollers per Amazon Resource Name (ARN) |
1,000 pollers calling |
Does not apply to Express Workflows. |
Maximum input or output size for a task, state, or execution |
262,144 bytes of data as a UTF-8 encoded string. This quota affects tasks (activity, Lambda function, or integrated service), state or execution output, and input data when scheduling a task, entering a state, or starting an execution. |
262,144 bytes of data as a UTF-8 encoded string. This quota affects tasks (activity, Lambda function, or integrated service), state or execution output, and input data when scheduling a task, entering a state, or starting an execution. |
Quotas related to versions and aliases
Resource | Default quota |
---|---|
Maximum number of published state machine versions |
1000 for each state machine. To request an increase to this soft limit, use the Support Center page in the AWS Management Console. |
Maximum number of state machine aliases |
100 for each state machine. To request an increase to this soft limit, use the Support Center page in the AWS Management Console. |
Other quotas
These quotas are soft quotas and can be increased.
In US East (N. Virginia), US West (Oregon), and Europe (Ireland) | All other regions | |||
---|---|---|---|---|
API name | Bucket size | Refill rate per second | Bucket size | Refill rate per second |
CreateActivity |
100 | 1 | 100 | 1 |
CreateStateMachine |
100 | 1 | 100 | 1 |
DeleteActivity |
100 | 1 | 100 | 1 |
DeleteStateMachine |
100 | 1 | 100 | 1 |
DescribeActivity |
200 | 1 | 200 | 1 |
DescribeExecution |
300 | 15 | 250 | 10 |
DescribeStateMachine |
200 | 20 | 200 | 20 |
DescribeStateMachineForExecution |
200 | 1 | 200 | 1 |
GetActivityTask |
3,000 | 500 | 1,500 | 300 |
GetExecutionHistory |
400 | 20 | 400 | 20 |
ListActivities |
100 | 10 | 100 | 5 |
ListExecutions |
200 | 5 | 100 | 2 |
ListStateMachines |
100 | 5 | 100 | 5 |
ListTagsForResource |
100 | 1 | 100 | 1 |
SendTaskFailure |
3,000 | 500 | 1,500 | 300 |
SendTaskHeartbeat |
3,000 | 500 | 1,500 | 300 |
SendTaskSuccess |
3,000 | 500 | 1,500 | 300 |
StopExecution |
1,000 | 200 | 500 | 25 |
TagResource |
200 | 1 | 200 | 1 |
UntagResource |
200 | 1 | 200 | 1 |
UpdateStateMachine |
100 | 1 | 100 | 1 |
Restrictions related to tagging
Be aware of these restrictions when tagging Step Functions resources.
Note
Tagging restrictions cannot be increased like other quotas.
Restriction | Description |
---|---|
Maximum number of tags per resource |
50 |
Maximum key length |
128 Unicode characters in UTF-8 |
Maximum value length |
256 Unicode characters in UTF-8 |
Prefix restriction |
Do not use the |
Character restrictions |
Tags may only contain Unicode letters, digits, whitespace, or
these symbols: |