Route 53

作者: 就这些吗 | 来源:发表于2021-03-14 22:07 被阅读0次

    1. Route53是什么?

    Amazon Route 53是一种高可用、高扩展性的域名系统 (DNS) Web 服务。可以使用 Route 53 以任意组合执行三个主要功能:域注册、DNS 路由和运行状况检查。目前Amazon Route53已经支持IPv6。

    2.DNS和它的子概念?

    DNS的全称是Domain Name System,它的作用就是将一个域名最终解析成一个IP地址。

    我们可以在域名注册商上注册新的域名,比如国内的万网(现在已经被阿里云收购),新网,国外的Godaddy等。

    现在AWS也算是一个域名注册商,因此我们可以直接在AWS Route53的界面选择并购买新的域名,比如下图就是我在AWS购买的域名。

    截屏2021-03-14 下午2.51.50

    买完了域名我们就可以对我们的域名进行一些配置了,首先我们得创建一个托管区(hosted zone)来管理我们的DNS配置。下面我们介绍的,就是在Hosted Zone里面管理DNS的知识点。

    NS(Name Server)

    • Name Server记录描述了某个域名所使用的权威的DNS服务器,所有其他DNS服务器进行轮询查询的时候最终都需要到这些权威的DNS服务器上进行查询,获取最新的记录。需要注意的是,AWS Route 53不仅可以管理在AWS里买的域名,其他域名供应商的域名我们同样也能管理,比如下图我在腾讯云里买了个域名,那么我可以把这个域名的Name Server改成我们Hosted Zone里面的配置(需要注意的是,当我们创建Hosted Zone的时候,会自动创建下图中的两个记录,一个是NS,一个是SOA,虽然我们可以给一个域名创建多个Hosted Zone,最终起效果的只会是Hosted Zone与域名供应商那边的Name Server相同的哪一个)

    • 这里另起一行是因为我在这卡了三个小时!!你需要修改的顺序应该是:先创建好Hosted Zone,拿到这个Hoseted Zone里给分配的Name Server之后,再去域名供应商那修改 截屏2021-03-14 下午10.07.25.png
    截屏2021-03-14 下午2.59.09

    SOA(Start of Authority)

    • SOA – Start of Authority记录了关于该域名的很多信息,包括

      • Primary Name Server – 主DNS服务器

      • Responsible Mail Address – 管理员的邮箱地址

      • Serial – SOA记录数据的版本号,每次DNS记录更新,版本号都会加1。备用DNS服务器发现版本号不同,会向主DNS服务器同步

      • Refresh – 备用DNS服务器向主DNS服务器检查更新的时间间隔

      • Retry – 备用DNS服务器向主DNS服务器请求更新失败后的重试等待时间

      • Expire – 备用DNS服务器在超过该时间后将停止应答该域名的DNS查询

      • Default TTL – 默认DNS记录的TTL时间

        截屏2021-03-14 下午10.06.57.png

    A记录(Adress)

    • A记录 – A (Address)记录可以将域名直接转换为IPv4的地址,比方说将a.guhao.xyz 转换为地址1.1.1.1
    截屏2021-03-14 下午4.53.08

    CNAME(Canonical Name)

    CNAME就比较随意了,你可以将域名路由到任何你想路由的其他域名,比如我们可以将其路由到www.baidu.com

    有一点需要注意的是,CNAME并不能支持配置根域名(southestsoul.com),如下下图所示,会报错,而等下我们会介绍的Alias则可以做到这一点。

    截屏2021-03-14 下午5.21.16 截屏2021-03-14 下午5.46.27

    别名(Alias)

    当我们选择别名时,就可以支持配置根域名(southestsoul.com)去路由了(当然也可以不用根域名),可以看到他可以选择AWS服务的一些别名

    • 一类是此托管区的另一个记录的别名,举个例子

      • 我们此时创建的是一个A记录的别名,在这个托管区(Hosted Zone)中我还有一个A记录 a.southest.soul.com -> 1.1.1.1, 那么我们可以选择创建一个southestsoul.com-> a.southest.soul.com的A记录
    • 一类是AWS服务的别名,这类AWS服务对外暴露的都是DNS(因为这些AWS的服务都是自动扩容的),而这些AWS服务的DNS会指向它后面的那些IP,所以我们可以用A记录的别名来指向这些AWS的服务

      • 当然我们也可以指定CNAME的别名,那么就只能指向此托管区中的另一个CNAME。

    Alias相较于CNAME来说还有个好处,那就是用Alias时, 不收费,而用CNAME则hi收费。

    截屏2021-03-14 下午6.51.10

    TTL(Time to Live)

    TTL – Time to Live时间是DNS记录在DNS服务器或用户端上缓存保留的时间,在TTL时间到达之前,DNS记录将缓存在其他非权威DNS服务器或者用户主机上

    • TTL时间如果设置过短,那么会增加记录更新的频率,同时增加递归查询的时间。即每次到达TTL时间,其他DNS服务器都要再次访问该域名服务器来更新信息

    • TTL时间如果设置过长,那么在做DNS记录更新的时候,真实用户会很长时间之后才能查询到最新版本的记录(要等到TTL时间结束)

    3.路由策略(Routing Policy)

    在我们创建DNS记录的时候,会有这个路由策略,这一节我们就来看一下这些路由策略都是什么意思。

    特别注意:在下面的例子中我都是以A记录来举例子(这里图方便了),在实践中我们可以选择CNAME,Alias等等,而且也推荐使用Alias去路由负载均衡器等一些云服务

    截屏2021-03-14 下午7.25.48

    3.1 简单路由策略(Simple Routing Policy)

    对于同一个DNS名我们只能创建一条目标,这个目标可能是一组IP地址,或者是一个Alias记录。

    3.2 加权路由策略(Weighted Rouing Policy)

    多个资源关联到同一个域名(例如iteablue.com),并根据不同的权值比重将流量分发给不同的资源。

    我们可以为每一个记录都分配一个权值,每一条记录分配到的总流量的比例是权值/所有记录的权值之合,如下图所示,我们可以给同一个DNS分配多个A记录,并且设置权值(这里的中文翻译特别差),当我们访问southestsoul.com就会随机分配到1.1.1.1和2.2.2.2,并且根据权值计算出来几率是50%,50%.

    截屏2021-03-14 下午7.48.49

    3.3 延迟路由策略(Latency Routing Policy)

    我们需要在Route53中创建多条DNS记录(延迟路由策略类型),并且将它们指向不同区域内的目标。当用户去访问这个DNS记录的时候,会先对不同目标的延迟做比较,并且选择延迟最低的一个目标进行访问。

    • 举个例子,如果我在香港区域和非洲区域都有服务器,我需要为2个服务器都创建延迟路由类型的DNS记录。

      • 当一个位于中国的用户访问这个域名的时候,Route53会查看中国到香港区域以及中国到非洲区域之间的延迟,并且使用延迟较低的一个,把其结果反馈给用户。

      • 如果中国与香港之间的延迟较低,那么用户最终会访问香港的服务器。

      • 如果中国与非洲之间的延迟较低,那么用户最终会访问非洲的服务器。

      • 注意,这个延迟是根据DNS的配置来的,如果你给的IP地址是在新加坡,但是在下面图中DNS的记录里选的却是香港,那么最终会按照到香港的延迟来决定,而不是到新加坡的延迟

        截屏2021-03-14 下午8.00.49

        3.4 故障转移策略(Failover Routing Policy)

        故障转移路由策略(Failover Routing Policy)实际上是创建了DNS记录的主动/被动(Active/Passive)故障转移。

        在正常的情况下所有的流量应该解析到主的DNS记录上面。只有当这个主的DNS记录不健康的时候,Route53才会自动将所有流量解析到备用的DNS记录上面。

        我们可以对域名开启健康检查(Health Check)功能,对域名(服务和端口)的健康状态进行监控,一旦健康状态出现问题,Route53就会自动进行切换。

        • 举个栗子,下面提到的这个栗子就是说,如果9.9.9.9的80端口健康检查为unhealthy,那么这个DNS就会解析到10.10.10.10:

          • 首先我们就需要创建一个运行状况检查(Health Check),在这里我们可以配置要检查的IP地址/DNS,和检查的一些标准,比如请求三次,每次隔30秒,如果都失败那么这个health check就认为是unhealthy的

          • 创建DNS故障转移记录,在故障转移记录类型中选择主要(Primary),也就是说如果health check是healthy的,那么这个Doman就会被路由到Primary的IP地址,注意,Health Check是必要的对Primary来说是必要的,而Secondary则可以不配置。

          • 创建Secondary的DNS记录。

        截屏2021-03-14 下午9.17.25 截屏2021-03-14 下午9.09.28 截屏2021-03-14 下午9.09.13

        3.5 地理位置路由策略(Routing Policy)

        地理位置路由策略(Geolocation Routing Policy)可以根据用户所在的位置来返回不同的DNS结果。

        比如可以让位于位于东京的用户访问东京的ELB负载均衡器,位于首尔的用户访问首尔的ELB负载均衡器,位于新加坡的用户也访问首尔的ELB负载均衡器等。

        使用基于地理位置的路由策略,我们可以对内容进行本地化(提供当地的语言和特色);也可以向某些地理位置提供内容服务,而向其他地理位置提供另外的内容服务,甚至不提供服务。

        我们可以按大陆(七大洲))、国家/地区来指定地理位置,并且地理区域范围越精细则优先级越高。

        Route53判定地理位置的依据是用户的源IP地址,有一些IP地址可能无法识别为具体的地理位置,因此我们最好设置一条默认的匹配规则。在这条默认的匹配规则里,没有被任何国家/地区所匹配的位置,但是还可以访问到某个内容。

        截屏2021-03-14 下午9.24.21 截屏2021-03-14 下午9.25.53

        3.6 多值应答策略(Multivalue Answer Policy)

        与简单路由策略相似,简单路由对于同一个DNS名我们只能创建一条目标,而多值应答策略则可以创建多条DNS记录,访问的时候会在创建的几条里面随机路由IP。

        截屏2021-03-14 下午9.44.47 截屏2021-03-14 下午9.44.16

    相关文章

      网友评论

          本文标题:Route 53

          本文链接:https://www.haomeiwen.com/subject/rnwccltx.html