How do I transfer ownership of a domain or an Amazon Route 53 hosted zone to a different AWS account?

Last updated: 2022-07-19

I want to transfer ownership of a domain or Amazon Route 53 hosted zone from one AWS account to another. How can I do this?

Short description

You can transfer a domain from one AWS account to another using the TransferDomainToAnotherAwsAccount command.

Although it's a best practice to transfer a domain using an API call, you can also transfer a domain by contacting AWS Support.

If you don't own both the source and destination accounts that you're transferring the domain to and from, you must do one of the following:

  • Migrate the existing hosted zone to the AWS account that you're transferring the domain to.
  • Create a new hosted zone in an AWS account that you own.

If you don't own the account that created the hosted zone that routes traffic for the domain, you can't control how traffic is routed.


Migrate a hosted zone

Transfer a domain

Note: If you receive errors when running AWS Command Line Interface (AWS CLI) commands, make sure that you’re using the most recent AWS CLI version.

1.    Run the following command in the AWS CLI. Replace with your domain name. Replace 111122223333 with your AWS account ID.

aws route53domains transfer-domain-to-another-aws-account --domain-name --account-id 111122223333 --region us-east-1

2.    In the output, note the Password value.

3.    To accept the transfer, log in to the AWS account that is the destination account. Then, run this command. Replace with your domain name. Replace YourPassword with the password that you noted in step 2.

aws route53domains accept-domain-transfer-from-another-aws-account --domain-name --password YourPassword --region us-east-1

If you receive errors accepting the transfer, see the Troubleshoot accepting a domain section of this article.

Note: The accept-transfer command must be completed within three days of the transfer domain call. After three days, the transfer is canceled.

4.    After accepting the transfer, view the domain by accessing the Route 53 console and then choosing the Registered Domains tab.

Troubleshoot accepting a domain

If you encounter errors while accepting a transfer, it might be because the generated password contains special characters. Use a text file to accept the domain transfer.

1.    Create a .txt file containing the password generated in Step 2 of the Transfer a domain section in a simple format.

2.    Run the accept-transfer command. Enter the file name of the .txt file for password (for example, password.txt):

aws route53domains accept-domain-transfer-from-another-aws-account --domain-name <domain name> --password file:///tmp/password.txt

Did this article help?

Do you need billing or technical support?