88965
以下のコマンドで `--dns-name` に合うIDを取得したいと考えています。  
ですが、この例でいう `augment.site` のIDを取得したくても他の存在しないIDが返ってきてしまい困っています。

コマンドが悪いのかバグなのかよくわかりませんが、ご知見のある方、アドバイスを頂けないでしょうか。宜しくお願い致します。

**実行したコマンド:**

```

    aws --profile myplofile route53 list-hosted-zones-by-name --dns-name augment.site | jq -r ".HostedZones[0].Id"
    
```
CC BY-SA 4.0
2022-05-21T10:35:56.913
88964
2022-05-22T04:59:15.557
2022-05-21T11:02:31.807
3060
39728
question
aws amazon-route53
Route53 Nameに合ったIDを取りたいが、存在しないものが表示される
「存在しないIDが返ってきてしま」うのはちょっと想像できません。

>
```

>     aws --profile myplofile route53 list-hosted-zones-by-name --dns-name
> augment.site | jq -r ".HostedZones[0].Id"
>  
```

で意図しない結果が得られるのであれば

```

    aws --profile myplofile route53 list-hosted-zones-by-name --dns-name augment.site
    
```

を実行すれば、何が返ってきているのか確認できると思います。その内容を見て冷静に判断されてはどうでしょうか。

* * *

> 存在するIDが返ってきてました。複数個出てくるのは謎です。

AWSCLIの[`list-hosted-zones-by-
name`](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/route53/list-
hosted-zones-by-
name.html)およびその元になっている[`ListHostedZonesByName`](https://docs.aws.amazon.com/Route53/latest/APIReference/API_ListHostedZonesByName.html)
APIを確認しました。

> Retrieves a list of your hosted zones in lexicographic order.

とあり、引数に指定したDNS Nameでフィルタリングするわけではなく、DNS Name順に並べたhosted
zoneの一覧を返すようです。ですので、特定のhosted zone
idを得たいのであればクライアント側でフィルタリングする必要があるのかもしれません。例えば`example.com`のhosted zone
idを得るにはこんな感じでしょうか。

```

    aws --profile myplofile route53 list-hosted-zones \
      --query 'HostedZones[?Name==`example.com.`].Id' --output text
    
```
CC BY-SA 4.0
2022-05-21T13:41:54.003
88965
2022-05-22T04:59:15.557
2022-05-22T04:59:15.557
4236
4236
88964
answer