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

无法在CloudWatch中获取Lambda@Edge日志的问题求助

Lambda@Edge日志无法定位的排查方案

1. 明确日志存储区域规则

Lambda@Edge的日志不会仅存于你创建函数的us-east-1区域,而是存储在CloudFront处理请求的边缘节点所在区域。同时,边缘执行的日志会同步一份到us-east-1的CloudWatch Logs中,优先检查这个区域的对应日志组。

2. 核对日志组命名格式

Lambda@Edge的日志组有固定命名规则,别盲目搜索:

  • 控制台测试生成的日志:/aws/lambda/<你的函数名>(us-east-1区域)
  • 边缘执行同步来的日志:/aws/lambda/us-east-1.<你的函数名>(即使是其他边缘区域执行的日志,也会用这个命名同步到us-east-1)

3. 验证函数实际执行状态

虽然授权逻辑生效,建议在Lambda代码里加一条明确的日志输出,比如:

console.log("Lambda@Edge Viewer Request触发 - 请求ID:", event.requestId);

重新发布函数到CloudFront,发起实际请求后,再去对应区域搜索这条日志内容,排除日志被遗漏的可能。

4. 检查IAM角色信任关系

除了日志操作权限,要确认Lambda执行角色的信任策略是否允许edgelambda.amazonaws.com作为信任实体,否则边缘环境下的函数可能没有权限写入日志。信任策略需包含:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "lambda.amazonaws.com",
          "edgelambda.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

5. 确认CloudFront关联配置

检查CloudFront分发中,Lambda@Edge的触发事件是否正确设置为Viewer Request,且关联的是函数的已发布版本(不能是$LATEST版本,Lambda@Edge要求使用已发布的版本),未发布版本无法在边缘正常执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 15:17:45