gpt4 book ai didi

amazon-web-services - Cloudformation SubnetList 获取 CidrBlock

转载 作者:行者123 更新时间:2023-12-03 07:21:18 28 4
gpt4 key购买 nike

我正在开发一个使用 CloudFormation 配置的新基础架构。我需要为安全组获取子网 cidrblock。

我尝试了一些方法来获取子网 Cidr block ,但出现以下错误:

YAML not well-formed

我的模板是:

 SubnetList:
Description: 'Gateway Subnet Id'
Type: List<AWS::EC2::Subnet::Id>

.....
..
....

ElastiCacheSecurityGroupIngressGateway: ##SubnetLists
Type: AWS::EC2::SecurityGroupIngress
Properties:
GroupId: !GetAtt SecGroup.GroupId
IpProtocol: tcp
FromPort: '6379'
ToPort: '6379'
CidrIp: Fn::GetAtt: [ Fn::Select: [ 0, !Ref SubnetList ], CidrBlock ]

我需要从 SubnetList 获取 cidr block 。

我该如何处理这个问题?

最佳答案

我认为除非您在同一模板中创建子网,否则您无法执行此操作。使用 GetAtt 时,您需要提供 CloudFormation 模板内的资源名称。您只需提供子网 ID 的参数列表 - 这些是字符串,而不是 CloudFormation 管理的资源。

您可以简单地传入子网 CIDR 作为参数,或者更好的是,将它们引用为最初使用 Fn::ImportValue 创建 VPC 和子网的堆栈的输出。 .

另请参阅this proposed solution面对同样的问题。警告:这不是微不足道的。

关于amazon-web-services - Cloudformation SubnetList 获取 CidrBlock,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55329163/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com