VPC内での名前解決を有効にする Route53 のプライベートホストゾーンを使ってみた

プライベート is 何
2020.08.04

コンサル部@大阪オフィスのYui(@MayForBlue)です。

Route53のプライベートホストゾーンを使ったことがなかったので、今回初めて触ってみました。

そもそもプライベートホストゾーンとは

プライベートホストゾーンは、Route53の機能のひとつで、VPC内のみで名前解決をしてくれるものです。(VPC内のサーバー間で名前解決したい場合など)
対して、VPC外で名前解決をするのはパブリックホストゾーンとなります。

プライベートホストゾーンの使用

やってみる

テキストだけ読んでもよくわからないので早速やってみます。

今回はパブリックサブネットとプライベートサブネットにEC2を1台ずつ用意します。
Route53のプライベートホストゾーンでプライベートサブネットのIPアドレスを名前解決できるように設定し、パブリックサブネットのEC2からプライベートサブネットのEC2の名前解決ができることを確認します。

前提条件

検証に使用するVPC/サブネット/EC2は作成済みとします。

プライベートホストゾーンを作成する

Route53 のダッシュボードから「ホストゾーンの作成」をクリックします。

ドメイン名を入力し、タイプにプライベートホストゾーンをクリックします。

ホストゾーンに関連付けるVPCとして、対象のリージョンとVPCを選択します。
タグは任意で作成し、「ホストゾーンの作成」をクリックします。

ホストゾーンが作成されたら、詳細画面より「レコードを作成」をクリックします。

今回はルーティングポリシーを「シンプルルーティング」としました。「次へ」をクリックします。

レコードの設定にて「シンプルなレコードを定義」をクリックします。

任意のレコード名を入力します。
ルーティング先にIPアドレスを選択し、プライベートサブネットのEC2のプライベートIPアドレスを入力します。
レコードタイプはAとし、「シンプルなレコードを定義」をクリックします。

レコードが反映されたら、「レコードを作成」をクリックします。

プライベートホストゾーンを使用するための設定は以上となります。

動作確認する

実際に、パブリックサブネットのインスタンスから以下のコマンドを叩いて、プライベートサブネットのインスタンスの名前解決ができることを確認します。

$ nslookup 【ドメイン名】

実際にやってみて、動作確認できました!

[ec2-user@ip-10-0-1-9 ~]$ nslookup test-server.domain.test
Server:		10.0.0.2
Address:	10.0.0.2#53

Non-authoritative answer:
Name:	test-server.domain.test
Address: 10.0.11.179

あわせて読みたい

Route53 のプライベートホストゾーンについては以下のブログもご参考になると思います。

また、アカウントをまたいだVPC間でプライベートホストゾーンを使用する場合は以下のブログをご覧ください。

プライベートホストゾーンについての公式ドキュメントは以下となります。
プライベートホストゾーンの使用

さいごに

昨日まではプライベートホストゾーン?何それ美味しいの?という気持ちでしたが、実際に触ってみるとなるほどこういう機能か!となりました。
実際に手を動かしてみるのは大事ですね。

以上、コンサル部@大阪オフィスのYui(@MayForBlue)でしたっ(`・ω・´)