Route53 DNS服务 #

一、Route53概述 #

1.1 什么是Route53 #

Amazon Route53是AWS提供的高可用、可扩展的云DNS服务,用于域名注册、DNS解析和健康检查。

1.2 Route53特点 #

text
Route53核心特点:
├── 高可用
│   ├── 100%可用性SLA
│   └── 全球Anycast网络
│
├── 可扩展
│   └── 自动扩展处理查询
│
├── 低延迟
│   └── 全球边缘节点
│
├── 与AWS服务集成
│   ├── ELB
│   ├── CloudFront
│   └── S3
│
└── 路由策略
    ├── 简单路由
    ├── 加权路由
    ├── 延迟路由
    ├── 故障转移路由
    ├── 地理位置路由
    └── 多值应答路由

二、托管区域 #

2.1 托管区域类型 #

text
托管区域类型:
├── 公有托管区域
│   ├── 解析互联网域名
│   └── 公开可访问
│
└── 私有托管区域
    ├── 解析VPC内域名
    └── 仅VPC内可访问

2.2 创建托管区域 #

bash
aws route53 create-hosted-zone \
    --name example.com \
    --caller-reference "2024-01-01-001" \
    --hosted-zone-config Comment="My hosted zone"

2.3 NS记录 #

text
NS记录配置:
├── 创建托管区域时自动生成
├── 需要在域名注册商处配置
├── 通常有4个名称服务器
└── 示例:
    ├── ns-1234.awsdns-12.com
    ├── ns-5678.awsdns-34.net
    ├── ns-9012.awsdns-56.org
    └── ns-3456.awsdns-78.co.uk

三、记录类型 #

3.1 常用记录类型 #

类型 说明
A 将域名映射到IPv4地址
AAAA 将域名映射到IPv6地址
CNAME 将域名映射到另一个域名
MX 邮件交换记录
TXT 文本记录
NS 名称服务器记录
SOA 授权起始记录
SRV 服务记录

3.2 创建记录 #

bash
aws route53 change-resource-record-sets \
    --hosted-zone-id Z1234567890ABC \
    --change-batch '{
        "Changes": [{
            "Action": "CREATE",
            "ResourceRecordSet": {
                "Name": "www.example.com",
                "Type": "A",
                "TTL": 300,
                "ResourceRecords": [{"Value": "192.0.2.1"}]
            }
        }]
    }'

3.3 别名记录 #

text
别名记录特点:
├── Route53特有功能
├── 指向AWS资源
│   ├── ELB
│   ├── CloudFront
│   ├── S3网站
│   └── 其他Route53记录
│
├── 无额外费用
├── 自动更新IP
└── 不支持CNAME的根域名
bash
aws route53 change-resource-record-sets \
    --hosted-zone-id Z1234567890ABC \
    --change-batch '{
        "Changes": [{
            "Action": "CREATE",
            "ResourceRecordSet": {
                "Name": "example.com",
                "Type": "A",
                "AliasTarget": {
                    "HostedZoneId": Z215JYRZR1TBD5,
                    "DNSName": "my-elb-123456.us-east-1.elb.amazonaws.com",
                    "EvaluateTargetHealth": true
                }
            }
        }]
    }'

四、路由策略 #

4.1 简单路由 #

text
简单路由特点:
├── 默认路由策略
├── 单一资源
├── 无健康检查
└── 适用:单一服务器

4.2 加权路由 #

text
加权路由特点:
├── 按权重分配流量
├── 可用于A/B测试
├── 渐进式部署
└── 适用:多版本部署
json
{
    "Name": "www.example.com",
    "Type": "A",
    "SetIdentifier": "web-server-1",
    "Weight": 70,
    "ResourceRecords": [{"Value": "192.0.2.1"}]
}

4.3 延迟路由 #

text
延迟路由特点:
├── 根据延迟路由到最近区域
├── 提升用户体验
├── 需要多区域部署
└── 适用:全球应用
json
{
    "Name": "www.example.com",
    "Type": "A",
    "SetIdentifier": "us-east",
    "Region": "us-east-1",
    "ResourceRecords": [{"Value": "192.0.2.1"}]
}

4.4 故障转移路由 #

text
故障转移路由特点:
├── 主备切换
├── 需要健康检查
├── 自动故障转移
└── 适用:高可用架构
json
{
    "Name": "www.example.com",
    "Type": "A",
    "SetIdentifier": "primary",
    "Failover": "PRIMARY",
    "HealthCheckId": "12345678-1234-1234-1234-123456789012",
    "ResourceRecords": [{"Value": "192.0.2.1"}]
}

4.5 地理位置路由 #

text
地理位置路由特点:
├── 根据用户位置路由
├── 可按国家或大洲
├── 合规要求
└── 适用:本地化内容
json
{
    "Name": "www.example.com",
    "Type": "A",
    "SetIdentifier": "asia",
    "GeoLocation": {
        "ContinentCode": "AS"
    },
    "ResourceRecords": [{"Value": "192.0.2.2"}]
}

4.6 多值应答路由 #

text
多值应答路由特点:
├── 返回多个IP地址
├── 客户端随机选择
├── 支持健康检查
└── 适用:简单负载均衡

五、健康检查 #

5.1 健康检查类型 #

text
健康检查类型:
├── 端点监控
│   ├── HTTP/HTTPS
│   ├── TCP
│   └── HTTP状态码检查
│
├── 计算健康检查
│   └── 组合多个健康检查
│
└── CloudWatch告警
    └── 基于CloudWatch指标

5.2 创建健康检查 #

bash
aws route53 create-health-check \
    --caller-reference "2024-01-01-001" \
    --health-check-config '{
        "IPAddress": "192.0.2.1",
        "Port": 80,
        "Type": "HTTP",
        "ResourcePath": "/health",
        "RequestInterval": 30,
        "FailureThreshold": 3
    }'

5.3 健康检查配置 #

text
健康检查配置项:
├── 协议:HTTP/HTTPS/TCP
├── 端口
├── 路径(HTTP/HTTPS)
├── 检查间隔:10秒或30秒
├── 失败阈值:1-10次
├── 预期状态码
└── 预期响应体

5.4 健康检查监控 #

text
监控指标:
├── HealthCheckStatus
├── HealthCheckPercentageHealthy
├── ConnectionTime
├── SSLHandshakeTime
└── TimeToFirstByte

六、域名注册 #

6.1 注册域名 #

text
域名注册步骤:
├── 搜索可用域名
├── 添加到购物车
├── 配置联系人信息
├── 选择注册期限
├── 启用隐私保护(可选)
└── 完成注册

6.2 域名转移 #

text
域名转移步骤:
├── 解锁域名
├── 获取转移码
├── 在Route53发起转移
├── 确认转移
└── 等待完成(最多5天)

6.3 域名续费 #

text
域名续费:
├── 自动续费
├── 手动续费
├── 注册期限:1-10年
└── 到期提醒

七、私有DNS #

7.1 私有托管区域 #

bash
aws route53 create-hosted-zone \
    --name internal.example.com \
    --caller-reference "2024-01-01-001" \
    --vpc VPCRegion=us-east-1,VPCId=vpc-12345678 \
    --hosted-zone-config PrivateZone=true

7.2 关联VPC #

bash
aws route53 associate-vpc-with-hosted-zone \
    --hosted-zone-id Z1234567890ABC \
    --vpc VPCRegion=us-east-1,VPCId=vpc-12345678

7.3 私有DNS使用场景 #

text
私有DNS使用场景:
├── 内部服务发现
├── 微服务通信
├── 数据库访问
├── 内部API
└── 简化配置管理

八、Route53最佳实践 #

8.1 性能优化 #

text
性能建议:
├── 使用别名记录
├── 合理设置TTL
├── 使用延迟路由优化体验
├── 启用健康检查
└── 使用私有DNS减少延迟

8.2 安全建议 #

text
安全建议:
├── 启用DNSSEC
├── 使用私有DNS保护内部服务
├── 限制API访问
├── 监控异常DNS查询
└── 启用查询日志

8.3 高可用建议 #

text
高可用建议:
├── 使用故障转移路由
├── 配置健康检查
├── 多区域部署
├── 设置合理的TTL
└── 监控DNS解析状态

九、小结 #

本章介绍了Route53 DNS服务:

内容 要点
托管区域 公有和私有托管区域
记录类型 A、CNAME、MX等
路由策略 简单、加权、延迟、故障转移等
健康检查 监控端点健康状态
私有DNS VPC内域名解析

下一步学习 #

了解Route53后,接下来可以:

  1. CloudFront CDN - 学习CDN服务
  2. Web应用部署 - 实践DNS配置
  3. 安全最佳实践 - 学习安全配置
最后更新:2026-03-28