Quotas – AWS Step Functions

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.

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.

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:

  • Whitespace

  • Wildcard characters (? *)

  • Bracket characters (< > { } [ ])

  • Special characters (: ; , \ | ^ ~ $ # % & ` ")

  • Control characters (\\u0000\\u001f or \\u007f\\u009f).

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

StateTransition — In
US East (N. Virginia), US West (Oregon), and
Europe (Ireland)

5,000

1,500

Unlimited

Unlimited

StateTransition — All other
regions

800

500

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 States.Timeout error and emit a
ExecutionsTimedOut CloudWatch metric.

5 minutes. If an execution runs for more than the 5-minute
maximum, it will fail with a States.Timeout error and
emit a ExecutionsTimedOut CloudWatch metric.

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 GetActivityTask per ARN.
Exceeding this quota results in this error: “The maximum
number of workers concurrently polling for activity tasks has
been reached.”

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.

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 aws: prefix in your tag names or
values because it is reserved for AWS use. You can’t edit or delete
tag names or values with this prefix. Tags with this prefix do not
count against your tags per resource quota.

Character restrictions

Tags may only contain Unicode letters, digits, whitespace, or
these symbols: _ . : / = + - @