使用 CloudWatch Logs 进行日志记录 - AWS Step Functions
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 CloudWatch Logs 进行日志记录

标准工作流在 AWS Step Functions 中记录执行历史记录,但您也可以选择将其配置为记录到 Amazon CloudWatch Logs 中。

与标准工作流不同,快速工作流不会在 AWS Step Functions 中记录执行历史记录。要查看快速工作流的执行历史记录和结果,必须将日志记录配置为 Amazon CloudWatch Logs。发布日志不会阻止或减慢执行速度。

注意

配置日志记录后,会收取 CloudWatch Logs 费用

配置日志记录

使用 Step Functions 控制台创建标准工作流时,不会将其配置为支持记录到 CloudWatch Logs 中。默认情况下,使用 Step Functions 控制台创建的快速工作流会被配置为支持记录到 CloudWatch Logs 中。

对于快速工作流,Step Functions 可以使用必要的 AWS Identity and Access Management (IAM) 策略(针对 CloudWatch Logs)创建角色。如果您使用 API、CLI 或 AWS CloudFormation 创建标准工作流,Step Functions 默认不会启用日志记录,并且您需要确保您的角色具有必要的权限。

对于从控制台启动的每个执行,Step Functions 都会提供一个指向 CloudWatch Logs 的链接,并配置了正确的筛选器,以获取该执行特定的日志事件。

要配置日志记录,您可以在使用 CreateStateMachineUpdateStateMachine 时传递 LoggingConfiguration 参数。您可以使用 CloudWatch Logs Insights 进一步分析 CloudWatch Logs 中的数据。有关更多信息,请参阅使用 CloudWatch Logs Insights 分析日志数据

将日志记录到 CloudWatch Logs 的 IAM 策略

您还需要将 IAM 角色配置为具有将日志记录到 CloudWatch Logs 的适当权限。以下是可用于配置权限的示例策略。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogDelivery", "logs:GetLogDelivery", "logs:UpdateLogDelivery", "logs:DeleteLogDelivery", "logs:ListLogDeliveries", "logs:PutResourcePolicy", "logs:DescribeResourcePolicies", "logs:DescribeLogGroups" ], "Resource": "*" } ] }