CloudFormation Hooks 无法推送日志至CloudWatch Logs问题咨询
CloudFormation Hook 日志不生成+控制台编辑报错修复方案
核心问题点
- 控制台报
Please use arn or specify a type是eu-central-1区域CloudFormation控制台的已知前端bug:编辑Hook日志配置时,页面没有自动传入当前Hook的类型ARN参数,导致后端接口校验失败,你在页面上填的任何配置都没有真正提交成功,这也是反复改配置都不生效的直接原因。 - 之前的配置方式有误:
set-type-configuration接口用来设置Hook的自定义业务逻辑配置,日志配置是独立于业务配置的LoggingConfig字段,不能写在type_config.json里通过这个接口设置,必须通过专门的日志配置接口提交。 - 容易遗漏的角色校验点:哪怕权限策略给全了,如果日志角色的信任实体不允许CloudFormation服务代入,服务端根本拿不到角色权限,自然没法创建日志组、写入日志。
具体修复步骤
- 绕过控制台,直接用CLI设置日志配置,执行以下命令:
aws cloudformation set-type-logging-config \ --type-arn "arn:aws:cloudformation:eu-central-1:563262xxxxx:type/hook/My-Dummy-Hook" \ --logging-config '{"logRoleArn":"arn:aws:iam::563262xxxxx:role/CloudFormationManagedUplo-LogAndMetricsDeliveryRol-KYUY5H9D4XQN","logGroupName":"my-dummy-hook-logs"}' \ --region eu-central-1
- 执行以下命令验证配置是否真正生效,确认返回的日志组名、角色ARN和你设置的值完全一致:
aws cloudformation describe-type \ --type-arn "arn:aws:cloudformation:eu-central-1:563262xxxxx:type/hook/My-Dummy-Hook" \ --region eu-central-1 \ --query 'LoggingConfig'
- 检查日志角色的信任策略,必须允许
cloudformation.amazonaws.com服务代入角色,信任策略示例如下:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "cloudformation.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
- 触发一次Hook匹配的栈操作(创建/更新/删除符合Hook匹配规则的CloudFormation栈),等待1-2分钟后再去CloudWatch控制台查看,日志组会在第一次日志写入时自动创建,不需要提前手动建立。
补充:控制台编辑报错的问题目前没有其他绕过方式,只能通过CLI配置,等AWS修复对应区域的控制台前端逻辑后才能正常在页面操作。
内容的提问来源于stack exchange,提问作者maslick
相关产品推荐
相关产品推荐

