资源名称中没有 prefix/suffix 的 CloudFormation(即 CloudWatch 日志组)

CloudFormation without prefix/suffix in resource names (i.e. CloudWatch Log Groups)

我正在使用 CloudFormation 创建堆栈。当您创建日志组时,它会自动为我的日志组名称添加前缀和后缀。例如,如果我尝试创建日志组 MyLogGroup,它会创建日志组 my-stack-name-MyLogGroup-EEWJYSCJRK2V.

我知道对于很多用例来说,可能需要这样来区分不同堆栈的相同资源。但是,我的团队对不同的堆栈有不同的帐户,因此不会有重叠。具有动态前缀和后缀使得很难从静态文件(即 CloudWatch Logs 代理配置文件)引用日志组。

有没有办法确保资​​源的命名与我输入的完全一致,而不是添加前缀或后缀?

我们 运行 在我们的 AWS 生态系统中遇到了同样的问题,在与 AWS 的几个人交谈后,这是设计使然,现在无法修改。

根据您尝试执行的操作的复杂性,我建议用一些 Lambda 函数替换 CloudFormation 来管理资源(可以使用 sts:AssumeRole 跨账户完成)。

是的,这是可能的。例如,在我们的云形成模板中,我们创建了云监视配置文件,其中 log_group_name 和 log_stream_name 参数设置为不同参数的组合。我们的日志组是在没有前缀和后缀的情况下创建的。请参阅以下示例:

"log_group_name = "MyLogGroup\n",
"log_stream_name = {instance_id}/", "MyLogGroup", ".log\n",