How to Configure AWS ELB with External Domain Using Route 53: Pricing, DNS Setup, and HTTPS Considerations


4 views

When integrating an external domain (e.g., from 1&1) with AWS Elastic Load Balancer, developers face a critical architectural decision:

Current Setup:
- Domain: www.example.com (1&1)
- Infrastructure: AWS Elastic Beanstalk with ELB (example.us-west-2.elasticbeanstalk.com)

The $50/month cost applies only when using Route 53 as your domain registrar. For DNS hosting only:

  • $0.50/month per hosted zone (first 25 zones)
  • $0.40 per million queries (first 1 billion queries/month)
  • No charge for alias records pointing to AWS resources

Option 1: Using Route 53 as DNS Host

# In Route 53 hosted zone for example.com
Record Name    Type   Value
www            A      ALIAS dualstack.example-elb.us-west-2.amazonaws.com
@              MX     mail.example.com (keeps email routing)

Option 2: External DNS with CNAME

# In 1&1 DNS settings
Record Name    Type   Value
www            CNAME  example.us-west-2.elasticbeanstalk.com

The CNAME solution causes these issues:

  • Browser URL changes to the ELB endpoint
  • SSL certificate must cover both domains
  • SEO impact from changing URLs

For production environments:

1. Transfer domain to Route 53 ($12/year + $0.50/month DNS hosting)
2. Create ALIAS record pointing to ELB
3. Configure ACM certificate for www.example.com
4. Attach certificate to ELB listener

Example CloudFormation snippet for Route 53:

Resources:
  MyDNSRecord:
    Type: AWS::Route53::RecordSet
    Properties:
      HostedZoneName: example.com.
      Name: www.example.com
      Type: A
      AliasTarget:
        HostedZoneId: Z1H1FL5HABSF5
        DNSName: dualstack.my-elb-123456.us-west-2.elb.amazonaws.com

Comparing 1&1 ($10/year) vs Route 53:

Feature 1&1 Route 53
DNS Hosting Free $6/year
ALIAS Support No Yes
Integration CNAME only Native AWS
Health Checks No Yes

If keeping domain at 1&1 but using Route 53 DNS:

  1. Create hosted zone in Route 53
  2. Update nameservers at 1&1
  3. Set TTL to 300 seconds before migration
  4. Create ALIAS record as shown above

When integrating a 1&1-registered domain (e.g., www.example.com) with an AWS Elastic Beanstalk environment, we face two primary technical considerations:

  1. DNS resolution mechanics (CNAME flattening vs. ALIAS records)
  2. HTTPS certificate validation requirements

The $50/month fee applies only if you transfer your domain registration to Route 53. For DNS hosting alone:

  • Standard queries: $0.40 per million
  • Alias queries to AWS resources: Free
  • Hosted zone: $0.50/month per zone

With 1&1 DNS management, you might configure:


; 1&1 DNS Configuration
www.example.com. 3600 IN CNAME example.us-west-2.elasticbeanstalk.com.
example.com. 3600 IN A 192.0.2.1 ; Required for root domain

This presents three critical limitations:

  • The naked domain (example.com) cannot use CNAME due to RFC restrictions
  • Potential MX record conflicts for email services
  • No native support for ALIAS records at most registrars

Route 53 solves these issues with:


; Route 53 Configuration
example.com. ALIAS dualstack.example-elb.us-west-2.amazonaws.com.
www.example.com. ALIAS dualstack.example-elb.us-west-2.amazonaws.com.

Key technical benefits:

  • Root domain support via ALIAS records
  • Automatic IP address resolution (no CNAME chaining)
  • Seamless integration with ACM certificates

For budget-conscious deployments:

  1. Keep domain registration with 1&1 ($10/year)
  2. Create Route 53 hosted zone ($0.50/month)
  3. Update 1&1 nameservers to Route 53's NS records

This maintains your registrar while leveraging Route 53's advanced routing for approximately $6/year in additional costs.

When using ACM certificates with 1&1 DNS:


# AWS CLI for certificate validation
aws acm request-certificate \
  --domain-name example.com \
  --validation-method DNS \
  --subject-alternative-names www.example.com

This requires manual CNAME record creation in 1&1's interface for domain validation, whereas Route 53 offers automatic validation.