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

CloudFormation Registry提交私有资源类型未创建CloudWatch日志组求助

排查CloudFormation私有资源类型日志缺失问题

以下是逐步排查方案:

  • 确认日志所在区域:私有资源类型是区域级资源,日志组只会创建在你执行cfn submit的同一AWS区域,不要跨区域查找。
  • 检查Handler执行角色权限:
    1. 进入IAM控制台,找到由cfn submit自动创建的资源处理角色(名称通常包含ResourceHandlerRole及你的资源类型标识)。
    2. 验证该角色是否包含logs:CreateLogGroup、logs:CreateLogStream、logs:PutLogEvents这三个权限。如果权限缺失,日志组无法创建,日志也无法写入。
  • 核对日志组命名规则:
    官方标准日志组格式为/aws/cloudformation/resource-types/<资源类型全称>/<版本号>(例如/aws/cloudformation/resource-types/MyOrg::MyService::MyResource/00000001),而非你提到的堆栈名格式。直接在CloudWatch日志组列表中搜索你的资源类型全称,或者搜索aws/cloudformation/resource-types前缀快速定位。
  • 检查资源操作状态:
    1. 进入CloudFormation控制台,查看包含私有资源的堆栈事件,确认资源是否成功完成创建/更新操作。如果操作失败(比如Handler超时、逻辑报错),可能日志未正常生成。
    2. 若堆栈事件中有Handler执行报错,可直接关联查看对应Lambda函数的日志。
  • 验证Handler代码的日志逻辑:
    使用cfn invoke命令本地调用Handler,测试日志是否正常输出:
    cfn invoke --function-name <你的Handler Lambda函数名> --event test-event.json
    
    若本地无日志输出,说明代码中的logger配置存在问题,需检查脚手架生成的logger对象是否正确初始化。
  • 直接查看Lambda函数日志:
    私有资源类型的Handler本质是Lambda函数,cfn submit会自动创建该函数(名称通常包含ResourceHandler及资源类型名)。进入Lambda控制台找到该函数,点击「监控」标签下的「查看CloudWatch日志」,直接查看Lambda默认的日志组(格式为/aws/lambda/<函数名>),部分场景下日志会输出到这里而非CFN指定的专用日志组。
  • 检查资源类型注册详情:
    进入CloudFormation Registry控制台,找到你的私有资源类型,查看其配置详情,确认是否有指定的日志组信息,或是否存在注册过程中的错误提示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 09:00:59