目次
はじめに
こんにちは、omkです。
年末なので(?)検証作業中に起こったRoute53周りでのうっかりさんを紹介します。
TL;DR
Route53のパブリックホストゾーンとは別に、VPCに同じドメインに対してのプライベートホストゾーンが割り当てられていた。
そのためVPC内からはプライベートホストゾーンに設定していないレコードに対して名前解決が出来なかった。
前提
- AWSで動作している検証環境(個人的に使っているものなので管理が杜撰)で発生
- DNSレコードはRoute53で管理
- EC2から名前解決
- パブリックホストゾーンでALBに対してAliasレコードを設定してインターネット経由でアクセス
起こったこと
Apacheの検証でWEB上での動作確認を行っていたところ、どうも検証EC2から接続できない事象が発生していました。
FQDNに対して名前解決を試みたところ、ALBのIPが返却される想定でいましたが、どうも存在しないと。
会社のネットワークに接続されているPCからは正常にアクセスできる状態で名前解決もしっかりALBのIPが返ってきます。
ふと思い立って、それぞれでSOAを引いてみたところ、それぞれ異なる結果が返ってきました。
よくよく見てみると会社のネットワーク経由で問い合わせた結果はRoute53のパブリックホストゾーンに設定されているSOAと合致して、
EC2から問い合わせた結果はそうでないものでした。
ただし、どちらの結果も awsdns-hostmaster.amazon.com. が割り当たっていました。
では、EC2は何に問い合わせをしていたのか。
なんとEC2が配置されているVPCが同ドメインのプライベートホストゾーンに関連付けられていました(ようやく思い出した)。
そのため、
EC2は名前解決にVPCのリゾルバに問い合わせに行くようになっており、
関連付けていたプライベートホストゾーンのネームサーバに問い合わせていました。
そしてプライベートホストゾーンの方には対象のレコードが無いので「存在しない」と返していた、
ということでした。
まとめ
自分のドメインだけ上手く解決できないのでどういうこっちゃ~と思っていたのですが、全くもって自分が悪かったという結論に至りました。
というわけで管理はしっかりしようと思います。まる。
それでは皆様良いお年を。
アーキテクト課のomkです。
AWSについて雑多に取り組んだ内容を発信しています!!