【发布时间】:2014-09-22 04:01:33
【问题描述】:
我在 EC2 中有以下设置:
分配有弹性 IP 的服务器和 Route 53 中指向该弹性 IP 的 DNS 名称条目。
是否可以从分配了弹性 IP 的服务器检索在 Route 53 中配置的 DNS 名称?如果是,我该怎么做?
【问题讨论】:
标签: amazon-web-services amazon-ec2 dns amazon-route53 elastic-ip
我在 EC2 中有以下设置:
分配有弹性 IP 的服务器和 Route 53 中指向该弹性 IP 的 DNS 名称条目。
是否可以从分配了弹性 IP 的服务器检索在 Route 53 中配置的 DNS 名称?如果是,我该怎么做?
【问题讨论】:
标签: amazon-web-services amazon-ec2 dns amazon-route53 elastic-ip
如果您还知道托管区域 ID,则可以使用 awscli 和 jq 执行此操作:
aws route53 list-resource-record-sets --hosted-zone-id ZA6KYPP25HCIO | jq -j '.ResourceRecordSets[] | select (.Type=="A") | select (.ResourceRecords[].Value == "10.0.0.1") | (.Name|rtrimstr("."))'
其中 ZA6KYPP25HCIO 是托管区域 ID,10.0.0.1 是您主机的 IP。
您也可以fill out a form 要求亚马逊在指向您主机的反向区域中创建一个 DNS 条目。如果您这样做,则 PTR 记录的简单 dig -x 或 nslookup 将为您提供名称。
AWS 目前不支持将您的弹性 IP 地址自动映射回您为其创建的 DNS 名称。
【讨论】:
jq 错误处理,因为不是 10.0.0.1 的每个实例都返回“无法迭代null”。只需在行尾添加 2>/dev/null 即可。
您可以使用 dig 进行反向查找。
# dig -x 12.12.12.12
显然 12.12.12.12 是你要查找的 IP。
您是否尝试使用 API 来执行此操作?看起来你应该能够用一些魔法来做到这一点。看看http://docs.aws.amazon.com/Route53/latest/APIReference/Welcome.html
【讨论】: