Route 53で登録した自分のドメインを、別のAWSアカウントへ移管する必要が生じました。 この方法については、異なる AWS アカウントへのドメインの移管で紹介されています。
今回は、AWS CLIを利用して移管を実施しました。マネジメントコンソールからは実行できないようです。
手順
大まかな流れは、以下の通りです。シンプルですね。
- 移行元アカウントから、移管リクエスト
- 移行先アカウントにて、移管リクエストを受諾
$ aws --version aws-cli/2.8.3 Python/3.10.8 Darwin/22.4.0 source/arm64 prompt/off
移管リクエストの実行
まずは、移行元のアカウントから移管リクエストを行います。このためには、transfer-domain-to-another-aws-account
を実行します。
この結果として、OperationIdとパスワードが返却されます。
$ aws route53domains transfer-domain-to-another-aws-account \ --region us-east-1 \ --domain-name example.com \ --account-id xxxxxxxxxxxx { "OperationId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "Password": "xxxxxxxxxxxx" }
OperationIdは、今回のリクエストに対する一意識別子で、get-operation-detail
によって、当該リクエストの状況の問い合わせができます。
$ aws route53domains get-operation-detail \ --region us-east-1 \ --operation-id "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" { "OperationId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "Status": "SUCCESSFUL", "DomainName": "example.com", "Type": "DOMAIN_LOCK", "SubmittedDate": "2023-04-23T12:34:49.088000+09:00" }
パスワードは、次に行う「リクエストの受諾」時に必要なパラメータです。
移管リクエストの受諾
移管リクエストの受諾は、移管先のアカウントで行います。アクセスキー等を間違えないようにしましょう。
--password
の引数は、先ほどのtransfer-domain-to-another-aws-account
のレスポンスに含まれるパスワードです。
$ aws route53domains accept-domain-transfer-from-another-aws-account \ --region us-east-1 \ --domain-name example.com \ --password "xxxxxxxxxxxxx" { "OperationId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" }
これで移管が完了します。ちゃんと移行ができているようですね。
$ aws route53domains list-domains --region us-east-1 { "Domains": [ { "DomainName": "example.com", "AutoRenew": true, "TransferLock": false, "Expiry": "2023-11-14T15:04:45+09:00" } ] }