Cloud DNS へ移行する

Cloud DNS では、他の DNS プロバイダの既存の DNS ドメインを Cloud DNS に移行できます。ここでは、ドメイン用のマネージド ゾーンの作成、既存のプロバイダからの DNS 構成のエクスポート、既存の DNS 構成のインポート、登録事業者のネームサーバー レコードの記録、移行の確認を行う手順について説明します。

始める前に

  1. gcloud コマンドライン ツールをまだ使用していない場合は、gcloud SDK を設定します。

  2. プロジェクト名を指定し、Google Cloud Console で認証するために、次のコマンドを実行します。

    gcloud auth login
    

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

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

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

gcloud

サブスクリプションを作成するには、dns managed-zones create コマンドを実行します。

gcloud dns managed-zones create --dns-name=example.com.
--description=A_ZONE EXAMPLE_ZONE_NAME

次のように置き換えます。

  • example.com.: DNS 名
  • A_ZONE: ゾーンの説明
  • EXAMPLE_ZONE_NAME: DNS ゾーンを識別する名前

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

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

次に例を示します。

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

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

レコードセットを正しくインポートするには、apex レコードを削除するか、gcloud タブに記載されているフラグを使用する必要があります。

gcloud

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

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

EXAMPLE_ZONE_NAME は、DNS ゾーンの名前に置き換えます。

DNS 伝播を検証する

Cloud DNS ネームサーバーが変更を認識したことを監視して、確認するには、Linux の watch コマンドと dig コマンドを使用します。

gcloud と Linux

  1. ゾーンの Cloud DNS ネームサーバーを検索するには、dns managed-zones describe コマンドを実行します。

    gcloud dns managed-zones describe EXAMPLE_ZONE_NAME
    

    EXAMPLE_ZONE_NAME は、DNS ゾーンの名前に置き換えます。

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

    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. ネームサーバーでレコードが利用できるか確認します。

    watch dig example.com @ZONE_NAME_SERVER
    

    ZONE_NAME_SERVER は、前のコマンドから返されたネールサーバーの名前で置き換えます。

  3. 変更内容を確認したら、Ctrl+C キーを押して終了します。

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

登録事業者のネームサーバー レコードを更新する

ドメイン登録プロバイダにログインして、手順 4 で確認したネームサーバーを指すように権威ネームサーバーを変更します。このとき、登録事業者がレコードに対して設定した有効期間(TTL)をメモしておきます。これにより、新しいネームサーバーの使用開始までの時間がわかります。

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

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

dig +short NS example.com

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

watch dig +short NS example.com

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

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

次のステップ