Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 将给定VPC中的所有子网ID与Cloudformation中的DBSubnetGroup一起使用_Amazon Web Services_Amazon Cloudformation - Fatal编程技术网

Amazon web services 将给定VPC中的所有子网ID与Cloudformation中的DBSubnetGroup一起使用

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

我试图弄清楚如何在Cloudformation中使用DBSubnetGroup资源来获取配置的VPC下的每个子网。以下是我目前的代码:

  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我已经告诉过你如何使用自定义资源。没有其他方法,除非您想要硬编码它们,或者通过编程将它们作为参数传递给模板。