要解决“AWS SAM模板无法引用在云形模板之外先前创建的安全组资源”的问题,您可以使用AWS CloudFormation导出和引用资源。
以下是一个解决方案示例:
Resources:
MySecurityGroup:
Type: AWS::EC2::SecurityGroup
Properties:
GroupName: MySecurityGroup
# 添加其他属性
Outputs:
MySecurityGroupExport:
Value: !Ref MySecurityGroup
Export:
Name: MySecurityGroup
Resources:
MyFunction:
Type: AWS::Serverless::Function
Properties:
# 添加其他属性
VpcConfig:
SecurityGroupIds:
- Fn::ImportValue: MySecurityGroup
# 添加其他属性
通过这种方式,您可以在SAM模板中引用在云形模板之外先前创建的安全组资源。
请注意,导出和引用资源时,确保两个模板在同一AWS账户和AWS区域中。