如何为 AWS 中托管的服务创建别名记录?

2 分钟阅读
0

我想为 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 GatewayAmazon 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.CNAMEabc.example.net.
abc.example.net.A203.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 记录的注意事项

  1. 您无法为 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.
  2. 在托管区文件中,CNAME 记录不能与同一域的其他记录类型共存。例如,如果记录类型为 CNAME,则针对域 example.com 只能有一种记录类型。您无法创建以下记录:

    abc.example.com CNAME www.example.comabc.example.com A     54.239.28.85
  3. 您可以创建可与 CNAME 记录共存的通配符记录:

    abc.example.com CNAME www.example.com*.example.com   A     54.239.28.85

相关信息

在创建 Route 53 别名资源记录集时,为什么无法选择我的首选别名目标?

AWS 官方
AWS 官方已更新 6 个月前