Amazon Route 53 常见问题
入门
全部打开DNS 是一种全球分布式服务,可以将 www.example.com 等人类可读的名称转换为 192.0.2.1 等数字 IP 地址,供计算机用于互相连接。Internet 的 DNS 系统的工作原理和电话簿相似,都是管理名称和数字之间的映射关系。对于 DNS 而言,名称为方便人们记忆的域名 (www.example.com),数字为指定计算机在 Internet 上位置的 IP 地址 (192.0.2.1)。DNS 服务器将名称请求转换为 IP 地址,对最终用户在 Web 浏览器中输入域名时所访问的服务器进行控制。这些请求称为“查询”。
Amazon Route 53 提供高可用性且可扩展的域名系统(DNS)、域名注册和运行状况检查 Web 服务。设计用于为开发人员和企业提供一种非常可靠且经济高效的方式,把名称(如 example.com)转换为计算机用于互相连接的数字 IP 地址(如 192.0.2.1),从而将最终用户路由到 Internet 应用程序。您可以将 DNS 与运行状况检查服务组合使用,路由流量到运行正常的终端节点,或者独立监控终端节点和/或对其提供警报。您还可以购买和管理域名(例如 example.com),并自动为域配置 DNS 设置。Route 53 高效地将用户请求连接到 AWS 中运行的基础设施,例如 Amazon EC2 实例、Elastic Load Balancing 负载均衡器或 Amazon S3 存储桶,还可以将用户转接到 AWS 外部的基础设施。
借助 Amazon Route 53,您可以创建和管理公有 DNS 记录。与电话簿相似,Route 53 可让您管理 Internet 的 DNS 电话簿中为您的域名所列的 IP 地址。Route 53 也应答将此类特定域名转换为对应的 IP 地址(如 192.0.2.1)的请求。您可以使用 Route 53 创建新域的 DNS 记录,或转换现有域的 DNS 记录。Route 53 具有简单的标准型 REST API,可让您轻松创建、更新和管理 DNS 记录。Route 53 还额外提供运行状况检查,可以监控应用程序的运行状况和性能,还能监控 Web 服务器和其他资源。您还可以注册新的域名或者将现有域名转移到 Route 53 中进行管理。
- 通过单击服务页面上的“注册”按钮,订阅该服务。
- 如果您已经拥有域名:
- 使用 AWS 管理控制台或 CreateHostedZone API 创建可为您的域存储 DNS 记录的托管区域。在创建托管区域时,您将收到四个顶级域 (TLD) 上的四个 Route 53 名称服务器,这有助于确保高可用性。
- 此外,您还可以通过 AWS 管理控制台或 API,将域名转移到 Route 53 的管理中。
- 如果您还没有域名:
- 使用 AWS 管理控制台或 API 来注册新的域名。
- Route 53 会自动创建托管区域,而您的域的 DNS 记录就储存在这个托管区域中。您还将收到四个顶级域 (TLD) 上的四个 Route 53 名称服务器,有助于确保高可用性。
- 您的托管区域最初将使用一组基本的 DNS 记录进行填充,其中包括四个可响应您的域查询的虚拟名称服务器。您可以使用 AWS 管理控制台或通过调用 ChangeResourceRecordSet API 来添加、删除或更改这一集合中的记录。您可在此处找到所支持的 DNS 记录的列表。
- 如果您的域名不是由 Route 53 管理,则必须通知为您提供域名注册服务的注册机构,将域名称服务器更新为与托管区关联的新名称服务器。如果您的域名已经交由 Route 53 管理,则域名将自动与托管您的区域名称服务器进行关联。
Amazon Route 53 具有简单易用的 Web 服务接口,短短几分钟便可开始使用。您的 DNS 记录将组织为“托管区域”,您可以使用 AWS 管理控制台或 Route 53 的 API 进行配置。要使用 Route 53,您只需:
Route 53 使用 AWS 的高可用性和高可靠性的基础设施进行构建。我们的 DNS 服务器具有全球分布的特点,确保您可以规避任何 Internet 或网络相关的问题,始终如一地将最终用户路由到您的应用程序。Route 53 的宗旨是提供重要应用程序所需的依赖级别。Route 53 设计为通过分布于世界各地的 DNS 服务器任播网络,为根据网络条件自动从最优的节点回答查询。因此,该服务可为您的最终用户提供低查询延迟性。
为了向您提供高可用性的服务,每个 Amazon Route 53 托管区都由其自己的一组虚拟 DNS 服务器提供服务。因此,在创建托管区时,系统会分配各个托管区的 DNS 服务器名称。
域是一般的 DNS 概念。域名是采用数字地址的 Internet 资源的易于识别的名称。例如,amazon.com 是域。托管区域是一种 Amazon Route 53 概念。托管区域和传统的 DNS 区域文件类似;它代表一组可以一起管理的记录,属于单个父域名。托管区域中的所有资源记录集合必须将该托管区域的域名作为后缀。例如,amazon.com 托管区域可能包含名为 www.amazon.com 和 www.aws.amazon.com 的记录,而不含名为 www.amazon.ca 的记录。您可以使用 Route 53 管理控制台或 API 创建、检查、修改和删除托管区域。您还可以使用管理控制台或 API 来注册新的域名,并将现有域名转移到 Route 53 中进行管理。
您可以使用 AWS Identity and Access Management(IAM)服务,控制对 Amazon Route 53 托管区和单个资源记录集的管理访问。AWS IAM 可让您控制组织中的哪些人可以管理您的 DNS 记录的更改,具体方式为在您的 AWS 账户下创建多个用户,并管理各个用户的权限。 您可在此处了解 AWS IAM 的更多信息。
在您注册新的 AWS 服务时,有时可能需要最多 24 小时才能激活,在此期间您无法再次注册该服务。如果在等待了 24 小时以上还没收到确认激活的电子邮件,这可能表示您的账户或者付款详细信息授权存在问题。请联系 AWS 客户服务以获取帮助。
托管区在创建时收费一次,之后在每月第一天收费。
托管区有 12 小时的宽限期,如果您在创建托管区后的 12 小时内将其删除,我们不会向您收取该托管区的费用。宽限期结束后,我们会立即按月对托管区域收取标准费用。如果您在一个月的最后一天创建托管区 (例如 1 月 31 日),那么 1 月份的费用可能会出现在 2 月份的发票上,与 2 月份的费用一起收取。
您可以配置 Amazon Route 53 来记录与 Amazon Route 53 收到的查询相关的信息,包括日期时间戳、域名、查询类型和位置等。 当您配置查询日志记录后,Amazon Route 53 会开始将日志发送到 CloudWatch Logs。您可以使用 CloudWatch Logs 工具访问查询日志。有关更多信息,请参阅我们的文档。
是的。如果客户的月度正常运行时间百分比在任何账单周期内低于我们的服务承诺,Amazon Route 53 授权服务和 Amazon Route 53 Resolver 端点服务都将提供服务补偿。可从 Amazon Route 53 服务水平协议和 Amazon Route 53 Resolver 端点服务水平协议了解更多信息。
域名系统(DNS)
全部打开是的。任播是一种联网和路由技术,可帮助最终用户的 DNS 查询从给定网络条件中最佳的 Route 53 节点获得回答。您的用户因此就能通过 Route 53 获得高可用性和改进的性能。
每个 Amazon Route 53 账户的托管区上限为 500 个,每个托管区的资源记录集最多 10000 条。请填写提高上限申请表,我们将在两个工作日之内答复您的请求。
Route 53 支持导入标准 DNS 区域文件,此类文件可以从众多 DNS 提供商处导出得到,也可以从 BIND 等标准 DNS 服务器软件导出得到。对于新创建的托管区,以及除默认 NS 和 SOA 记录之外皆为空的现有托管区,可以将您的区域文件直接粘贴到 Route 53 控制台中,Route 53 会自动在您的托管区中创建记录。要开始导入区域文件,请阅读 Amazon Route 53 开发人员指南中的演示。
可以。您可以通过创建多个托管区域,在“测试”环境中验证您的 DNS 设置,而后在“生产”托管区域中复制这些设置。例如,托管区域 Z1234 可能是您的 example.com 的测试版本,托管在名称服务器 ns-1, ns-2、ns-3 和 ns-4 上。类似地,托管区域 Z5678 可能是您的 example.com 的生产版本,托管在名称服务器 ns-5, ns-6、ns-7 和 ns-8 上。由于每个托管区是与该区域关联的名称服务器虚拟集合, Route 53 将根据您向其发送 DNS 查询的名称服务器为 example.com 的 DNS 查询提供不同的回答。
否。Amazon Route 53 属于授权型 DNS 服务,不提供 Web 托管。不过,您可以使用 Amazon Simple Storage Service(Amazon S3)来托管静态网站。要托管动态网站或其他 Web 应用程序,您可以使用 Amazon Elastic Compute Cloud(Amazon EC2);与传统 Web 托管解决方案相比,它不仅能提供灵活性和控制,还可大幅节省开支。在此处了解有关 Amazon EC2 的更多信息。对于静态和动态网站,您都可以使用 Amazon CloudFront 为您的全球最终用户提供低延迟的传输。您可在此处了解 Amazon CloudFront 的更多信息。
- A(地址记录)
- AAAA(IPv6 地址记录)
- CNAME(规范名称记录)
- CAA (认证机构授权)
- MX (邮件交换记录)
- NAPTR(命名授权指针记录)
- NS(名称服务器记录)
- PTR(指针记录)
- SOA(起始授权记录)
- SPF(发件人策略框架)
- SRV(服务定位器)
- TXT(文本记录)
- Amazon Route 53 还提供别名记录,这些记录是 Amazon Route 53 专用的 DNS 扩展。您可以创建别名记录以将流量路由到选定的 AWS 资源,包括 Amazon Elastic Load Balancing 负载均衡器、Amazon CloudFront 分配、AWS Elastic Beanstalk 环境、API 网关、VPC 接口终端节点以及配置为网站的 Amazon S3 存储桶。别名记录通常为 A 或 AAAA 类型,但它们的工作方式类似于 CNAME 记录。借助别名记录,您可以将记录名称 (example.com) 映射到 AWS 资源的 DNS 名称 (elb1234.elb.amazonaws.com)。解析器查看 A 或 AAAA 记录以及 AWS 资源的 IP 地址。
Amazon Route 53 目前支持下列 DNS 记录类型:
我们预计在未来增加其他的记录类型。
是的。为了让您更加方便地为域配置 DNS 设置,Amazon Route 53 针对除 NS 记录以外的所有记录类型支持通配符条目。通配符条目是 DNS 区域中的记录,可以根据您设置的配置匹配任何域名。例如,通配符 DNS 记录 *.example.com 将匹配对 www.example.com 和 subdomain.example.com 的查询。
DNS 解析器用于缓存回复的时间是通过与各条记录关联的一个值设置的,它称为存活期 (TTL)。Amazon Route 53 没有任何记录类型的默认 TTL。您始终都必须为各种记录指定 TTL,以便缓存 DNS 解析器能够在通过 TTL 指定的时间长度内缓存您的 DNS 记录。
可以。您还可以使用别名记录将子域(www.example.com、pictures.example.com 等)映射到 ELB 负载平衡器、CloudFront 分配或 S3 网站存储桶。
是的。事务性更改有助于确保更改是一致、可靠的,并且与其他更改独立。Amazon Route 53 已经过了设计,使得更改可在任何个体 DNS 服务器上彻底完成,或者完全不更改。这有助于确保 DNS 查询始终都能获得一致的回答,这在进行目标服务器之间翻转等更改时非常重要。在使用 API 时,对 ChangeResourceRecordSets 的每个调用将返回一个能跟踪相关更改的状态的识别符。一旦状态报告为 INSYNC 时,您的更改就已在所有 Route 53 DNS 服务器上执行完毕。
可以。将多个 IP 地址与一条记录关联,常常用于平衡地理位置上分散的 Web 服务器的负载。Amazon Route 53 允许您为一条 A 记录列举多个 IP 地址,并使用包含所有配置的 IP 地址的列表回复 DNS 请求。
正常情况下,Amazon Route 53 的设计可以在 60 秒内将您对 DNS 记录的更新传播到其授权 DNS 服务器的全球网络中。当 API 调用返回 INSYNC 状态列表时,即表示更改已成功完成全球传播。
请注意,缓存 DNS 解析器不在 Amazon Route 53 服务的控制范围内,它们将根据其生存时间 (TTL) 缓存您的资源记录集。更改的 INSYNC 或 PENDING 状态仅指示 Route 53 的授权 DNS 服务器的状态。
可以,通过 AWS CloudTrail,您可以记录 Route 53 的 API 调用历史记录。请参阅 CloudTrail 产品页开始使用。
否。我们建议您不要使用 CloudTrail 来恢复对您的托管区的更改,因为使用 CloudTrail 日志重建的托管区更改历史记录可能不完整。
您的 AWS CloudTrail 日志可用于安全分析、资源更改跟踪以及合规性审核等目的。
是的。您可以为现有的和新的公有托管区域启用 DNSSEC 签名,并为 Amazon Route 53 Resolver 启用 DNSSEC 验证。此外,Amazon Route 53 支持在域注册时使用 DNSSEC。
是的。Amazon Route 53 支持正向 (AAAA) 和反向 (PTR) IPv6 记录。Amazon Route 53 服务本身也可通过 IPv6 使用。IPv6 网络上的递归 DNS 解析器可以使用 IPv4 或 IPv6 传输,以便向 Amazon Route 53 提交 DNS 查询。Amazon Route 53 运行状况检查也支持使用 IPv6 协议来监控端点。
可以。Amazon Route 53 提供一种称为“别名”记录的特殊记录类型,供您将顶级域名 (example.com) DNS 名称映射到 ELB 负载均衡器的 DNS 名称(例如 my-loadbalancer-1234567890.us-west-2.elb.amazonaws.com)。与负载均衡器关联的 IP 地址随时会由于大小扩展或软件更新而改变。Route 53 使用负载均衡器的一个或多个 IP 地址来响应别名记录的每个请求。Route 53 支持三类负载均衡器的别名记录:Application Load Balancer、网络负载均衡器和 Classic Load Balancer。对映射到 AWS ELB 负载均衡器的别名记录的查询不收取额外费用。这些查询在 Amazon Route 53 使用率报告中列为“Intra-AWS-DNS-Queries”。
可以。Amazon Route 53 提供一种称为“别名”记录的特殊记录类型,供您将域顶点 (example.com) DNS 名称映射到 Amazon S3 网站存储段(如 example.com.s3-website-us-west-2.amazonaws.com)。与 Amazon S3 网站终端节点关联的 IP 地址随时会由于大小扩展或软件更新而改变。Route 53 使用存储段的一个 IP 地址来回复别名记录的各个请求。Route 53 对映射到 S3 存储段且配置为网站的别名记录的查询不收取费用。这些查询在 Amazon Route 53 使用率报告中列为“Intra-AWS-DNS-Queries”。
可以。Amazon Route 53 提供一种称为“别名”记录的特殊记录类型,供您将域顶点 (example.com) DNS 名称映射到您的 Amazon CloudFront 分配(如 d123.cloudfront.net)。与 Amazon CloudFront 终端节点相关联的 IP 地址会根据您的最终用户的位置而有所不同(目的是将最终用户定向至最近的 CloudFront 节点),会随时因为扩大规模、缩小规模或软件更新而改变。Route 53 使用分配的一个或多个 IP 地址来回复别名记录的各个请求。Route 53 对映射到 CloudFront 分配的别名记录的查询不收取费用。这些查询在 Amazon Route 53 使用率报告中列为“Intra-AWS-DNS-Queries”。
可以。Amazon Route 53 提供一种称为“别名”记录的特殊记录类型,供您将顶级域名 (example.com) DNS 名称映射到 AWS Elastic Beanstalk DNS 名称(即 example.elasticbeanstalk.com)。与 AWS Elastic Beanstalk 关联的 IP 地址随时可能由于大小扩展或软件更新而改变。Route 53 使用环境的一个或多个 IP 地址来响应针对别名记录的每个请求。对映射到 AWS Elastic Beanstalk 环境的别名记录的查询不收取费用。这些查询在 Amazon Route 53 使用率报告中列为“Intra-AWS-DNS-Queries”。
可以。Amazon Route 53 提供一种称为“别名”记录的特殊记录类型,供您将顶级域名 (example.com) DNS 名称映射到 Amazon API Gateway DNS 名称(如 api-id.execute-api.region.amazonaws.com/stage)。与 Amazon API Gateway 关联的 IP 地址随时会由于大小扩展或软件更新而改变。Route 53 使用 API Gateway 的一个或多个 IP 地址来响应针对别名记录的每个请求。对映射到 Amazon API Gateway 的别名记录的查询不收取额外费用。这些查询在 Route 53 使用率报告中列为“Intra-AWS-DNS-Queries”。
可以。Amazon Route 53 提供一种称为“别名”记录的特殊记录类型,供您将顶级域名 (example.com) DNS 名称映射到 Amazon VPC 终端节点 DNS 名称(如 vpce-svc-03d5ebb7d9579a2b3.us-east-1.vpce.amazonaws.com)。与 Amazon VPC 终端节点关联的 IP 地址随时会由于大小扩展或软件更新而改变。Route 53 使用 VPC 终端节点的一个或多个 IP 地址来响应针对别名记录的每个请求。对映射到 Amazon VPC 终端节点的别名记录的查询不收取额外费用。这些查询在 Amazon Route 53 使用率报告中列为“Intra-AWS-DNS-Queries”。
针对通过 Amazon CloudFront 传输的网站或托管于 Amazon S3 的静态网站,您可以使用 Amazon Route 53 服务为指向 CloudFront 分配或 S3 网站存储桶的域创建别名记录。针对未配置托管静态网站的 S3 存储段,您可以为您的域和 S3 存储段名创建 CNAME。无论哪种情况,请注意,您也需要相应地使用备用域名条目配置 S3 存储段或 CloudFront 分配,以便在域名和存储段或分配的 AWS 域名之间建立完整的别名关系。
针对 CloudFront 分配和配置托管静态网站的 S3 存储段,我们建议您创建映射到 CloudFront 分配或 S3 网站存储段的别名记录,而非使用 CNAME。别名记录有两种优势:首先,与 CNAME 不同,您可以针对 Zone Apex(机构根网域)(如 example.com,而不是 www.example.com)创建别名记录,其次,对别名记录的查询不收取费用。
当 Amazon Route 53 中的资源记录集发生更改时,该服务会将您对 DNS 记录进行的更新传播到其权威 DNS 服务器在世界范围内的网络中。如果在传播完成之前测试记录,那么在使用 dig 或 nslookup 实用程序时看到的可能是一个旧值。此外,Internet 上的 DNS 解析程序不受 Amazon Route 53 服务的控制并且可根据生存时间 (TTL) 缓存资源记录集,这表示一个 dig/nslookup 命令可返回一个缓存值。您还应该确保您的域名注册商正在使用您 Amazon Route 53 托管区域中的名称服务器。如果不使用名称服务器,Amazon Route 53 将不会获得授权对您的域进行查询。
DNS 路由策略
全部打开是的。加权轮询可让您为资源记录集合分配权重,以便指定不同回复所服务的频率。您可能希望使用此功能来执行 A/B 测试,发送一小部分流量到进行了软件更改的服务器。例如,假设您向一个 DNS 名称关联了两个记录集合,其中一个的权重为 3,另一个的权重为 1。此情形中,75% 时间内 Route 53 将返回权重为 3 的记录集合,25% 时间内 Route 53 将返回权重为 1 的记录集合。权重可以是 0 到 255 范围内的任意数字。
LBR(基于延迟的路由)是 Amazon Route 53 的一项新功能,有助于您提高应用程序对全球受众的性能。您可以在多个 AWS 区域运行应用程序,Amazon Route 53 则通过其遍布全球的数十个边缘站点将最终用户路由到可提供最低延迟性的 AWS 区域。
只需通过 AWS 管理控制台或简单的 API,就能快速而轻松地使用 Amazon Route 53 的全新 LBR 功能。只需创建包含 IP 地址或各个 AWS 终端节点的 ELB 名称的记录集合,再将该集合标记为支持 LBR 的记录集合,这与将记录集合标记为加权记录集合非常相似。Amazon Route 53 将负责其余的工作,为各个请求确定最佳的端点并相应地路由最终用户,与 Amazon CloudFront 这一 Amazon 全球内容传输服务非常相似。有关如何使用基于延迟的路由的更多信息,请参阅 Amazon Route 53 开发人员指南。
与所有 AWS 服务一样,对 Amazon Route 53 和 LBR 的使用没有前期费用或长期使用期限合约。客户只需按照实际的用量支付托管区域和查询的费用。有关基于延迟的路由查询的定价详细信息,请访问 Amazon Route 53 定价页面。
Route 53 地理位置 DNS会根据请求发出的地理位置将其送至特定的端点,以此帮助调整负载平衡。Geo DNS 可以自定义本地化的内容,例如以正确的语言展示详情页面或限制将内容分配到已授权的市场。Geo DNS 通过一种可以预见而又易于管理的方式让您实现负载平衡,确保每一个终端用户地点始终路由到相同的终端节点。Geo DNS 提供三种地理粒度级别:洲、国家/地区和州/省,Geo DNS 还提供全球记录,当终端用户的地点与您创建的特定 Geo DNS 记录不匹配时,全球记录可在这种情况下发挥作用。您还可以将 Geo DNS 与其他路由类型(例如基于延迟的路由和 DNS 故障转移)进行组合,以实现多种低延迟的容错架构。关于如何配置各种路由类型的信息,请参阅 Amazon Route 53 文档。
只需通过 AWS 管理控制台或 Route 53 API,就能快速而轻松地使用 Amazon Route 53 的地理位置 DNS功能。只需创建记录集并对记录集的类型指定适用的值,将该记录集标记为启用了 Geo DNS 的记录集,然后选择想要记录生效的地理位置(全球、洲、国家/地区或州/省)。有关如何使用地理位置 DNS的详细信息,请参阅 Amazon Route 53 开发人员指南。
是,强烈建议您配置全球记录,以确保 Route 53 可以从所有可能的位置对 DNS 请求提供响应,即使您对期望终端用户所在的每一个洲、国家/地区或州/省创建了特定的记录也应该如此。Route 53 将返回以下案例中全球记录所包含的数值:
DNS 查询来自 Route 53 的 Geo IP 数据库无法识别的 IP 地址。
DNS 查询来自您创建的所有特定地理位置 DNS记录都不包含的位置。
可以,您可以对重叠的地理区域配置地理位置 DNS记录(例如洲和这个洲中的国家/地区,或者国家/地区和这个国家/地区中的州/省)。对于每个终端用户地点,Route 53 返回的大多数特定 Geo DNS 记录包含该地点。换言之,对于给定的终端用户地点,Route 53 会首先返回州/省记录。如果未找到任何州/省记录,则 Route 53 会返回国家/地区记录。如果未找到任何国家/地区记录,则 Route 53 会返回洲记录。最后,如果未找到任何洲记录,则 Route 53 会返回全球记录。
与所有 AWS 服务一样,Amazon Route 53 和地理位置 DNS 的使用没有前期费用或长期使用期限合约。客户只需按照实际的用量支付托管区和查询的费用。有关地理位置 DNS 查询的定价详细信息,请访问 Amazon Route 53 定价页面。
地理位置 DNS 根据请求的地理位置制定路由决策。某些情况下,地理位置是很好的延迟代理;但是某些情况下则不然。基于延迟的路由利用查看者网络和 AWS 数据中心之间的延迟测量值。这些测量值用于确定引导用户到达了哪个终端节点。
如果您的目标是尽量减少最终用户延迟,我们建议使用基于延迟的路由。如果您有合规性、本地化方面的要求,或者有需要从特定地理位置稳定路由至特定端点的其他使用案例,我们建议使用地理位置 DNS。
Route 53 现在支持使用多值回答响应 DNS 查询。在 DNS 查询响应中返回多个可检查运行状况的 IP 地址这一功能并非负载均衡器的替代,这是使用 DNS 提高可用性和负载均衡能力的一种方式。如果您希望将流量随机路由到多个资源 (如 Web 服务器),您可以为每个资源创建一条多值回答记录,然后选择性地将 Amazon Route 53 运行状况检查与每条记录关联。Amazon Route 53 最多支持使用八条正常记录响应每条 DNS 查询。
Traffic Flow
全部打开Amazon Route 53 Traffic Flow 是一项易于使用且经济实惠的全球流量管理服务。借助 Amazon Route 53 Traffic Flow,您可以运行全球的多个终端节点,并基于延迟、地理位置和终端节点的运行状况使用 Amazon Route 53 Traffic Flow 将您的终端用户连接到最佳终端节点,从而帮助用户提高应用程序的性能和可用性。Amazon Route 53 Traffic Flow 使开发人员可根据他们最关心的约束条件(包括延迟、终端节点的运行状况、负载、临近地理位置和地理位置)来轻松创建流量路由策略。客户可以使用一个简单的可视化策略生成器,在 AWS 管理控制台中自定义这些模板或者从头开始构建策略。
流量策略是指您为了将终端用户的请求路由到应用程序的一个端点而定义的规则集。您可以使用 Amazon Route 53 控制台中 Amazon Route 53 Traffic Flow 部分的可视化策略生成器来创建一个流量策略。您还可以将流量策略创建为 JSON 格式的文本文件,并利用 Route 53 API、AWS CLI 或多种 AWS 软件开发工具包上传这些策略。
就其本身而言,流量策略不会影响将最终用户路由到应用程序的方式,因为它尚没有与应用程序的 DNS 名称(如 www.example.com)关联。要开始通过您创建的流量策略使用 Amazon Route 53 Traffic Flow 将流量路由到您的应用程序,您可以创建一个可将流量策略与您拥有的 Amazon Route 53 托管区内的相应 DNS 名称关联的策略记录。例如,如果您希望使用已命名为 my-first-traffic-policy 的流量策略来管理 www.example.com 上应用程序的流量,您需要在托管区域 example.com 中为 www.example.com 创建一个策略记录,并选择将 my-first-traffic-policy 作为流量策略。
策略记录在 Amazon Route 53 控制台的 Amazon Route 53 Traffic Flow 和 Amazon Route 53 托管区部分均可见。
可以。您可以重复使用一个策略来以两种方式之一管理多个 DNS 名称。首先,您可以利用该策略来创建更多策略。请注意,使用这种方法需要另外付费,因为我们会根据您创建的每条策略记录进行收费。
第二种方法是利用策略创建一条策略记录,然后为您希望借助策略来管理的每一个附加 DNS 名称创建一个标准别名记录,它们均指向已创建策略记录的 DNS 名称。例如,如果您为 example.com 创建一条策略记录,您就可以为 www.example.com、blog.example.com 和 www.example.net 创建 DNS 记录,且每条记录都带有 example.com 的 CNAME 值。请注意,这种方法不适用于域名前无 www 或另一子域名的顶级域名(如 example.net、example.org 或 example.co.uk)中的记录。对于 Zone Apex(机构根网域)中的记录,您必须使用您的流量策略创建一条策略记录。
可以,可以创建指向由一个流量策略管理的 DNS 名称的别名记录。
不。我们只对策略记录进行收费,不对创建流量策略本身进行收费。
根据每条策略记录计费。一条策略记录代表着一个 Traffic Flow 策略应用于特定 DNS 名称(如 www.example.com),以使用流量策略来管理如何对该 DNS 名称的请求作出应答的过程。将按月计费,并分摊到部分月份中。与策略记录中的 DNS 名称不相关的流量策略无需任何费用。有关定价的详细信息,请参阅 Amazon Route 53 定价页面。
Traffic Flow 支持所有 Amazon Route 53 DNS 路由策略,包括延迟、端点的运行状况、多值答案、加权轮询和地理位置。除此之外,Traffic Flow 还支持通过流量偏置实现基于临近地理位置的路由。
创建流量策略时,可以指定 AWS 区域(如果使用 AWS 资源)或每个端点的经度和纬度。例如,假设您在 AWS 美国东部 (俄亥俄) 区域和美国西部 (俄勒冈) 区域均拥有 EC2 实例。当西雅图的用户访问您的网站时,地理位置临近度路由会将 DNS 查询路由至美国西部(俄勒冈州)区域的 EC2 实例,因为它的地理位置较为临近。有关更多信息,请参阅关于地理位置临近度路由的文档。
更改端点上的临近地理位置偏置值可以扩展或收缩 Route 53 将流量路由到资源的区域。不过,临近地理位置偏置无法准确预测负载因子,因为地理区域大小的微小变化可能会包括或排除产生大量查询的主要大城市区域。有关更多信息,请参阅我们的文档。
截至目前,偏置仅适用于临近地理位置规则。
私有 DNS
全部打开私有 DNS 是 Route 53 的一项功能,可以让您在 VPC 中拥有权威的 DNS 而不会将您的 DNS 记录(包括资源名称及其 IP 地址)暴露给互联网。
可以,您可以使用 Amazon Route 53 的私有 DNS 功能在虚拟私有云(VPC)中管理私有 IP 地址。通过私有 DNS,您可以创建私有的托管区域,当查询来自您与私有托管区域关联的 VPC 内部时,Route 53 将只返回这些记录。有关更多详细信息,请参阅 Amazon Route 53 文档。
您可以设置私有 DNS,方法是在 Route 53 中创建托管区,选择选项让托管区变成“私有”,再将托管区与一个您的 VPC 进行关联。创建托管区域后,您可以将其与其他 VPC 进行关联。请参阅 Amazon Route 53 文档,了解有关如何配置私有 DNS 的完整详细信息。
您可以使用不连接互联网的 VPC 中的资源来解析内部 DNS 名称。但是,如果要更新私有 DNS 托管区的配置,您需要互联网连接来访问 Route 53 API 端点,这个端点在 VPC 的外部。
否。Route 53 私有 DNS 使用 VPC 来管理可见性并为私有 DNS 托管区提供 DNS 解析。为了利用 Route 53 私有 DNS,您必须配置一个 VPC 并将资源迁移到其中。
能,您可以将多个 VPC 关联到一个托管区。
能,您可以将从属于不同账户的 VPC 关联到同一个托管区。有关更多详细信息,请参阅此处。
可以。DNS 应答可以在与私有托管区域关联的每一个 VPC 中使用。注意,您需要保证每个区域中的所有 VPC 彼此相连,以便一个区域中的资源可以触及另一个区域中的资源。以下区域现已支持 Route 53 私有 DNS:美国东部(弗吉尼亚州北部)、美国西部(加利福尼亚北部)、美国西部(俄勒冈州)、亚太地区(孟买)、亚太地区(首尔)、亚太地区(新加坡)、亚太地区(悉尼)、亚太地区(东京)、欧洲(法兰克福)、欧洲(爱尔兰)和南美洲(圣保罗)。
可以,可以通过将运行状况检查与私有 DNS 托管区中的资源记录集相关联来配置 DNS 故障转移。如果您的终端节点位于 Virtual Private Cloud (VPC) 中,那么您可以使用多种选项来配置针对这些终端节点的运行状况检查。如果终端节点具有公有 IP 地址,那么您可以针对每个终端节点的公有 IP 地址创建标准的运行状况检查。如果您的终端节点只有私有 IP 地址,那么您无法针对这些终端节点创建标准的运行状况检查。但是,您可以创建基于指标的运行状况检查,其运行方式类似于标准的 Amazon Route 53 运行状况检查,但使用现有 Amazon CloudWatch 指标作为端点运行状况信息的来源(而不是针对外部位置的端点进行请求)。
能,您可以阻止域和特定的 DNS 名称,方法是在一个或多个私有 DNS 托管区中创建这些名称,然后将这些名称指派到您自己的服务器(或您管理的其他位置)。
运行状况检查和 DNS 故障转移
全部打开DNS 故障转移包含两个组件,即:运行状况检查和故障转移。运行状况检查是通过 Internet 发送到您的应用程序的自动请求,目的是验证您的应用程序是否可获得、可用且功能正常。您可以配置与用户提交的一般请求相似的运行状况检查,例如从特定 URL 请求网页。利用 DNS 故障转移,Route 53 仅返回运行状态良好且可从外部访问的资源的响应,因此您的最终用户可以绕开出现故障或运行状态不佳的应用程序部分。
请访问 Amazon Route 53 开发人员指南,了解有关入门的详细信息。您还可以从 Route 53 控制台配置 DNS 故障转移。
可以,您可以为 Elastic Load Balancers (ELB) 配置 DNS 故障转移。若要启用一个 ELB 终端节点的 DNS 故障转移,请创建一个指向 ELB 的别名记录并将“Evaluate Target Health”参数设置为真。Route 53 会自动创建和管理您的 ELB 的运行状况检查。您无需创建您自己的 ELB Route 53 运行状况检查。您也不需要将您为 ELB 设置的资源记录与您自己的运行状况检查关联在一起,因为 Route 53 会代表您将它与 Route 53 管理的运行状况检查关联在一起。ELB 运行状况检查还会继承该 ELB 的后端实例的运行状况。要了解有关使用 ELB 端点进行 DNS 故障转移的更多详细信息,请参阅 Route 53 开发人员指南。
可以,您可以使用 DNS 故障转移来维护备份站点(例如,Amazon S3 网站存储桶上运行的静态站点)并在您的主要站点无法访问时转移到该站点。
您可以关联任何受 Route 53 支持的记录类型,除了 SOA 和 DNS 记录。
可以。您可以通过 Amazon Route 53 控制台配置 Elastic Load Balancer 和 Amazon S3 网站存储桶的 DNS 故障转移,这种方法无需创建您自己的运行状况检查。对于这些终端节点类型,Route 53 会代表您自动创建和管理运行状况检查,而这些运行状况检查会在您创建指向 ELB 或 S3 网站存储桶的别名记录和在该别名记录上启用“Evaluate Target Health”参数时使用。
对于所有其他端点,当您为该端点创建运行状况检查时,您可以指定 DNS 名称(例如 www.example.com)或该端点的 IP 地址。
可以。就像可以创建指向 AWS 外的地址的 Route 53 资源记录一样,您可以为在 AWS 外部运行的应用程序部分设置运行状况检查,并且可以转移到您选择的任何终端节点,无需理会位置。例如,您可以有一个在 AWS 外部的数据中心运行的历史应用程序和一个在 AWS 内运行的该应用程序的备份实例。您可以为在 AWS 外部运行的遗留应用程序设置运行状况检查,并且如果该应用程序未能通过运行状况检查,可以自动切换到 AWS 中的备份实例。
不会,Route 53 不会根据端点的负载或可用流量来决定路由目标。您将需要确保您的端点有可用容量,或这些端点具有扩展能力,以处理流向故障端点的流量。
默认阈值为三次运行状况检查观察:当端点未通过三次连续的观察时,Route 53 将其视为失败。但是,Route 53 会继续对此终端节点执行运行状况检验观察,并在它通过三次连续的运行状况检验观察后重新向其发送流量。您可以将此阈值更改为 1 到 10 次观察之间的任何值。有关更多详细信息,请参阅 Amazon Route 53 开发人员指南。
在失败的端点通过您在创建运行状况检查时指定的连续运行状况检验观察的次数后(默认阈值为三次观察),Route 53 将自动恢复其 DNS 记录,并且流向该端点的流量将在无需您操作的情况下恢复。
默认情况下,运行状况检查观察每隔 30 秒执行一次。您可以选择快速观察间隔时间,如 10 秒。
通过以高出三倍的频率执行检查,快速运行状况检查间隔允许 Route 53 更快地确认发生故障的终端节点,从而缩短 DNS 故障转移重定向流量以响应终端节点故障所需的时间。
快速运行状况检查间隔还会向您的终端节点生成三倍数量的请求,如果您的终端节点用于支持 Web 流量的容量有限,可能需要考虑此因素。访问 Route 53 定价页面,获取关于快速间隔运行状况检查和其他可选运行状况检查功能定价的详细信息。有关更多详细信息,请参阅 Amazon Route 53 开发人员指南。
每次运行状况检查都是从全球多个位置执行的。数量和位置集都是可配置的,对于使用 Amazon Route 53 控制台或 API 从多少个位置执行每个运行状况检查,是可以修改的。每个位置都将以您所选的间隔单独检查终端节点:默认间隔(30 秒)或可选的快速间隔(10 秒)。基于当前默认的运行状况检查位置数量,执行标准间隔运行状况检查时,您的端点平均每 2-3 秒收到一个请求,而执行快速间隔运行状况检查时,您会每秒收到一个或多个请求。
否。Route 53 运行状况检查将 HTTP 3xx 代码视为成功的响应,因此不会跟踪重定向。这可能会导致字符串匹配运行状况检查出现异常结果。运行状况检查将在重定向的正文中搜索指定的字符串。由于运行状况检查不遵循重定向,它永远不会将请求发送到重定向所指向的位置,因此也永远不会从该位置获得响应。对于字符串匹配运行状况检查,我们建议您不要使用把运行状况检查指向某个将返回 HTTP 重定向的位置。
在最简单的条件中,如果运行状况检查未能通过需要进行转移,将发生以下事件:
Route 53 对您的应用程序执行运行状况检查。在这个示例中,您的应用程序连续三次未能通过运行状况检查,从而触发以下事件。
Route 53 禁用故障终端节点的资源记录并且不再服务于这些记录。这是故障转移步骤,它使流量路由到运行良好的端点,而不是故障端点。
DNS 解析器用于缓存回复的时间是通过与各条记录关联的一个值设置的,它称为存活期 (TTL)。我们建议在使用 DNS 故障转移时,TTL 为 60 秒或更少,以尽量缩短使流量停止路由到故障终端节点所需的时间。为了配置 ELB 和 S3 网站端点的 DNS 故障转移,您需要使用 TTL 固定为 60 秒的别名记录;对于这些端点类型,您不需要调整 TTL 来使用 DNS 故障转移。