Amazon web services 如何从ec2实例id中找到“记录”?

Amazon web services 如何从ec2实例id中找到“记录”?,amazon-web-services,amazon-ec2,ansible,amazon-route53,Amazon Web Services,Amazon Ec2,Ansible,Amazon Route53,使用ansible,有没有办法找到绑定到实例的子域?子域是在amazon route53中创建的 这样做的原因是我有playbook,它正在删除带有特定标记的所有实例。但是,A记录仍然保留,我也想删除它们 那么,如何查找和删除实例对应的记录呢?一旦终止EC2实例,就太晚了,无法将其与Route 53记录关联。这是因为一旦实例终止,公共IP地址信息就会丢失 因此,您需要在终止之前完成,或者作为终止过程的一部分 在EC2实例终止之前,请查看它的公共IP地址 删除与该IP地址对应的路由记录 终止EC2

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

这样做的原因是我有playbook,它正在删除带有特定标记的所有实例。但是,
A
记录仍然保留,我也想删除它们


那么,如何查找和删除实例对应的记录呢?

一旦终止EC2实例,就太晚了,无法将其与Route 53记录关联。这是因为一旦实例终止,公共IP地址信息就会丢失

因此,您需要在终止之前完成,或者作为终止过程的一部分

  • 在EC2实例终止之前,请查看它的公共IP地址
  • 删除与该IP地址对应的路由记录
  • 终止EC2实例
  • 你有两个选择

    如果控制主机或任何其他实例安装了AWS CLI,则可以运行ansible shell命令AWS route53列出资源记录集,并循环输出以查找匹配的记录


    Ansible 2.0beta具有路由53_事实模块。通过设置query:record\u sets获取记录集,并循环输出以找到匹配的记录。

    这就是重点#2-如何找到与我的实例对应的记录?只给
    路由53
    模块提供IP地址会导致错误,
    记录
    元素丢失。在
    记录中
    应指定元素子域。我所拥有的只是实例事实,而不是我可以提供给
    record
    字段的子域。您必须扫描route 53记录以找到一条与IP地址匹配的记录。该实例不知道子域。这就是问题-如何扫描/使用ansible/?您正在运行ansible的哪个版本?是否可以通过REST API使用
    uri
    module来执行
    ListResourceRecordset
    ,或者股票模块将不支持所有签名内容?我认为uri对签名内容一无所知。您必须手动执行此操作并将其添加到标题中。如果你知道怎么做,你可以试一试。我将编写一个接受参数并返回记录的shell脚本。从ansible调用该脚本以获取记录。shell脚本可以使用AWS CLI或REST API来查询和返回记录。