You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为AWS Step Function执行设置TTL以限定存储时长?

解决Step Function执行记录的TTL配置问题

核心方案:配置执行历史保留期

AWS Step Functions支持为状态机直接设置执行历史保留期,到期后执行记录会自动删除,这是解决敏感数据长期存储合规问题的直接方案。该配置独立于日志级别设置,专门控制执行过程中传递的数据的存储时长。

使用CDK实现配置

你可以在创建StateMachine时,通过executionHistoryRetentionPeriod属性指定保留时长,修改后的CDK代码如下:

import * as sfn from 'aws-cdk-lib/aws-stepfunctions';
import * as logs from 'aws-cdk-lib/aws-logs';
import * as cdk from 'aws-cdk-lib';

// 假设已定义好definition和logGroup实例
this.stateMachine = new sfn.StateMachine(this, "stateMachine", {
  definition: definition,
  logs: { 
    destination: logGroup, 
    level: sfn.LogLevel.OFF 
  },
  // 设置执行记录保留30天,可根据合规要求调整为1-90天范围内的值
  executionHistoryRetentionPeriod: cdk.Duration.days(30),
  // 仅STANDARD类型状态机支持自定义保留期配置
  stateMachineType: sfn.StateMachineType.STANDARD
});

关键注意事项

  • 状态机类型限制:只有STANDARD类型的Step Functions支持1-90天的自定义保留期;EXPRESS类型默认仅保留极短时间的执行记录(通常几小时),适合对数据存储时效要求极高的场景。
  • 执行历史与日志的区别:关闭日志级别只是停止向CloudWatch输出日志,但Step Functions自身的执行历史是独立存储的,必须通过executionHistoryRetentionPeriod控制其生命周期。
  • 合规适配:设置保留期后,系统会自动清理到期的执行数据,无需手动操作,完全符合GDPR关于数据存储期限的合规要求。

内容的提问来源于stack exchange,提问作者Luke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 00:55:17