amazon-web-services - 在 Cloudformation 上使用带有私有 IP 值的加入、选择和拆分
问题描述
尝试在 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 的原因。
我需要做什么来修复这个错误?
解决方案
我认为这与 LinuxEC2Instance.PrivateIp 是一个数字并且拆分数字无效这一事实有关。
不,这不对。这意味着你的Name
is List
,正如你所说-
的那样。它必须是 plain String
,所以它应该是 (no -
):
Name:
!Join [ '', [ !Select [0, !Split [ ".", !GetAtt LinuxEC2Instance.PrivateIp ] ], .xxx.xxx.xx.in-addr.arpa ] ]
可能还有Join
其他错误,但我只关注您当前的错误消息。
推荐阅读
- windows - Windows 内核:为什么我的内存映射不起作用?
- python - 如何编写程序以使用 Pyhton 中的字符串格式打印最多 2 位小数的浮点数
- c++ - 如何在c++中生成一个不等于n和m的1到k之间的随机数?
- python - 遍历帐号列中的每一行并使用这些行来读取其他 Excel 文件
- firebase - 在flutter中获取firebase中的所有注册用户
- c# - ISO 8601 字符串到 C# 日期时间:丢失时区
- javascript - 未处理的拒绝 (ReferenceError):未定义 createPromise
- ios - iOS: How to add Assets folder inside a Framework and how to access them in code?
- php - 出现错误 505,无法运行我的网站
- linux - 使用终端将文件从ubuntu复制到Windows服务器?