Amazon web services 资源名称中没有前缀/后缀的CloudFormation(即CloudWatch日志组)

Amazon web services 资源名称中没有前缀/后缀的CloudFormation(即CloudWatch日志组),amazon-web-services,amazon-cloudformation,amazon-cloudwatch,amazon-cloudwatchlogs,Amazon Web Services,Amazon Cloudformation,Amazon Cloudwatch,Amazon Cloudwatchlogs,我正在用CloudFormation创建一个堆栈。创建日志组时,它会自动为我的日志组名称添加前缀和后缀。例如,如果我尝试创建日志组MyLogGroup,它将创建日志组my-stack-name-MyLogGroup-EEWJYSCJRK2V 我理解,对于许多用例,这可能是为了区分不同堆栈的相同资源。但是,我的团队对不同的堆栈有不同的帐户,因此不会有重叠。具有动态前缀和后缀使得很难从静态文件(即CloudWatch日志代理配置文件)引用日志组 有没有办法确保资源的名称与我所说的完全一致,而不是添加

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

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


有没有办法确保资源的名称与我所说的完全一致,而不是添加前缀或后缀?

我们的AWS生态系统也遇到了同样的问题,在与AWS的几位同事交谈后,这是出于设计,目前无法修改


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

是的,这是可能的。例如,在我们的cloud formation模板中,我们创建了cloud watch conf文件,其中log_group_name和log_stream_name参数设置为不同参数的组合。我们创建的日志组没有前缀和后缀。请参见以下示例:

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

我和AWS的团队谈过,他们确认目前没有办法,尽管将来可能会这样。这不是CloudFormation模板。如果你有它的工作,我会好奇地看到你的实际模板中的相关部分。