はじめに
いきなりですが、ドメイン委譲をしたい、そんな事ありませんか?私はあります。
例えばあるプラットフォームのDNSサーバで管理するドメインのサブドメインを、別プラットフォームのDSNサーバで管理できるようにしたいとかです。もちろん別プラットフォームでなくとも、別ゾーンで管理したいとかもケースとしてありますね。
今回でいうと
- AWSのRoute53でメインドメイン(
example.com)を管理している。 - そのメインドメインのサブドメイン(
sub.exapmle.com)をGCPのCloud DNSで管理できるようにしたい。
という感じです。example.comはご自身がお持ちのドメインで置き換えて考えてください。
もちろんRoute53側でサブドメインを作成して運用するパターンもありますが、GCPでLBや各種ネットワーク系のサービスを利用すると考えるとGCP側にあったほうがいいと考えました。hoge.sub.exapmle.comやfuga.sub.exapmle.comを発行するたびにRoute53で作って…みたいなことも面倒です。
またexample.comとは別にexample2.comのように別ドメインを取得してそれをCloudDNSに登録するパターンもあります。これもこれでいいのですが、一定コストが掛かるのと、今回紹介する権限委譲が大変ではなかったのでこのパターンも取りませんでした。
やってみる
手順は意外と簡単です。
- Cloud DNSでサブドメインを作成する
- NSレコードを取得
- Route53にNSレコードを登録
1. Cloud DNSでサブドメインを作成する
ネットワークサービス => Cloud DNS => ゾーンの作成
上記のように、example.comがある前提で、sub.example.comを作成してしまいます。
「sub.example.comという実態がないのにここで作成していいの?」と思いますが、まずは作成で大丈夫です。
2. NSレコードを取得
そのまま作成すると以下のようにNSレコードが複数発行されます。
図でいうと4つ分をコピーします。
3. Route53にNSレコードを登録
Route53 => ホストゾーン => ドメイン名exmple.com=> レコードセットの作成 に移動します。
もちろんexmple.comはご自身がお持ちのドメイン名です。sub.exmple.comはRoute53には存在しないのでここで登録します。入力するのは赤枠で囲っている2箇所です。
上の赤枠にはsub.exmple.comのsubを入力します。
下の赤枠にはステップ2で取得したNSレコードを入力します。
そのまま作成を押すと利用できるようになります。
参考