【问题标题】:AWS CLI command to get the Route 53 record set of an ELB用于获取 ELB 的 Route 53 记录集的 AWS CLI 命令
【发布时间】:2024-01-22 16:40:02
【问题描述】:

我有一个 ELB (abeXXXXXXXXXXX-12345XX.us-east-2.elb.amazonaws.com) 附加到 route53 (test.kubernates.com) 中的记录集。将记录集附加到 elb 的 aws cli 命令将是什么?我想在控制台上打印 test.kubernates.com

我尝试将 elb 端点传递给 list-resource-record-sets,但没有将 test.kubernates.com 作为输出。

【问题讨论】:

    标签: amazon-web-services aws-cli


    【解决方案1】:

    假设您已将 route53 记录设置为 ELB 的别名目标,这应该可以:

    aws route53 list-resource-record-sets --hosted-zone-id <relevant_zone_id> --query "ResourceRecordSets[?AliasTarget.DNSName == 'abeXXXXXXXXXXX-12345XX.us-east-2.elb.amazonaws.com.']"
    

    只需将托管区域 ID 替换为您要查询的域,以及相关的 elb 域名。

    注意:此处的 ELB 域名必须包含尾随句点(注意它在查询参数中以“amazonaws.com.”结尾)

    【讨论】:

      【解决方案2】:

      如果您使用的是 CNAME,您可以这样做:

      aws route53 list-resource-record-sets --output text --hosted-zone-id ZXXXXXXXXXX --query "ResourceRecordSets[?ResourceRecords[?Value == 'abeXXXXXXXXXXX-12345XX.us-east-2.elb.amazonaws.com']].Name"
      

      【讨论】:

        【解决方案3】:

        您必须添加--query 选项才能获取记录集。 并避免打印最后一个'。字符添加| sed 's/.$//'

        aws route53 list-resource-record-sets --hosted-zone-id <ZONE_ID>
        --query "ResourceRecordSets[?ResourceRecords[?Value == 'abeXXXXXXXXXXX-12345XX.us-east-2.elb.amazonaws.com']].Name" --output text | sed 's/.$//'
        

        【讨论】:

          最近更新 更多