How to Transfer a Domain from GoDaddy (or Any Registrar) to Route 53
You bought a domain on GoDaddy, but your infrastructure lives in AWS — managing DNS in two separate consoles is friction you don't need. Transferring your domain to Route 53 consolidates registrar and DNS management under one roof, enabling tighter IAM-based access control and unified billing.
TL;DR
| Step | Action | Who Does It |
|---|---|---|
| 1 | Unlock domain & disable privacy at current registrar | You (GoDaddy console) |
| 2 | Get the Authorization (EPP/Auth) Code | You (GoDaddy console) |
| 3 | Initiate transfer in Route 53 | You (AWS Console / CLI) |
| 4 | Confirm transfer via email | You (email from ICANN/registrar) |
| 5 | Wait for transfer completion (up to 10 days) | Registrars + ICANN |
| 6 | Verify hosted zone & DNS records | You (Route 53 console) |
Prerequisites & Key Rules
- 60-day lock rule: ICANN prohibits transferring a domain that was registered or previously transferred within the last 60 days.
- Domain must be unlocked: The registrar-lock (also called transfer lock) must be disabled at GoDaddy before initiating the transfer.
- Valid WHOIS email: The registrant email on file must be reachable — ICANN sends a confirmation email to this address.
- TLD support: Not all top-level domains (TLDs) can be transferred to Route 53. Verify your TLD is supported in the Route 53 TLD reference.
- Fee: Route 53 charges a transfer fee (which includes a 1-year registration extension). The exact price varies by TLD — always check the Route 53 domain pricing page for current rates.
Analogy: Think of this like porting your mobile number to a new carrier. You need to unlock your account, get a transfer PIN (Auth Code), and the new carrier (Route 53) handles the rest — but the number (domain) keeps working throughout.
Transfer Flow: Architecture Overview
sequenceDiagram
participant You
participant GoDaddy
participant Route53
participant ICANN
You->>GoDaddy: Unlock domain and get Auth Code
GoDaddy-->>You: Auth Code via email
You->>Route53: Submit transfer request with Auth Code
Route53->>ICANN: Notify transfer initiated
ICANN-->>You: Send confirmation email
You->>ICANN: Approve transfer
ICANN->>GoDaddy: Request release
GoDaddy-->>Route53: Release domain (auto after 5 days)
Route53-->>You: Transfer complete notification
- GoDaddy (Losing Registrar): You unlock the domain and retrieve the EPP/Auth Code from the GoDaddy dashboard.
- Route 53 (Gaining Registrar): You submit the transfer request with the Auth Code via the AWS Console or CLI.
- ICANN Confirmation: An automated email is sent to the registrant email address. You must approve the transfer.
- GoDaddy Approval Window: GoDaddy has up to 5 days to approve or reject. If no action is taken, it auto-approves.
- Transfer Complete: Route 53 becomes the authoritative registrar. A hosted zone is created (or linked) for DNS management.
Step-by-Step: Detailed Implementation
Step 1 — Unlock the Domain at GoDaddy
- Log in to your GoDaddy account.
- Navigate to My Products → Domains.
- Select your domain → click Domain Settings.
- Under Additional Settings, disable Domain Lock.
- If WHOIS Privacy is enabled, temporarily disable it so the registrant email is visible and reachable.
Step 2 — Get the Authorization (EPP) Code
- In GoDaddy Domain Settings, click Get authorization code. GoDaddy emails this code to the registrant address.
- Keep this code ready — it expires and is single-use.
Step 3 — Initiate Transfer in Route 53 (Console)
- Open the Route 53 console.
- In the left nav, choose Registered domains → Transfer domain.
- Enter your domain name and click Check.
- If the domain is eligible, click Add to cart → Continue.
- Enter the Authorization code from Step 2.
- Review or update registrant contact details.
- Choose whether to auto-renew and enable privacy protection.
- Complete the purchase — Route 53 charges the transfer fee to your AWS account.
Step 3 (Alternative) — Initiate Transfer via AWS CLI
🔽 [Click to expand] AWS CLI: Transfer Domain
# Transfer a domain to Route 53 using the CLI
# Replace all placeholder values before running
aws route53domains transfer-domain \
--region us-east-1 \
--domain-name "example.com" \
--duration-in-years 1 \
--auth-code "YOUR_EPP_AUTH_CODE" \
--auto-renew \
--admin-contact file://contact.json \
--registrant-contact file://contact.json \
--tech-contact file://contact.json \
--privacy-protect-admin-contact \
--privacy-protect-registrant-contact \
--privacy-protect-tech-contact
Note: Route 53 domain registration APIs are only available in the us-east-1 region, regardless of where your other resources reside.
// contact.json — sample registrant contact structure
{
"FirstName": "Jane",
"LastName": "Doe",
"ContactType": "PERSON",
"OrganizationName": "Example Corp",
"AddressLine1": "123 Main St",
"City": "Seattle",
"State": "WA",
"CountryCode": "US",
"ZipCode": "98101",
"PhoneNumber": "+1.2065550100",
"Email": "jane@example.com"
}
Step 4 — Confirm the Transfer via Email
- Check the registrant email inbox for a confirmation email from either ICANN or Route 53.
- Click the confirmation link within the specified window (typically 5–7 days, but act promptly).
- Failure to confirm will cause the transfer to be cancelled automatically.
Step 5 — Monitor Transfer Status
# Check transfer status via CLI
aws route53domains get-domain-detail \
--region us-east-1 \
--domain-name "example.com"
# Or list all operations to find your transfer operation ID
aws route53domains list-operations \
--region us-east-1
Transfer typically completes within 5–10 days. You can also monitor status in the Route 53 console under Registered domains → Pending requests.
Step 6 — Verify Hosted Zone & DNS Records
- Route 53 automatically creates a public hosted zone for your domain upon transfer completion.
- Critically: DNS records are NOT automatically migrated from GoDaddy. You must manually recreate your A, CNAME, MX, TXT, and other records in the new hosted zone.
- Before the transfer completes, export your existing DNS records from GoDaddy and pre-populate the Route 53 hosted zone to minimize downtime.
- After transfer, verify the NS records in Route 53 match the nameservers now listed in the WHOIS for your domain.
DNS Record Migration Strategy (Zero-Downtime)
graph LR
A[Export DNS from GoDaddy] --> B[Create Hosted Zone in Route 53]
B --> C[Replicate all DNS Records]
C --> D[Lower TTLs at GoDaddy]
D --> E[Initiate Domain Transfer]
E --> F[Transfer Completes]
F --> G[Route 53 NS becomes Authoritative]
G --> H[Restore TTLs to Normal]
- Export DNS records from GoDaddy before initiating the transfer.
- Create a hosted zone in Route 53 and replicate all records.
- Lower TTLs on critical records at GoDaddy (e.g., to 60 seconds) 24–48 hours before transfer.
- Once the transfer completes and Route 53 nameservers are authoritative, your pre-populated records serve traffic immediately.
- Restore TTLs to normal values (e.g., 300–3600 seconds) after confirming resolution.
IAM Permissions Required
The IAM principal initiating the transfer needs the following minimum permissions. Route 53 domain registration is a global service but its API endpoint is in us-east-1.
🔽 [Click to expand] IAM Policy: Route 53 Domain Transfer
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowDomainTransfer",
"Effect": "Allow",
"Action": [
"route53domains:TransferDomain",
"route53domains:GetDomainDetail",
"route53domains:ListOperations",
"route53domains:CheckDomainTransferability"
],
"Resource": "*"
},
{
"Sid": "AllowHostedZoneManagement",
"Effect": "Allow",
"Action": [
"route53:CreateHostedZone",
"route53:ChangeResourceRecordSets",
"route53:ListResourceRecordSets",
"route53:GetHostedZone"
],
"Resource": "*"
}
]
}
Common Pitfalls & How to Avoid Them
| Pitfall | Impact | Prevention |
|---|---|---|
| Not pre-populating DNS records in Route 53 | DNS outage after transfer | Replicate records before transfer completes |
| Registrant email unreachable | Transfer confirmation fails, auto-cancelled | Verify email access before starting |
| Domain transferred within last 60 days | Transfer blocked by ICANN policy | Check registration date first |
| Unsupported TLD | Route 53 rejects the transfer | Check TLD support list before initiating |
| High TTLs on DNS records | Slow propagation after cutover | Lower TTLs 24–48 hrs before transfer |
Glossary
| Term | Definition |
|---|---|
| EPP/Auth Code | Extensible Provisioning Protocol authorization code — a secret token required to authorize a domain transfer between registrars. |
| Registrar Lock | A security flag set by the registrar that prevents unauthorized transfers. Must be disabled before initiating a transfer. |
| Hosted Zone | A Route 53 container for DNS records for a specific domain. Created automatically upon transfer completion. |
| TTL (Time to Live) | The duration (in seconds) that DNS resolvers cache a record. Lower TTLs reduce propagation delay during cutover. |
| ICANN | Internet Corporation for Assigned Names and Numbers — the governing body that mandates transfer confirmation policies. |
Next Steps
- 📖 Official AWS Docs: Transferring a Domain to Route 53
- 💰 Check current transfer fees on the Route 53 Pricing Page — fees vary by TLD and include a 1-year renewal.
- 🔒 After transfer, enable DNSSEC in Route 53 for cryptographic domain validation.
- 🔔 Set up Route 53 domain expiry notifications via EventBridge to avoid accidental expiration.
Comments
Post a Comment