CloudTrail关闭后S3上传触发AWS Step Function失败问题咨询
S3上传触发Step Function配置失败排查点
- Trail区域不匹配:你创建的Trail位于俄亥俄区域,首先确认你的目标S3存储桶、CloudWatch规则、Step Function状态机属于同一区域,或者你已将Trail配置为多区域Trail。单区域Trail无法捕获其他区域的S3操作事件。
- 未开启S3数据事件记录:默认CloudTrail仅记录账号管理类事件,不会记录S3的对象级操作(如文件上传)。你需要在Trail配置中手动添加目标S3存储桶,开启对应桶的数据事件记录,勾选你需要触发流程的
PutObject、PostObject等操作类型,否则不会生成对应触发事件。 - CloudWatch规则事件模式配置错误:检查你的规则事件模式是否正确匹配事件结构,参考基础配置如下:
{ "source": ["aws.s3"], "detail-type": ["AWS API Call via CloudTrail"], "detail": { "eventSource": ["s3.amazonaws.com"], "eventName": ["PutObject", "PostObject"], "requestParameters": { "bucketName": ["替换为你的目标存储桶名称"] } } }
如果你设置了文件名前缀/后缀过滤规则,需要确认规则语法正确,过滤条件未覆盖所有上传场景。
- 规则调用权限缺失:CloudWatch规则调用Step Function需要对应的IAM权限,确认规则绑定的目标执行角色包含
states:StartExecution权限,且角色信任策略允许events.amazonaws.com服务扮演该角色。你可以在EventBridge规则的监控页面查看调用错误指标,确认是否为权限问题导致触发后未调用状态机。 - Trail运行状态异常:确认你创建的Trail状态为「已启用」,且Trail的日志存储桶权限配置正确,无写入失败报错。Trail运行异常会导致事件无法正常生成同步到EventBridge。
- KMS密钥权限不足:如果你的目标S3存储桶使用客户管理的KMS密钥加密,需要确认CloudTrail服务拥有该KMS密钥的解密权限,否则CloudTrail无法记录对应桶的操作事件。
内容的提问来源于stack exchange,提问作者Abdul Haseeb
相关产品推荐
相关产品推荐

