【发布时间】:2019-08-15 04:25:39
【问题描述】:
我正在开发使用 CloudFormation 配置的新基础架构。我需要为安全组获取子网 cidrblock。
我尝试了一些获取子网 Cidr 块的方法,但出现以下错误:
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 块。
我该如何处理?
【问题讨论】:
-
首先,请始终确保包含您看到的准确错误消息。否则,当人们用谷歌搜索该错误消息时,将找不到您在档案中的问题。其次,因为你有一个格式不正确的 YAML 消息,除非你提供整个模板,否则没有人可以提供帮助,而你只提供了它的一个 sn-p。
-
yaml 格式正确的错误是确切的错误消息,我只想了解如何从作为参数添加的子网中获取 cidr 块。谢谢你的建议
-
错误消息将是“YAML 格式不正确”,请参阅此页面here。
-
这是我的错字对不起,谢谢:)
-
最好的办法是在以后复制/粘贴确切的错误消息。我就是做这个的。此外,您似乎正在尝试获取第一个 SubnetId 并将其放在 CidrIp 字段中。但这需要是 IP 地址吗?
标签: amazon-web-services amazon-cloudformation devops vpc infrastructure-as-code