Cloud DNS への移行

Cloud DNS では、他の DNS プロバイダの既存の DNS ドメインを Cloud DNS に移行できます。このページでは、移行を完了するうえで必要となる手順について説明します(ドメイン用のマネージド ゾーンの作成、既存の DNS 構成のインポート、レジストラのネームサービス レコードの更新)。

始める前に

gcloud コマンドライン ツールを初めて使用する場合は、gcloud SDK を設定します。

次のコマンドを実行してプロジェクト名を指定し、Cloud Console で認証を行います。

gcloud auth login

また、コマンドに --project パラメータを指定すると、さまざまなプロジェクトを呼び出してコマンドを実行できます。

マネージド ゾーンを作成する

既存のドメインを移行するには、まず、DNS レコードを格納するマネージド ゾーンを作成します。ゾーンを作成しても、ドメイン登録を更新するか、明示的にリゾルバをポイントするか、ゾーンのネームサーバーの 1 つに直接クエリを実行するまで、新しいゾーンは使用できません。

ゾーンを作成するには、DNS ゾーン名、説明、ゾーンを識別するための名前を指定します。

gcloud dns managed-zones create --dns-name="example.com." --description="A zone" "examplezonename"

既存のプロバイダから DNS 構成をエクスポートする

ゾーンファイルのエクスポート方法については、プロバイダのドキュメントをご覧ください。Cloud DNS は、BIND または YAML レコード形式のゾーンファイルのインポートをサポートしています。

例:

  • Dyn の場合は、Download Your Zone File(英語)をご覧ください。
  • AWS Route 53 は、エクスポートをサポートしていません。代わりに、オープンソースの cli53 ツールを利用できます。

レコードセットをインポートする

他のプロバイダからファイルをエクスポートしたら、gcloud dns record-sets import コマンドを使用してマネージド ゾーンにインポートします。

レコードセットをインポートするには、dns record-sets import コマンドを実行します。--zone-file-format フラグは、import に BIND ゾーン形式のファイルが想定されていることを伝えます。このフラグを省略すると、import は YAML 形式のレコード ファイルを想定します。

gcloud dns record-sets import -z=examplezonename --zone-file-format path-to-example-zone-file

DNS 伝播を検証する

Linux の watch コマンドと dig コマンドを使用して、Cloud DNS ネームサーバーによってピックアップされた変更のモニタリングと確認を行えます。

  1. ゾーンの Cloud DNS ネームサーバーをルックアップします。

    gcloud dns managed-zones describe examplezonename
    

    出力は次のようになります。

    nameServers:
    - ns-cloud-a1.googledomains.com.
    - ns-cloud-a2.googledomains.com.
    - ns-cloud-a3.googledomains.com.
    - ns-cloud-a4.googledomains.com.

    出力で、名前の「ns-cloud-」部分に続く文字はネームサーバーのシャードといいます。ここにに記載されているように、シャードには 5 種類があります(A~E)。

  2. ネームサーバーでレコードが利用できるか確認します。your_zone_nameserver は、前のコマンドから返されたネールサーバーの名前で置き換えます。

    watch dig example.com @your_zone_nameserver
    
  3. 変更内容を確認したら、Ctrl-C キーを押して終了します。

watch コマンドは、デフォルトでは 2 秒ごとに dig コマンドを実行します。権威ネームサーバーはユーザーが加えた変更を 120 秒以内にピックアップしますが、このコマンドを使用すれば実際に変更がピックアップされたタイミングを知ることができます。

レジストラのネームサーバー レコードを更新する

レジストラ プロバイダにログインして、前のステップで表示されたネームサーバーをポイントするようにネームサーバー レコードを変更します。このとき、レジストラがレコードに対して設定している有効期間(TTL)をメモしておきます。これにより、新しいネームサーバーの使用開始までの時間がわかります。

変更が適用されるのを待ち、検証する

インターネット上のドメインの権威ネームサーバーを取得するには、次の Linux コマンドを実行します。

dig +short NS example.com

すべての変更内容が伝播していることがこの出力結果に示されていれば、完了です。変更内容が伝播していない場合、ネームサーバーが変更されるまで、定期的に確認するか、コマンドを 2 秒ごとに自動実行します。自動実行する場合、次のコマンドを実行します。

watch dig +short NS example.com

Ctrl-C はコマンドを終了します。

Linux を使用していない場合は、nslookup コマンドを使用します。

次のステップ