如何从 ec2 实例 ID 中找到 `record`?

How to find `record` from ec2 instance id?

使用ansible,有没有办法找到绑定到实例的子域?子域是在 amazon route53 中创建的。

原因是我的剧本正在删除带有特定标签的所有实例。但是,A 记录仍然存在,我也想删除它们。

那么如何找到并删除实例对应的A记录呢?

一旦您终止了 EC2 实例,再将它与 Route 53 记录相关联就太晚了。这是因为一旦实例终止,public IP 地址信息就会丢失。

因此您需要在终止之前或作为终止过程的一部分执行此操作。

  1. 在 EC2 实例终止之前,查看它的 public IP 地址是什么。
  2. 删除与该 IP 地址对应的 Route 53 A 记录。
  3. 终止 EC2 实例。

您有 2 个选择。

如果控制主机或任何其他实例安装了AWS CLI,您可以运行ansible shell命令aws route53 list-resource-record-sets 并循环输出以找到匹配的记录。

Ansible 2.0beta 有 route53_facts 模块。通过设置 query: record_sets 获取记录集并循环输出以找到匹配的记录。