Google Cloud DNSへの移行手順

Google Cloudにも Cloud DNSがあり、DNSサーバーをホスト可能です。

Let’s Encryptのワイルドカード証明書取得のためのCertbotプラグインもCloud DNSをサポートしています。

Cloud DNSの設定

まず、Google Cloud DNS上に既存のDNS情報(ドメインとIPアドレスの組み合わせ)を再現します。

Cloud DNSは Google Cloudコンソールで設定可能です(ネットワークサービス -> Cloud DNS)。

ゾーン作成

対象ドメイン(example.comなど)を指定してゾーンを作成します。

レコードセットを追加

既存のDNS設定を参照して、Aレコード・MXレコード・CNAMEレコードなど、使用しているドメイン設定をすべてGoogle Cloud DNSのレコードセット設定に記載します。

  • ルートドメインの設定に@を指定する必要はない
  • ドメイン文字列には、基本的に末尾のピリオドも必要
  • TXTレコードでスペースの含まれた文字列はダブルクオートで囲む必要あり
  • TTLは切り替えを反映する時間のため、動作確認がとれてから長い時間に変更すると安全

ネームサーバー変更

レジストラ(ドメインを購入したサービス)の管理画面で、ネームサーバー変更操作を行います。

ネームサーバーに記載すべきドメイン文字列は、Google Cloudのコンソール画面に掲載されているものをそのまま書き写します。

Google Cloud DNSのNSサーバーはゾーンごとに異なり、ns-cloud-x1.googledomains.com.のようなアドレスが割り当てられます。

  • 複数のレコードが掲載されており、すべて書き写す
  • 基本的に末尾のピリオドも必要

なお、実際のネームサーバー切り替えタイミングは即時ではありません。既存のTTL設定しだいで時間がかかります。

DNSの状態確認

MacOSやLinuxを利用していれば、ターミナルからdigコマンドで現在のDNS設定値を確認できます。

たとえば、dig @8.8.8.8 ns example.com というコマンドではネームサーバーを調べます。8.8.8.8はGoogleのPublic DNS上の掲載情報を参照しています。

ただし、digはあるDNSサーバーに問い合わせているだけなので、このコマンドで期待する結果になったとしてもDNS全般が新しい設定に切り替わるまで、なお時間がかかる可能性があることには注意しましょう。

既存ネームサーバーの削除

ネームサーバーが安定的にCloudDNSを参照している状態になれば、既存のネームサーバーを削除できます。

既存のネームサーバーは参照されない状態になるため、もともと追加コストがかかっていないサービス(レジストラの付帯サービスを利用していた場合など)であればあわてて削除しなくても特に問題はありません。

中馬崇尋
Chuma Takahiro