I want to transfer ownership of a domain or Amazon Route 53 hosted zone from one AWS account to another.
Short description
You can transfer a domain from one AWS account to another in two different ways:
It's a best practice to use one of these two methods to transfer a domain. If you can't transfer a domain, then contact AWS Support to transfer a domain.
If you don't own both the source and destination accounts for the domain transfer, then take one of the following actions:
- Migrate the hosted zone to the AWS account that you want to transfer 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, then you can't control how traffic is routed.
Resolution
Migrate a hosted zone
To migrate a hosted zone to a different AWS account, complete the steps in Migrating a hosted zone to a different AWS account.
Use the Route 53 console to transfer a domain
Complete the following steps:
- From the account that owns the domain, open the Amazon Route 53 console.
- In the navigation pane, under Domains, choose Registered domains.
- On the Registered domains screen, choose the domain that you want to transfer to a different account.
- On the domain details screen, choose Transfer out, and then choose Transfer to another AWS account.
- Enter the account ID for the AWS account that you want to transfer the domain to. Then, choose Confirm. Note the password that appears because you use it later.
- From the account that receives the domain, open the Amazon Route 53 console.
- In the navigation pane, under Domains, choose Registered domains.
- On the Registered domains screen, choose Transfer in, and then choose Single domain.
- On the Transfer domain to your account screen, enter the following information:
For Enter a domain name to transfer, enter the domain that you want to transfer to a new account.
For Password, enter the password that you received from the other account.
- Choose Transfer domain.
Use the AWS CLI to transfer a domain
Note: If you receive errors when you run AWS CLI commands, then see Troubleshoot AWS CLI errors. Also, make sure that you're using the most recent AWS CLI version.
Complete the following steps:
- To transfer your domain, run this command in the AWS CLI:
aws route53domains transfer-domain-to-another-aws-account --domain-name example.com --account-id 111122223333 --region us-east-1
Note: Replace example.com with the domain name. Replace 111122223333 with the AWS account ID that you want to transfer the domain to. Note the password that appears in the output because you use it later.
- Log in to the AWS account that receives the domain.
- To accept the transfer, run this command:
aws route53domains accept-domain-transfer-from-another-aws-account --domain-name example.com --password YourPassword --region us-east-1
Note: Replace example.com with the domain name. Replace YourPassword with the password from the previous step.
If you don't accept the transfer domain call within three days, then the transfer is canceled.
Accept a domain
If you encounter errors when you accept a transfer, then the generated password contains special characters. To troubleshoot issues with special characters, complete the steps in one of the following options:
Use a text file to accept the domain transfer
Complete the following steps:
- Create a .txt file that contains the password from the transfer-domain-to-another-aws-account command.
- Run the accept-transfer command:
aws route53domains accept-domain-transfer-from-another-aws-account --domain-name <domain name> --password file:///tmp/password.txt --region us-east-1
Note: Replace domain name with your domain, and replace password.txt with the name of your .txt file. Replace us-east-1 with the AWS Region for your domain.
Use quotation marks around the password strings
Use single or double quotation marks around your password to allow the AWS CLI to recognize special characters.
The following example uses double quotation marks:
aws route53domains accept-domain-transfer-from-another-aws-account --domain-name example.com --password "YourPassword" --region us-east-1
The following example uses single quotation marks:
aws route53domains accept-domain-transfer-from-another-aws-account --domain-name example.com --password 'YourPassword' --region us-east-1
Related information
Transferring a domain to a different AWS account