はじめに
いきなりですが、ドメイン委譲をしたい、そんな事ありませんか?私はあります。
例えばあるプラットフォームの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レコードを入力します。
そのまま作成を押すと利用できるようになります。
参考