Amazon web services 将给定VPC中的所有子网ID与Cloudformation中的DBSubnetGroup一起使用
我试图弄清楚如何在Cloudformation中使用DBSubnetGroup资源来获取配置的VPC下的每个子网。以下是我目前的代码:Amazon web services 将给定VPC中的所有子网ID与Cloudformation中的DBSubnetGroup一起使用,amazon-web-services,amazon-cloudformation,Amazon Web Services,Amazon Cloudformation,我试图弄清楚如何在Cloudformation中使用DBSubnetGroup资源来获取配置的VPC下的每个子网。以下是我目前的代码: DBSubnetGroup: Type: 'AWS::RDS::DBSubnetGroup' Properties: DBSubnetGroupDescription: !Ref 'AWS::StackName' SubnetIds: - subnet-54b7e96a - subnet
DBSubnetGroup:
Type: 'AWS::RDS::DBSubnetGroup'
Properties:
DBSubnetGroupDescription: !Ref 'AWS::StackName'
SubnetIds:
- subnet-54b7e96a
- subnet-68eb3125
- subnet-744c4613
我希望避免在我的VPC中准确指定要使用的子网ID。遗憾的是,在CloudInformation(CFN)中没有这样的功能来查询VPC并获取其所有子网的ID
如果你需要这一点,你必须开发自己的。资源将采用lambda函数的形式,该函数将VPC Id作为输入参数,然后使用AWS SDK查询VPC的子网。找到的子网将返回到您的模板中,以便在
AWS::RDS::DBSubnetGroup
中使用。您想用VPC中的所有子网自动填充子集列表吗?即使有一种单向方式来表示子网:
也会nice@aphexlog是的,但遗憾的是,这种功能还不存在。因此,我开始使用列表
类型参数,它几乎完成了我想要的功能:TestParam:type:List Description:List of EC2 subnet id
我只需要看看我现在是否能够弄清楚如何在给定的VPC中获取子网列表,而不仅仅是一张清单subnets@aphexlog我已经告诉过你如何使用自定义资源。没有其他方法,除非您想要硬编码它们,或者通过编程将它们作为参数传递给模板。