Alibaba Cloud DNS を日本サイトから国際サイトへ移行する、そして問題を起こす

このブログのドメイン “bigriver.jp” は 日本サイト契約の Alibaba Cloud DNS が権威サーバとなっています。 日本サイトは国際サイトへ移行が必要となるのですが、2つの国際アカウント契約で片方にはDNS、もう片方にはECSインスタンスとバラバラに管理、課金するよりは一本化することにしました。

最初に考えた全体の流れは以下の通り。

  1. 国際サイトの Alibaba Cloud DNS を購入
  2. 国際サイトの Alibaba Cloud DNS に bigriver.jp ゾーンを追加
  3. 国際サイトの Alibaba Cloud DNS に既存のレコード(A,TXT,MXなど)をコピー
  4. レジストラ側で NS で指定する権威サーバを元々の日本サイトのAlibaba Cloud DNS から 国際サイトの Alibaba Cloud DNS へ変更

ただ、実施する前から上記の手順で成功するかは不安があります。 例えば、Alibaba Cloud DNS 自体は国際サイトも日本サイトも中身は同じなので、同じドメイン名で登録できるのか? また、レジストラ側で指定する Albaba Cloud DNS の権威サーバ自体は国際サイトも日本サイトも同じものなので上記の④の手順を実施することなく①②③だけで移行は完了する可能性もあります。 

何にせよやってみることにします。

まず移行作業を始める前にレジストラ側の登録情報を確認します。 お名前.com の管理画面では bigriver.jp のネームサーバは “vip8.alidns.com” と “vip7.alidns.com” です。 このネームサーバは日本サイトの Alibaba Cloud DNS も 国際サイトの Alibaba Cloud DNS も同じです。 この時点で切り替え出来るかどうか不安がより一層つのります。 国際サイト側のDNSインスタンスを登録した時点(レコードは空っぽ)でDNSの問い合わせが来てしまう不安です。

次にAlibaba Cloud DNS のインスタンスを作成し、有償パッケージを適用していきます。

まずは Alibaba Cloud DNS > Manage DNS から “Add DNS Domain” をクリックします。

ここに”bigriver.jp” を入力し、OKをクリックします。

ここで冒頭の不安が現実化していきます。 同じドメイン名を他のユーザが既につかっているとのこと。 他のユーザは私ですが日本サイトのアカウントなので 国際サイトの Alibaba Cloud からすれば別のユーザに見えるのも仕方がないです。

なお、課題の解決方法も提示されています。”Retrieve domain name” のリンクをクリックします。 日本サイトの Alibaba Cloud DNS に 以下のTXT レコードを作成しましょうとのこと。 

日本サイトの Alibaba Cloud コンソールにログインし、DNS 管理画面にアクセスします。

ここで国際サイト側で指示のあった TXT レコードを作成します。

国際サイト側では “After adding the TXT record, click OK. Once the verification is successful, you will receive an email.” とのことだったので、メールを待ちます。

ここで問題が起きてしまいます。 上記のRetreive を行ったタイミングで日本サイト側のAlibaba Cloud DNS で “bigriver.jp” ゾーンの DNS インスタンスが管理出来なくなりました。 つまり、国際サイト側の Alibaba Cloud DNS に切り替わってしまったということです。 問題は、既存のDNS レコードを移行する前に空っぽの状態で切り替わってしまったこと。 結果、このブログサイトにアクセスできない状況に。他にも G Suite (Google Workspace)やMicrosoft 365 (Exchange Online) のMXレコードやドメインチェックのレコードがなくなったため利用出来ない状態に。

とりあえず、このブログのグローバルIPアドレスのAレコードを国際サイトのAlibaba Cloud DNS に登録することでブラウザへのアクセスは回復しました。 あとは Microsoft 365 と G Suite のMXやTXTレコードなどの復旧が必要です。

やっかいなのは日本サイト側の Alibaba Cloud DNS で以前のレコードを確認出来なくなってしまっています。 Microsoft 365 や G Suite の管理画面にアクセスして再度必要なTXTレコードの情報を確認し、手動で登録していく必要があります。

まずは Google から復旧。 レコードを5つ登録。

Google の Admin コンソールで 確認処理を実行します。

これで復旧です。

次は Microsoft 365 です。 ドメインの状態で問題があるとレポートされています。

”DNS レコードの一部が正しく設定されていないため”とのこと。 これを書いている時点で 新しい DNS サーバには Microsoft 365 に関するレコードは1つもないのでそのとおりです。

以下の3つのレコードの登録が必要で、それが未登録のためエラーとなります。

Alibaba Cloud DNS に指定の3つのレコードを追加します。

再度、Microsoft 365 側で確認します。 エラーは解消されました。

とりあえず、このブログのA レコードと G Suite (今は Google workspace に変わったのかな)、Microsoft 365 までのレコードの復旧は終わりました。 ただ、他にどんなレコードを登録していたかわからない・・・。 20個以上30個以下のレコード数はあり、そのうち先日テストした Alibaba Cloud Mail 用のものだったり、ゴミもあるとは思うのですが必要なものが移行出来ていない可能性もあり。 DNSレコードのバックアップを怠った自分に反省です。

今回の経緯を踏まえて、日本サイトの Alibaba Cloud DNS から国際サイトの Alibaba Cloud DNS へ同じレコードを移行する流れは以下になります。 ③と④の間は少なからずDNS応答を返せない時間帯が発生します。 まあ、日本サイトから国際サイトへDNSを移行するのはとてもレアケース、私くらいしかいないのでは、だとは思います。

  1. 日本サイトの Alibaba Cloud DNS のレコードをバックアップ(手動でも、コンソールからファイルエクスポートでも)
  2. 国際サイトの Alibaba Cloud DNS を購入
  3. 国際サイトの Alibaba Cloud DNS に bigriver.jp ゾーンを追加
  4. 日本サイトの Alibaba Cloud DNS にRetrive 用の TXT レコードを追加
  5. 国際サイトの Alibaba Cloud DNS に既存のレコード(A,TXT,MXなど)を追加

結果的には30分位で復旧出来ました。 個人環境だから許されますが、まあ、お客様環境であれば事前にテスト環境を作って手順を確認するので大丈夫でしょう。 

以上