📝

Route 53でドメインを別アカウントに移管してみた

2021/08/22に公開

以前管理用アカウントのRoute 53でドメインを取得したのですが、検証用アカウントに移管したいと思ったので、記録を残しつつやってみました。

動画

https://youtu.be/WTMBd2ku7h4

前提

・Route 53でドメインを取得している
・移管元アカウントと移管先アカウントがある

ドメインの移管

以下の記事を参考に進めてみました。
Route 53で登録・購入したドメインを他のAWSアカウントに移管する手順 | DevelopersIO

今回は、移管元アカウントと移管先アカウントを以下のように記載しています。
・移管元アカウント:Master
・移管先アカウント:study

Masterでの移管申請

まずは、Masterでドメインを確認します。

「移管のロック」が無効になっていることを確認します。

CloudShellを開きます。
今回はAdministratorAccessを付与したユーザーで操作します。

以下のコマンドを実行します。

aws route53domains transfer-domain-to-another-aws-account --domain-name <ドメイン名> --account-id <移管先アカウントID> --region us-east-1

以下の戻り値が表示されます。

{
    "OperationId": "xxxxxxxxxx",
    "Password": "xxxxx"
}

Passwordの値は後で別のコマンドで使用するので控えておきます。

Route 53で「保留中のリクエスト」を確認すると、「ドメイン移管が進行中」となっており、リクエストされていることが分かります。

studyでの移管承認

続いて移管先アカウントであるstudyで移管リクエストを承認します。
studyでCloudShellを開きます。
こちらでもAdministratorAccessを付与したユーザー(正確にはロール)を使用しています。

以下のコマンドを実行しましたが、エラーとなりました。

aws route53domains accept-domain-transfer-from-another-aws-account --domain-name wtankm87.com --password <Masterで表示されたパスワード> --region us-east-1
An error occurred (InvalidInput) when calling the AcceptDomainTransferFromAnotherAwsAccount operation: Password is incorrect.

どうやらパスワードはダブルクォーテーション("")で囲む必要があったようです。

コマンドを修正し、再度実行します。

aws route53domains accept-domain-transfer-from-another-aws-account --domain-name wtankm87.com --password "<Masterで表示されたパスワード>" --region us-east-1

今度は成功しました。

成功すると、以下の戻り値が表示されます。

{
    "OperationId": "xxxxxxxxxx",
}

studyアカウントのRoute 53で「登録済みドメイン」を確認すると、ドメインが移管されて登録されていることが確認できます。

これでドメインの移管は完了です!
使用したコマンドは2つだけだったので、簡単でした。

ホストゾーンの移管

ついでなので、ホストゾーンも移管してみました。
studyでホストゾーンを作成します。

ドメイン名を入力し、デフォルトの「パブリックホストゾーン」が選択された状態で、「ホストゾーンの作成」をクリックします。

これでstudy側にもホストゾーンができました。
この後、移管したドメインのNSの値を変更するので、NSの値を控えておきます。

ドメインの画面に移動します。

この段階ではNSの値が移管元のMasterを向いているので、「ネームサーバーの追加/編集」をクリックして値を更新します。

先ほど控えておいた新しいホストゾーンのNSの値に更新します。

「保留中のリクエスト」を確認すると、「ネームサーバーの更新が進行中」となっていることが分かります。

更新が完了すると、以下のメールが届きます。

最後に以下のサイトでdigコマンドを使用してNSが更新されているか確認します。
nslookup(dig)テスト【DNSサーバ接続確認】

ドメイン名を入力し、オプションで「NS」を選択してから「dig実行」をクリックします。

ANSWER SECTIONのNSの値が新しいホストゾーンのNSに更新されていれば移管完了です。

注意点

今回は移管元のホストゾーンにデフォルトのNSとSOAのレコードのみだったので簡単に移管できましたが、その他のレコードがある場合には、レコードを出力してからインポートなどの方法もあるようです。
また、古いホストゾーンが不要な場合は削除することもできますので、それぞれについて、詳しくは公式ドキュメントをご覧ください。

まとめ

今回はRoute 53でドメインを別アカウントに移管し、ついでにホストゾーンも移管してみました。
ドメインの移管自体はコマンド2つだけで簡単でしたし、レコードも少なかったので、ホストゾーンの移管も簡単にできました。
移管はサポートに依頼する方法もあるようですので、詳しくは公式ドキュメントをご覧ください。

参考になれば幸いです。

Discussion