こんにちは、クラウドインテグレーション2部 技術1課 宮形 です。
最近、サブドメインについて調べて理解を深める機会があったので、本BLOGにて紹介します。
とある社内からの相談は「すでに(AWS以外で)ドメイン取得とDNSサーバーを運用している状態から、サブドメインを設けて AWS の Amazon Route 53 (以下 Route 53 と記)でレコードを設定できるか?ドメインはAWSへ移管しない前提とする。」でした。
結論としては「可能」なのですが、実際にどのように設定すればよいかイメージをつかみたく、手元の環境でテストしました。そのときの内容をご紹介させていただきます。
概要
ゴールを下記のようにします。すでに存在しているドメイン名は miyagata.abc とします。
区分 | ドメイン名 | DNSサーバー |
---|---|---|
親 | miyagata.abc | AWS以外のベンダーが提供 |
子 | sub.miyagata.abc | Route 53 |
例えば www.sub.miyagata.abc としてWebサービスを公開したくなった場合、DNSレコードは Route 53 で登録・運用していくのが希望です。図にすると下記のようになります。
DNSサブドメインの権限委譲を用います。概念については弊社メンバーのブログにまとまっているので、そちらをご参照ください。下記のブログは、親・子 の両方が Route 53 のケースで紹介しております。考え方は同じです。
私の検証では、AWS以外が提供するDNSサーバーとして「お名前.ドットコム」を利用しました。
設定手順
先にサブドメイン側の Route 53 を設定し、続けて親ドメインの お名前.ドットコム を設定しました。
Route 53 側の設定
AWS マネージメントコンソールより Route 53 コンソールへ移動します。 [ホストゾーン] - [ホストゾーンの作成] をクリックします。
「ホストゾーンの作成」の画面になります。下記のように設定します。[ホストゾーンの作成]をクリックします。
項目 | 設定値 |
---|---|
ドメイン名 | sub.miyagata.abc |
タイプ | パブリックホストゾーン |
ホストゾーンの一覧より、今ほど作成したドメイン名をラジオボタンで選択し、[詳細を表示] をクリックします。
表示される画面の [ホストゾーンの詳細] をクリックして展開します。[ネームサーバー] に4つのサーバー名が記載されているので、メモ帳などにコピーして控えておきます。
Route 53でホストゾーンを作成すると、初期では NSレコード、SOAレコードの2つがあります。動作確認用に エイリアスレコード を追加します。[レコードを作成] をクリックします。
本BLOGの検証では、ALBをターゲットとしたエイリアスレコードを登録しました。
項目 | 設定値 |
---|---|
レコード名 | sv01.sub.miyagata.abc |
トラフィックのルーティング先 | エイリアス:オン として、ALBを選択する |
以上で Route 53 側の設定は完了です。続けて、親ドメインのDNSサーバーを設定します。
親ドメインDNSサーバー (お名前.ドットコム) 側の設定
下記のようにNSレコードを設定します。設定としてはこれだけです。VALUE は、先ほど AWSマネージメントコンソールで確認した値とします。
ホスト名 | TYPE | TTL | VALUE |
---|---|---|---|
sub.miyagata.abc | NS | 86400 | ns-XXXX.awsdns-XX.co.uk |
sub.miyagata.abc | NS | 86400 | ns-XXXX.awsdns-XX.net |
sub.miyagata.abc | NS | 86400 | ns-XXXX.awsdns-XX.org |
sub.miyagata.abc | NS | 86400 | ns-XXXX.awsdns-XX.com |
動作確認
nslookup や dig コマンドで ALB のグローバルIPアドレスが返されることを確認します。
nslookup sv01.sub.miyagata.abc
まとめ
サブドメインとして別DNSサーバーでレコード運用する方法は、メリット・デメリットがありすべてのケースでお勧めできるわけではないです。AWSで構築する部分は保守ベンダーの作業範囲としたい場合など、責任分解したいときは検討するとよいと思います。
なお、サブドメインの利用が終わった際は、速やかに親ドメインからNSレコードを削除しましょう。 NSレコードを残したままにすると、最悪の場合ドメイン名ハイジャックに利用される恐れがあります! *1
*1:参考:親の心子知らず?委任にまつわる諸問題について考える~ランチのおともにDNS~ https://jprs.jp/tech/material/iw2012-lunch-L3-01.pdf