はじめに

Route53のプライベートホストゾーンを扱う機会がありました。
AWSの資格取得の時に聞いたことがあるくらいの知識だったので今回学習しました。

Route53のホストゾーンについて

ホストゾーンについて公式ドキュメントに以下の記載があります。[1]

ホストゾーンはレコードのコンテナであり、レコードには example.com やそのサブドメイン (acme.example.com や zenith.example.com) の
特定のドメインのトラフィックをどのようにルーティングするかに関する情報を保持します。
ホストゾーンの名前と対応するドメインの名前は同じです。

[1]ホストゾーンの使用
https://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/hosted-zones-working-with.html
さらにホストゾーンにはパブリックホストゾーンとプライベートホストゾーンがあります。
文字だけではイメージしづらいので図を用いながら説明していきます。

パブリックホストゾーンについて

パブリックホストゾーンは以下図の様に、インターネットからのトラフィックをルーティングします。

以下の様なホストゾーンを作成しました。
①:パブリック
②:「miki2.tk」というホストゾーン
③:Aレコードで値には「0.0.0.0」を設定しています。

ローカルからでも名前解決できることが確認できます。

miki1:~ miki$ dig miki2.tk +short
0.0.0.0
miki1:~ miki$

プライベートホストゾーンについて

プライベートホストゾーンは以下図の様に、VPC内のリソースからのトラフィックをルーティングします。

「vpc-05cd************」にEC2を作成しました。

以下の様なホストゾーンを作成しました。
①:プライベート
②:「miki2.tk」というホストゾーン
③:vpc-05cd************
④:Aレコードで値には「100.100.100.100」を設定しています。

作成したEC2から名前解決できることが確認できます。

[ec2-user@ip-**-**-**-** ~]$ dig miki2.tk +short
100.100.100.100
[ec2-user@ip-**-**-**-** ~]$

まとめ

実際に検証環境を作成しコマンドを叩くことで理解が深まりました。
補足ですが、ホストゾーンへのVPCの関連付けですが、別アカウントのVPCを関連付ける場合にはCLIを利用する必要がある様です。[2]
また、機会があれば試してみます。

[2]Route 53 プライベートホストゾーンを別の AWS アカウントの VPC に関連付ける方法を教えてください。
https://aws.amazon.com/jp/premiumsupport/knowledge-center/route53-private-hosted-zone/