我想为 AWS 托管的服务创建自定义 DNS 记录,我想知道要使用哪种类型的别名记录。
简述
Amazon Route 53 别名记录在内部映射到别名目标(例如 AWS 资源)的 DNS 名称。Route 53 监控与别名目标的 DNS 名称关联的 IP 地址,以便系统进行扩缩操作和软件更新。Route 53 名称服务器使用别名目标 IP 地址的 A 记录(IPv4 地址)或 AAAA 记录(IPv6 地址)进行响应。
解决方案
创建别名记录
在 Route 53 控制台中创建您的记录,并为别名记录指定必要的值。
请务必为您指向的服务中的 IP 地址使用正确的 DNS 记录类型:
- Amazon CloudFront 分配: A 记录(IPv4)或 AAAA 记录(IPv6)
- AWS Elastic Beanstalk 环境: A 记录(IPv4)
- 弹性负载均衡负载均衡器: A 记录(IPv4)或 AAAA 记录(IPv6)
- Amazon Simple Storage Service(Amazon S3)桶: A 记录(IPv4)
- Amazon API Gateway 自定义区域 API 和边缘优化 API: A 记录(IPv4)
- Amazon VPC 接口端点: A 记录(IPv4)
- AWS Global Accelerator: A 记录(IPv4)
- AWS AppSync: A 记录(IPv4)
- AWS App Runner: A 记录(IPv4)
- 同一托管区中的另一条 Route 53 记录
**注意:**某些服务要求您在创建记录之前设置一个自定义 DNS 名称。这些服务包括 Amazon API Gateway 和 Amazon CloudFront。
CNAME 支持
只有当记录类型匹配时,Route 53 才会依照别名记录中的指针进行解析。要为 CNAME 记录创建别名记录,别名目标必须解析为 CNAME 值。
如果您创建的 CNAME(ALIAS) 记录无效,那么 Route 53 将无法解析端点的 IP 地址。作为结果,Route 53 将返回 SERVFAIL/REFUSED RCODE 错误。
有效的 CNAME(ALIAS) 记录
| | |
---|
名称 | 类型 | 值 |
cname.example.com. | CNAME(ALIAS) | cname1.example.com. |
cname1.example.com. | CNAME | abc.example.net. |
abc.example.net. | A | 203.0.113.1 |
无效的 CNAME(ALIAS) 记录
| | |
---|
名称 | 类型 | 值 |
cname.example.com. | CNAME(ALIAS) | d12345xx.cloudfront.net. |
cname.example.com. | CNAME(ALIAS) | dualstack.elb123.us-east 1.elb.amazonaws.com. |
cname.example.com. | CNAME(ALIAS) | s3-website-us-west-2.amazonaws.com. |
cname.example.com. | CNAME(ALIAS) | ebs1234.us-east-1.elasticbeanstalk.com. |
将 Route 53 之外的 DNS 提供商的域名指向 AWS
如果您的域名使用 Route 53 之外的 DNS 提供商,则可以将该域名指向 AWS 服务。检查您的 DNS 提供商是否支持根域名上的 CNAME 记录。为此,请使用诸如 CNAME 扁平化、ANAME 记录或 WebHops 重定向之类的技术。
创建 CNAME 记录的注意事项
-
您无法为 Parent、Naked 或 Apex 域名创建 CNAME 记录。使用 Route 53,您可以使用别名记录将父域指向其他支持的别名目标。例如,如果您为域 example.com 创建了托管区,则无法创建以下 CNAME 记录:
example.com CNAME dualstack.elb123.us-east 1.elb.amazonaws.com.
如果您为域 www.example.com 创建了托管区,则无法创建以下 CNAME 记录:
www.example.com CNAME dualstack.elb123.us-east 1.elb.amazonaws.com.
使用 Route 53,您可以改为创建别名记录:
example.com Alias(A) dualstack.elb123.us-east 1.elb.amazonaws.com.
-
在托管区文件中,CNAME 记录不能与同一域的其他记录类型共存。例如,如果记录类型为 CNAME,则针对域 example.com 只能有一种记录类型。您无法创建以下记录:
abc.example.com CNAME www.example.comabc.example.com A 54.239.28.85
-
您可以创建可与 CNAME 记录共存的通配符记录:
abc.example.com CNAME www.example.com*.example.com A 54.239.28.85
相关信息
在创建 Route 53 别名资源记录集时,为什么无法选择我的首选别名目标?