Lambda日志

日志记录为开发人员和运营人员提供了宝贵的数据,用于调试和排查应用程序行为、性能问题和潜在故障。对于使用 Lambda 构建的无服务器应用程序,由于Lambda 执行环境的临时性和无状态性质,日志记录变得更加重要。

价格变更

2025年5月1日,AWS 宣布了对 Lambda 日志记录的更改。使用 CloudWatch Logs 标准和不频繁访问日志类时,Lambda 日志现在可以按基于量级的分层定价获得。

发送到 CloudWatch Logs 的 Lambda 日志被归类为 Vended Logs,这些是来自特定 AWS 服务的日志,可按量级分层定价获得。这取代了使用 CloudWatch Logs 标准日志类时的先前固定费率模型。例如,在美国东部(弗吉尼亚北部)AWS 区域,使用标准日志类记录 Lambda 日志时,我们需要支付每 GB $0.50 的费用。在新的定价模型下,随着日志量的增加,每 GB 的价格会通过多个层级自动降低,在最低层级可达到每 GB $0.05 的低价。

数据摄入量 CloudWatch Logs 标准 CloudWatch Logs 不频繁访问
每月前 10 TB 每 GB $0.50 每 GB $0.25
每月接下来的 20 TB 每 GB $0.25 每 GB $0.15
每月接下来的 20 TB 每 GB $0.10 每 GB $0.075
每月超过 50 TB 每 GB $0.05 每 GB $0.05

例如,如果每月在 CloudWatch Logs 中生成 60 TB 的 Lambda 日志,成本将降低 58%(从 $30,000 降至 $12,500)。

新的 Lambda 日志目标:S3 和 Firehose

除了 CloudWatch Logs 外,Lambda 还支持 S3 和 Firehose 作为 Lambda 日志的目标。使用 S3 或 Firehose 作为目标时,日志成本从每 GB $0.25 开始。分层定价也适用,费率在最低层级可降至每 GB $0.05。

数据摄入量 传送到 Amazon S3 的成本 传送到 Amazon Data Firehose 的成本
每月前 10TB 每 GB $0.25 每 GB $0.25
每月接下来的 20TB 每 GB $0.15 每 GB $0.15
每月接下来的 20TB 每 GB $0.075 每 GB $0.075
每月超过 50TB 每 GB $0.05 每 GB $0.05

使用方式

所有新的和现有的 Lambda 函数都将 CloudWatch Logs 作为默认的日志目标,S3 和 Firehose 作为替代选择。

要在 Lambda 控制台中设置 S3 或 Firehose 作为 Lambda 日志的目标:

导航到 Lambda 控制台 ,选择或创建一个函数来设置 S3 或 Firehose 日志目标。在配置选项卡中,选择左侧窗格中的监控和操作工具

image-20250610100942215

日志配置中选择编辑。这将打开编辑日志配置页面, 在日志目标部分,选择 Amazon S3 或 Amazon Data Firehose。Amazon CloudWatch Logs 是默认选择。要创建新的传送日志组将日志发送到 S3,输入日志组名称并指定目标 S3 存储桶。提供一个 AWS Identity and Access Management (IAM) 角色,以便 CloudWatch Logs 将日志传送到 S3:

image-20250610101102204

S3 和 Firehose 目标也提供高级日志控制。这些控制包括 JSON 结构化格式选择以及应用程序和系统日志的日志级别过滤器。这为我们提供了增强的日志管理控制,便于搜索、过滤和分析。

image-20250610101207794