Route53 – Part 1

Hello大家好,欢迎来到《AWS解决方案架构师认证 Professional(SAP)中文视频培训课程》,我们今天的课时讨论Route53的内容,这部分内容会比较多,后面会分几个课时来讨论。

Route53相关的内容在认证考试中出现的频率非常高,这几个课时的内容对于考试有一定的针对性,我们开始吧。

Amazon Route 53使用“记录”

Amazon Route 53 是一种具有高可用性和可扩展性的域名系统 (DNS) Web 服务。 Route 53 有三个主要功能:域名注册、DNS 解析和运行状况检查。

我们先讨论下Route 53的记录的类型。

Route 53支持多种记录类型:

  • 第一种类型为A记录,使用 A 记录将流量解析到资源(如 Web 服务器)的IPv4 地址。
  • AAAA记录,将流量解析到资源的 IPv6 地址。
  • CNAME 记录,将当前的记录解析到另外一个域名。
  • ALIAS记录,它是Route 53特有的一个记录类型,允许您将流量解析到AWS资源,【6】比如:负载均衡器,CloudFront, Amazon S3 bucket, Elastic Beanstalk等等。ALIAS记录是可以支持顶级域名上创建别名记录的,这一点是CNAME 记录做不到的,比如,如 果您注册了 DNS 名称 example.com,则顶级域名就是 example.com。您不能为 example.com 创建 CNAME 记录,但可以为example.com创建ALIAS记录,如将流量路由到 www.example.com 。
  • 其他的一些记录类型,比如CAA、MX、SOA等基本在考试中不会涉及到,感兴趣的同学可以自行查看相应文档。

DNS解析流程

在使用Route 53创建记录比如A记录并指向资源之后,当有用户请求我们的域名后,流程是这样的:

用户使用浏览器访问www.example.com,会将www.example.com的请求路由到DNS解析程序,

解析程序会将这个请求发送到DNS根域名服务器,根域名服务器告知将解析请求发送到TLD也就是顶级域名服务器,顶级域名服务器在告知解析程序将请求发送到Route 53域名服务器。

Route 53域名服务器在 example.com 托管区域中查找 www.example.com 记录、获取关联值 (比如 Web 服务器的 IP 地址 192.0.2.44),并将该 IP 地址以及TTL也就是生存时间返回给DNS 解析程序,然后DNS解析程序将这个IP地址返回给WEB浏览器, 浏览器会缓存这个解析的结果直到TTL配置的时间,最终用户端的浏览器通过访问获得的IP地址,访问我们的资源,比如网站,然后192.0.2.44 上的 Web 服务器将 www.example.com 的网页返回到 Web 浏览器,而 Web 浏览器会显示该页面。

好的,这就是DNS解析的一个大致的流程,比较简单。

生存时间(TTL)

接下来我们讨论下前面出现的TTL,也就是生存时间。

TTL是指缓存DNS记录的时间,就是在向 Route 53 提交请求获取记录的值之后,您希望 DNS 解析程序缓存 (存储) 该记录的值的时间 (以秒为单位)。

比如我们有一个WEB浏览器和DNS,浏览器发起DNS请求 www.example.com,DNS系统收到请求后返回解析的一个IP地址,还有TTL比如设置的为300秒然后浏览器会缓存这个解析的结果。在300秒内如果在向同一个域名发起请求时,WEB浏览器将直接使用缓存的这个DNS解析的IP地址,而不再向Route 53新发起DNS解析请求,直到300秒之后TTL过期。

一旦TTL过期之后,如果在新发起同一个域名的DNS请求,请求会在到Route 53解析,而不在使用缓存的解析结果,由Route 53返回记录的IP地址,返回的IP可能是和上一次是相同的,但如果我们在这期间修改了记录的值,比如像PPT中的例子,就会返回给WEB浏览器当前的新的记录的IP地址。

所以,TTL配置成多少是需要我们根据需求自行决定的,如果TTL设置成一个较大的值,比如24小时,那么对于我们的Route 53,就会收到更少的请求,更低的访问流量以及更低的Route 53费用。但如果要更新Route 53记录的值,那么更新生效要花费一些时间,因为旧的记录在客户端浏览器缓存着,这很好理解吧。

相反,如果TTL配置成一个很小的值,比如60秒的话,那么Route 53就会收到更多的解析请求和流量。如果做迁移,更新记录等待缓存过期的时间,也就是新记录生效的时间会更快。

所以总的来说,每个DNS记录都需要配置TTL,具体配置多长时间是要根据您的实际情况来配置的。

简单路由策略

接下来我们讨论下 Route 53的支持的多种路由策略。参加认证考试您要完全熟悉这些路由策略。

首先,简单路由策略,通常使用简单路由策略将流量路由到单个资源,比如WEB服务器。

可以使用简单路由策略配置标准的DNS记录,但是简单路由策略无法附加健康状况检查,所以也就无法做自动故障转移。

比如我们有一个WEB浏览器,假设它向Route 53发起DNS请求,如www.example.com,然后,比如对应是A记录,Route 53会返回一个IP地址11.22.33.44。这就是简单路由策略所能做的。

简单路由策略也支持在一个记录中指定多个值,例如同一个域名对应多个 IP 地址。如果您在记录中指定多个值,则 Route 53 将所有值以随机顺序返回客户端(例如,Web 浏览器),这样的话客户端每次获取的IP地址是随机的,在一定程度上实现了简单的负载均衡功能。

加权路由策略

加权路由策略,允许您将多个资源关联至单个域名 (example.com) 或子域名 (www.example.com),并可以配置向每个资源路由多少流量。这可用于多种用途,例如负载均衡、测试软件新版本等。

比如我们的www.example.com对应这两台EC2实例,然后通过Route 53做了加权路由策略,一台配置为99,另一台配置为1。这样的话当有用户访问我们这个域名时,Route 53 99%的时间会返回权重配置为99的这个实例记录,有1%的几率会返回权重配置为1的这个实例记录。

加权路由策略功能,非常适用于做一些软件新版本的测试,比如您的业务有新版本要上线,在大规模上线前希望先做一个小规模的测试,就可以通过加权路由策略,将很少一部分权重的访问量路由到新版本上做测试。

利用加权路由策略,可以实现一些有意思的需求,比如在两个AWS区域中间分配流量,做一些负载均衡,流量分配的实现。

加权路由策略是可以关联健康状况检查的,如果某个资源有问题没有通过健康状况检查,Route 53 就不会路由流量到这个资源。

另外,分配的权重相加不需要必须等于100,我们上面这个例子只是为了方便理解。 Route 53 根据您分配给记录的权重(占该组中所有记录总权重的比例)向资源发送流量,可以看下这个公式。

故障转移路由策略

故障转移路由策略,这是一个比较常使用的路由策略,也称为主动/被动故障转移。

比如有两个实例,一个主资源,另一个作为灾难恢复备用资源。我们想要当主资源正常时访问主资源,当主资源有问题时自动切换到备用资源,就可以通过Route 53的故障转移路由策略。

只需在Route 53 创建相应记录并指定 Failover (故障转移) 作为路由策略。在主资源会启用运行状况检查,当主资源运行状况良好时,Route 53 使用主记录响应 DNS 查询,WEB浏览器访问的是主资源这台EC2实例;而当主资源运行状况不佳时,Route 53 会自动使用辅助记录响应 DNS 查询,WEB浏览器收到的是辅助资源的IP,访问的是辅助资源的EC2实例。

这是故障转移路由策略。

基于延迟的路由策略

然后是 基于延迟的路由策略,如果您的应用程序是部署在AWS多个区域中,就可以通过基于延迟的路由策略,从用户到延迟最低的AWS区域处理用户的请求,加快用户的访问速度。评估延迟是指从用户端到AWS区域的延迟。

要使用基于延迟的路由,您可以为多个 AWS 区域中的资源创建延迟记录。然后当 Route 53 收到您的域名的 DNS 查询时,哪个区域能够为用户提供最低的延迟,Route 53就选择使用该记录的值(例如 Web 服务器的 IP 地址)进行响应。

另外如果配置健康状况检查,还会提高自动故障迁移能力,防止将流量一直转发到有问题的资源或者AWS区域。

举个例子,比如我们的业务分别部署在AWS的美国西部(俄勒冈)区域和亚太区域(悉尼),面向的是全球的用户。

分别在这两个区域部署了ELB,然后在Route 53为每个负载均衡器创建了基于延迟记录。

当位于伦敦的用户在浏览器中输入我们的域名时,将出现以下情况:

DNS 将向Route 53 域名服务器查询解析。

Route 53 查询其有关用户所在地伦敦与悉尼区域,以及伦敦与俄勒冈州区域之间延迟的数据。

如果伦敦与俄勒冈州区域之间的延迟较低,则 Route 53 使用位于俄勒冈州的负载均衡器的 IP 地址响应查询。如果伦敦与悉尼区域之间的延迟较低,则 Route 53 使用位于悉尼的负载均衡器的 IP 地址响应查询。那最终的用户会访问从用户端到延迟较低的AWS区域。注意是选择低延时的区域,低延时是唯一的选择路由标准,这是和所在地无关的。

如果记录启动了健康状况检查,假如出现俄勒冈区域或者任何导致健康状况检查失败的情况,那么用户就会自动failover访问悉尼区域的ELB,减少了我们的业务的中断的时间。

地理位置路由策略

好的,我们继续

基于地理位置路由策略,允许您根据用户的地理位置 (即 DNS 查询的来源位置) 选择提供流量的资源。

它能实现什么功能呢比如可以配置将来自欧洲的所有用户,路由到位于法兰克福区域的ELB。

注意这个是和前面的基于延迟的路由策略是不同的。

一般情况下需要创建一条默认记录,用以处理来自未映射到任何位置的,及未创建地理位置记录的查询。如果您不创建默认记录,则对于来自上述位置的查询,Route 53 将返回“无应答”响应。

地理位置路由策略对于您想要对您的内容针对性对于某个位置的本地化展现或者因法律法规要求,网站或业务只服务于某些国家等需求时非常适用。

举个例子, 假如我们业务的资源分布在英国,法国以及德国的AWS区域。可以配置基于地理位置路由策略,将英国的用户访问英国的资源,让法国的用户访问法国的资源,然后可以将德国配置为默认记录,将所在地除以上之外的其他用户访问都路由到德国的资源。

复杂/嵌套记录策略

接下来是复杂/或者叫做嵌套记录策略,嵌套的意思就是原有一层在套一层,我们直接通过一个例子来理解什么是嵌套记录。

假如我们的业务www.example.com 运行在两个AWS区域上, us-east-1和ap-southeast-1。

首先我们想通过Route 53延迟路由策略,将我们用户的流量路由到正确的区域,就是说用户到这两个区域的哪一个区域延迟低就访问哪个区域。这是前面讨论过的延迟路由策略的内容。

好,然后我们的网站是部署在这两个区域的共4台EC2实例,每个区域各2台实例。

我们的需求是如果用户基于延迟路由策略访问到 us-east-1的资源,我们希望有80%的几率访问第一台实例,20%的几率访问第二台实例;同样,如果用户访问到ap-southeast-1,我们希望访问该区域两台实例各有50%的几率。也就是说最终的用户首先通过延迟路由,将访问路由到低延迟的区域,然后,注意,还要配置一个加权路由策略来决定将用户的流量如何分配到区域的对应的EC2实例。

具体的配置流程是:首先先添加这些EC2的加权记录,两个区域分别创建两个加权记录指向对应EC2的IP地址;这一步用户流量如何分配到对应的EC2实例就做完了。

然后注意,要到延迟策略的内容了,要创建一个延迟 alias记录,对于alias记录的值,需要配置为前面配置的加权记录的域名,对应我们这个案例, 就是为www.example.com配置延迟alias记录,然后配置值为us-east-1-www.example.com 和 ap-southeast-1-www.example.com 。

好的,以上,嵌套记录的内容还是要了解一下的,可能会有考题会考这部分的内容。

多值应答路由策略

最后,如果您有很多资源提供同一服务,可以使用多值应答路由策略,它允许您将Route 53 配置为返回多个值 (如您的 Web 服务器的 IP 地址) 来响应 DNS 查询。

多值应答路由允许附加并检查每个资源的运行状况,以便 Route 53 只返回正常资源的值。每一次多值应答查询最多返回8个健康的记录,如果资源变得不可用,则客户端软件可以尝试其他 IP 地址。

由于具备返回多个IP地址且可进行运行状况检查的能力,可以通过多值应答路由提高可用性和负载均衡性,但是注意它不能代替负载均衡器。

好的,以上就是我们这个课时的内容,这节课我们讨论了Route53相关的内容,内容比较多,希望大家认真复习,也希望能够给大家带来帮助。

希望此系列教程能为您通过 AWS解决方案架构师认证 Professional 认证考试带来帮助,如您有任何疑问,请联系我们:

  • 如果您想获取本课程全部课时,请扫PPT的二维码加入。
  • AWS爱好者的网址是www.iloveaws.cn,认证视频课程,免费的认证考试仿真题以及认证课程文章,都可以在网站找得到
  • 可以通过扫码加入【AWS爱好者】微信公众号,查看原创的AWS知识点相关文章。
  • 加入【AWS爱好者】微信群,和其他同学一起备考,以及探讨交流AWS相关知识。

我们今天的视频课程就到这里,感谢大家的观看,我们下一课程再见。

2022年12月22日

0 responses on "Route53 - Part 1"

Leave a Message

Setup Menus in Admin Panel

error: Content is protected !!