在 Cloudformation 上使用加入、Select 和私有 IP 值拆分
Using Join, Select, and Split with Private IP value on Cloudformation
我在尝试在 Cloudformation 中编写反向区域条目 dns 时遇到错误。
这是我的条目:
EC2DNSReverseZone:
Type: AWS::Route53::RecordSet
Properties:
HostedZoneId: !Ref ReverseHostedZoneId
Name:
- !Join [ '', [ !Select [3, !Split [ ".", !GetAtt LinuxEC2Instance.PrivateIp ] ], .xxx.xxx.xx.in-addr.arpa ] ]
Type: PTR
TTL: '86400'
ResourceRecords:
- xxxxxxxx
部署 Cloudformation 条目时,我收到以下错误:
Value of property Name must be of type String
我认为这与 LinuxEC2Instance.PrivateIp 是一个数字并且拆分数字无效这一事实有关。但这只是一个猜测。我有点不知所措,我在这里做错了什么。 LinuxEC2Instance.PrivateIp 是一个像 10.104.209.113 这样的 IP 地址,我只需要最后一部分,所以我需要那个数字中的 113,这就是我在这里使用 split 的原因。
我需要做什么来修复这个错误?
I assume that this has to do with the fact that LinuxEC2Instance.PrivateIp is a number and it is not valid to Split a number.
不,不是。这意味着您的 Name
是 List
,因为您将 -
放入其中。它必须是普通的String
,所以它应该是(没有-
):
Name:
!Join [ '', [ !Select [0, !Split [ ".", !GetAtt LinuxEC2Instance.PrivateIp ] ], .xxx.xxx.xx.in-addr.arpa ] ]
Join
可能还有其他错误,但我只关注你当前的错误信息。
我在尝试在 Cloudformation 中编写反向区域条目 dns 时遇到错误。
这是我的条目:
EC2DNSReverseZone:
Type: AWS::Route53::RecordSet
Properties:
HostedZoneId: !Ref ReverseHostedZoneId
Name:
- !Join [ '', [ !Select [3, !Split [ ".", !GetAtt LinuxEC2Instance.PrivateIp ] ], .xxx.xxx.xx.in-addr.arpa ] ]
Type: PTR
TTL: '86400'
ResourceRecords:
- xxxxxxxx
部署 Cloudformation 条目时,我收到以下错误:
Value of property Name must be of type String
我认为这与 LinuxEC2Instance.PrivateIp 是一个数字并且拆分数字无效这一事实有关。但这只是一个猜测。我有点不知所措,我在这里做错了什么。 LinuxEC2Instance.PrivateIp 是一个像 10.104.209.113 这样的 IP 地址,我只需要最后一部分,所以我需要那个数字中的 113,这就是我在这里使用 split 的原因。
我需要做什么来修复这个错误?
I assume that this has to do with the fact that LinuxEC2Instance.PrivateIp is a number and it is not valid to Split a number.
不,不是。这意味着您的 Name
是 List
,因为您将 -
放入其中。它必须是普通的String
,所以它应该是(没有-
):
Name:
!Join [ '', [ !Select [0, !Split [ ".", !GetAtt LinuxEC2Instance.PrivateIp ] ], .xxx.xxx.xx.in-addr.arpa ] ]
Join
可能还有其他错误,但我只关注你当前的错误信息。