使用 AWS Step Functions,您只需按使用量付费。Step Functions 有两种工作流类型:标准工作流和快速工作流。

AWS Step Functions 标准工作流定价详情

您需要根据执行应用程序所需的状态转换次数付费。

您的工作流程每执行一个步骤,Step Functions 就将状态转换计为一次。您需要为所有状态机的状态转换总数(包括重试次数)支付费用。

Step Functions 免费套餐包含每月 4000 次免费状态转换。所有费用按天计费,按月收费。

有关详情,请参阅 Step Functions 定价示例

免费套餐

4000 次状态转换
每月

Step Functions 免费套餐在 AWS 免费套餐的 12 个月期限到期后不会自动过期,而是无期限地提供给现有和新的 AWS 客户。

状态转换

使用 AWS Step Functions 时,您需要按照每月使用的状态转换次数付费。您需要根据超出免费套餐的状态转换次数付费。有关详情,请查看“状态转换定价表”。

如果您工作流程的任何步骤中包含重试错误处理,则每次重试将作为一次额外的状态转换收费。 

AWS Step Functions 标准工作流状态转换定价

AWS Step Functions 快速工作流定价详情

使用 AStep Functions 快速工作流,您只需按使用量付费。我们将根据您工作流的请求数量和持续时间,以及工作流执行花费的时间向您收费。

每当开始执行工作流,包括从控制台进行测试时,Step Functions 快速工作流就将请求计为一次。我们将根据您所有工作流上的请求总数向您收费。

持续时间从您的工作流开始执行时算起,直到其完成或终止,四舍五入到最近的 100ms,执行工作流时所用的内存量以 64-MB 区块为单位计费。

内存消耗基于工作流定义的大小、映射或并行状态的使用情况以及执行(有效负载)数据大小。定价示例 3 和 4 所示为估计内存使用情况的示例。 

额外费用

如果您应用程序工作流程的操作使用了其他 AWS 服务或进行了数据传输,那么您可能需要支付额外费用。例如,您的应用程序工作流程调用了 AWS Lambda 函数,那么您需要按请求和每个 Lambda 函数的持续时间付费。有关 AWS 服务定价的详情,请参阅相关 AWS 服务详情页面的定价部分。以下列出了一些常用服务的定价信息链接。

数据传输

传入/传出 Amazon EC2 的外部数据

AWS Lambda 定价

请求和持续时间

Amazon EC2 定价

按需、预留和 Spot 实例

Amazon ECS 定价

Fargate 和 EC2 启动类型

Step Functions 定价示例

  • 示例 1

    包含顺序步骤的 AWS Step Functions 标准应用程序工作流
    sfn_sm_upload_delete_raw

    对于具有两个步骤的应用程序工作流,通过计算图形上的箭头确定其需要三次状态转换:

    1. 从开始到上传 RAW 文件
    2. 从上传 RAW 文件到删除 RAW 文件
    3. 从删除 RAW 文件到结束

    在美国东部(弗吉尼亚北部),每次状态转换的价格为 0.000025 USD,免费套餐包含每月 4000 次状态转换。如果您在一个月内执行该状态机 100000 次,且未出现任何因错误导致的重试,您需要支付:

    工作流程中的状态转换次数 * 工作流程执行数 = 状态转换总次数

    3 * 100000 = 300000

    状态转换总次数 – 免费套餐状态转换次数 = 应计费的状态转换次数

    300000 – 4000 = 296000

    月度费用 = 296000 * 0.000025 USD = 7.40 USD

  • 示例 2

    包含分支条件的 AWS Step Functions 标准应用程序工作流
    sfn_sm_image_processing

    本例中使用的状态机可在 GitHub 中找到。

    包含分支条件的应用程序工作流程具有多条路径。本示例中的步骤由 10 个箭头(或弧线)连接。从“Start”到“End”的理想路径包含 8 次状态转换。从“Start”到“NotSupportedImageType”的路径将累计 2 到 3 次状态转换。如果任何状态中包含因处理错误导致的重试,则需要额外支付状态转换费用。

    在美国东部(弗吉尼亚北部),每次状态转换的价格为 0.000025 USD,免费套餐包含每月 4000 次状态转换。如果您在一个月内执行此应用程序工作流程 100000 次,理想路径每次都成功,且没有任何因错误导致的重试,您将支付的费用如下:

    每次执行中的状态转换次数 * 工作流程执行数 = 状态转换总次数

    8 * 100000 = 800000

    状态转换总次数 – 免费套餐状态转换次数 = 应计费的状态转换次数

    800000 – 4000 = 796000

    月度费用 = 796000 * 0.000025 USD = 19.90 USD

    本示例中五个 AWS Lambda 函数的总费用为 97.62 USD。在成功处理一个 4.7MB JPEG 图像的理想路径中,Lambda 函数的大小和持续时间如下:

    函数 内存 (MB) 持续时间(毫秒)
    ExtractImageMetadata 1024 3200
    TransformMetadata 256 100
    Rekognition 256 1200
    Thumbnail 1536 1500
    StoreImageMetadata 256 300
  • 示例 3

    AWS Step Functions 快速工作流

    您可以根据状态机定义的大小、执行(有效负载)数据大小和映射或并行状态的使用情况来估计 AWS Step Functions Express 工作流的内存使用情况。

    使用的工作流内存 = 50 MB + 状态机定义大小 + 执行数据大小 x 并行或映射步骤数量

    如果您的工作流拥有 10 KB 状态机定义大小,且无并行或映射步骤:

    使用的工作流内存 = 50 MB + 10 KB
    使用的工作流内存 = 50.01 MB
    已计费内存(位于 64 MB 区块中)= 64 MB

    CloudWatch 指标包含与 ExpressExecutionMemory 下的内存消耗和 ExpressExecutionBilledMemory 下的已计费内存相关的详细信息。

    如果您一个月运行 1 百万个工作流,且这些工作流的平均持续时间为 30 秒:

    月度请求费用

    价格为每百万次请求 1.00 USD
    月度请求费用 = 100 万个请求 * 1.00 USD = 1.00 USD

    月度持续时间费用

    价格为每 GB-秒持续时间 0.00001667 USD
    100 万个工作流 x 30 秒持续时间 = 30000000 秒
    30,000,000 x 64 MB(已计费内存)/1024 MB = 1,875,000 GB-s
    月度持续时间费用 = 1875000 GB-s x 0.00001667 USD = 31.26 USD

    月度总费用

    月度总费用 = 请求费用 + 持续时间费用
    月度总费用 = 1.00 USD + 31.26 USD = 32.26 USD
  • 示例 4

    AWS Step Functions 快速工作流

    您可以根据状态机定义的大小、执行(有效负载)数据大小和映射或并行状态的使用情况来估计 AWS Step Functions Express 工作流的内存使用情况。

    使用的工作流内存 = 50 MB + 状态机定义大小 + 执行数据大小 x 并行或映射步骤数量

    如果您的工作流拥有 50 KB 状态机定义大小,400 个映射步骤且每个步骤的有效工作负载为 32 KB:

    使用的工作流内存 = 50 MB + 50 KB +(32 KB x 400 步)
    使用的工作流内存 = 50 MB + 50 KB + 12,800 KB
    使用的工作流内存 = 62.85 MB
    已计费内存(位于 64 MB 区块中)= 64 MB

    CloudWatch 指标包含与 ExpressExecutionMemory 下的内存消耗和 ExpressExecutionBilledMemory 下的已计费内存相关的详细信息。

    如果您一个月运行 1 亿个工作流,且这些工作流的平均持续时间为 10 秒:

    月度请求费用

    价格为每百万次请求 1.00 USD
    月度请求费用 = 1 亿个请求 x 1.00 USD = 100.00 USD

    月度持续时间费用

    1 亿个工作流 x 10 秒持续时间 = 1000000000 秒
    1,000,000,000 x 64 MB(已计费内存)/1024 MB = 62,500,000 GB-s
    62500000 GB-s / 60 / 60 = 17361.11 GB-小时
    每 GB-小时 0.06000 USD x 1000 GB-小时 = 60.00 USD
    每 GB-小时 0.03000 USD x 4000 GB-小时 = 120.00 USD
    每 GB-小时 0.01642 USD x 12361.11 GB-小时 = 202.97 USD

    月度持续时间费用 = 60.00 USD + 120.00 USD + 202.97 USD = 382.97 USD

    月度总费用

    月度总费用 = 请求费用 + 持续时间费用
    月度总费用 = 100.00 USD + 382.97 USD = 482.97 USD

AWS Step Functions 入门

访问入门页面
准备好开始使用了吗?
登录到 AWS Step Functions 控制台
还有更多问题?
联系我们