我是新来的朋友 .
我正在尝试从Elastic负载均衡器(通过别名目标与Route 53相关联)中获取关联实例 . 我知道我的托管区域ID,我使用Route53后面的加权路由(活动时为1) .
我试图触发以下命令(但到目前为止只能获取资源名称或者哪一个是从重量激活的):
aws route53 list-resource-record-sets --output text --hosted-zone-id <myId> --query "ResourceRecordSets[?Name == '<Name>'].[SetIdentifier,Weight]" --output text | awk '$2 == 0 {print $1}'
这该怎么做 . 请帮忙 .
(简而言之,R53-> 2个ELB-> EC2s)
1 回答
当用户通过Route 53 - > ELB - > EC2连接时,AWS内的逻辑链接是不同的 .
首先,ELB和EC2之间存在关系 .
如果您使用的是经典负载均衡器,则会针对ELB注册实例 .
如果您使用的是应用程序负载均衡器,则实例将注册到目标组,ELB将使用目标组 .
Load Balancer具有可与Route 53别名或CNAME记录关联的DNS名称 .
因此,如果您从域名开始,则需要执行以下步骤:
查找与域名关联的 Route 53 条目
检索指向ELB的别名或CNAME(取决于它的配置方式)
检索有关 ELB 的信息
检索有关与ELB关联的 Target Groups 的信息
检索有关目标组中 EC2 instances 的信息
我建议 tracing the relationships in the Management Console ,然后尝试为每个关系制定一个AWS Command-Line Interface (CLI)命令 . 您需要编写脚本以在命令之间传递参数,或使用AWS SDK而不是CLI以编程语言编写它 .