[アップデート] Route 53 がAPIによるAWSアカウント間のドメイン移管をサポートしました!

AWSアカウント間のドメイン移管をチケットなしで実施できるようになりました。
2020.04.22

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Amazon Route 53 において、APIによるAWSアカウント間ドメイン移管がサポートされました。 Amazon Route 53 supports Domain Name Transfer between AWS accounts

チケット起票が不要に!

AWSアカウント間ドメイン移管は従前から可能でした。ただし、サポートチケットを起票しAWSに作業を依頼する必要がありました。 この度のアップデートはドメイン移管のためのAPIを追加したものであり、これを利用することでサポートチケットの起票が不要になります。

サポートチケット経由のドメイン移管作業も引き続き実施できます。 起票の手順については下記ドキュメントをご参照ください。 異なる AWS アカウントへのドメインの移管

やってみた

Account Aの Route 53 で取得したドメインXをAccount Bに移管してみます。 Account Aからドメイン移管のリクエストを送信した後、Account Bにて当該リクエストを承認することで移管が実行されます。

ドメイン移管のリクエスト

使用するAPIは TransferDomainToAnotherAwsAccount です。 今回は Boto 3 を使用して試してみます。

Account Aにおいて下記のコードを実行します。

transfer_domain.py

import boto3

client = boto3.client('route53domains', region_name='us-east-1') # Route 53 はグローバルサービスであるため、`region_name`には`us-east-1`を指定する
response = client.transfer_domain_to_another_aws_account(
    DomainName='<移管対象のドメイン名>',
    AccountId='<移管対象のアカウントID(12桁)>'
)
print(response)

問題がなければ下記のようなレスポンスが表示されます。

{'OperationId': 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx', 'Password': '<PASSWORD>', 'ResponseMetadata': {'RequestId': 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'yyyyyyyy-yyyy-yyyy-yyyy-yyyy', 'content-type': 'application/x-amz-json-1.1', 'content-length': '84', 'date': 'Wed, 22 Apr 2020 07:08:08 GMT'}, 'RetryAttempts': 0}}

レスポンスに含まれるPASSWORDがリクエスト承認時に必要になるため控えておきます。

ドメイン移管の承認

使用するAPIは AcceptDomainTransferFromAnotherAwsAccount です。

Account Bにおいて下記のコードを実行します。

accept_transfer.py

import boto3

client = boto3.client('route53domains', region_name='us-east-1')
response = client.accept_domain_transfer_from_another_aws_account(
    DomainName='<移管対象のドメイン名>',
    Password='<PASSWORD>'
)

確認

マネジメントコンソールからAPI実行後の様子を確認してみます。

Account A側

ドメインの移管が成功した旨が表示されます。

また、登録済みドメインの一覧からドメインXがなくなっています。

Account B側

登録済みドメイン一覧にドメインXが存在しています。 ドメイン移管ができたことを確認できました。

ホストゾーンに関する注意点

上述の操作によって実行されるのはドメイン移管のみであり、ホストゾーンも移行したい場合は別の手順を踏む必要があります。 詳細については下記ドキュメントをご参照ください。 別の AWS アカウントへのホストゾーンの移行

終わりに

このブログがほんの少しでも世界を良くできれば嬉しいです。 コンサルティング部の西野(@xiyegen)がお送りしました。