AWS SAM 模板无法引用安全组资源(之前在 cloudformation 模板之外创建)
AWS SAM template can't reference Security Group resource (created earlier outside the cloudfromation template)
我正在编写一个 SAM 模板,我试图在 lambda 函数的 VpcConfig
部分中引用安全组 ID,如下所示:
VpcConfig:
SecurityGroupIds:
- !GetAtt aurora-mysql.GroupId
SubnetIds:
- subnet-1234abcd
- subnet-abcd1234
其中 aurora-mysql
是之前创建的安全组的名称,如下所示:
当我尝试部署堆栈时,出现以下错误消息:
Failed to create the changeset: Waiter ChangeSetCreateComplete failed: Waiter encountered a terminal failure state Status: FAILED. Reason: Template error: instance of Fn::GetAtt references undefined resource aurora-mysql
它看不到aurora-mysql
安全组。
此安全组已存在,并且是较早前在 cloudformation 模板之外创建的。
请问有什么解决办法吗?
如果您在同一模板中创建安全性,则可以使用 "Ref" 内置函数获取资源 ID。
如果您想引用现有的安全组,则以上方法将不起作用。您可以将安全组 ID 作为参数传递给模板,并使用 "Ref" 内置函数在您需要的地方使用它。或者你可以使用 cloud formation exports
我正在编写一个 SAM 模板,我试图在 lambda 函数的 VpcConfig
部分中引用安全组 ID,如下所示:
VpcConfig:
SecurityGroupIds:
- !GetAtt aurora-mysql.GroupId
SubnetIds:
- subnet-1234abcd
- subnet-abcd1234
其中 aurora-mysql
是之前创建的安全组的名称,如下所示:
Failed to create the changeset: Waiter ChangeSetCreateComplete failed: Waiter encountered a terminal failure state Status: FAILED. Reason: Template error: instance of Fn::GetAtt references undefined resource aurora-mysql
它看不到aurora-mysql
安全组。
此安全组已存在,并且是较早前在 cloudformation 模板之外创建的。
请问有什么解决办法吗?
如果您在同一模板中创建安全性,则可以使用 "Ref" 内置函数获取资源 ID。
如果您想引用现有的安全组,则以上方法将不起作用。您可以将安全组 ID 作为参数传递给模板,并使用 "Ref" 内置函数在您需要的地方使用它。或者你可以使用 cloud formation exports