Skip to content

http://www.cloudbin.cn/?tag=aws&paged=2

Route53简介

Amazon Route 53是一种高可用、高扩展性的云DNS服务。它为开发人员和企业提供一种非常可靠和经济的方法,把对用户友好的、易读的域名(比如aws.xiaopeiqing.com)转换为IP地址(例如120.79.65.207)。目前Amazon Route53已经支持IPv6

Amazon Route 53 如何为您的域路由流量

img

官方文档:https://docs.aws.amazon.com/zh_cn/Route53/latest/DeveloperGuide/welcome-dns-service.html

  • 弹性负载均衡器(ELB)没有固定的IPv4地址,在使用ELB的时候永远使用它的DNS名字。很多场景下我们需要绑定DNS记录到ELB的endpoint地址,而不绑定任何IP
  • 需要熟记Alias记录和CNAME的区别,也可以参考一下在别名和非别名记录之间做出选择

如何使用Route53的DNS服务

AWS Route53中有多种不同的路由策略(Routing Policy),我们可以根据自己的不同需求将我们的DNS解析到不同的目标上去。

  • 简单路由策略(Simple Routing Policy):提供单一资源的策略类型,即一个DNS域名指向一个单一目标
  • 加权路由策略(Weighted Routing Policy):按照不同的权值比例将流量分配到不同的目标上去
  • 延迟路由策略(Latency Routing Policy):根据网络延迟的不同,将与用户延迟最小的结果应答给最终用户
  • 地理位置路由策略(Geolocation Routing Policy):根据用户所在的地理位置,将不同的目标结果应答给用户
  • 地理位置临近度路由(Geo-proximity Routing Policies): 当您希望根据资源的位置路由流量时使用,并且可以选择将流量从一个位置的资源转移到另一个位置的资源。 Geoproximity routing允许Amazon根据用户和资源的地理位置将流量路由到您的资源。
  • 故障转移路由策略(Failover Routing Policy):配置主动/被动(Active/Passive)的故障转移策略,保证DNS解析的容灾

img

img

img

img

img

image-20220123174833107

img

img

img

img

img

img

路由策略

Simple Routing Policy

AWS Route 53,我们使用**简单路由策略(Simple Routing Policy)**来为域名创建一个标准的DNS记录,而不用复杂的例如基于延迟或者权重的方法。一般我们使用简单路由策略将我们的流量指向单一的资源,例如一台Web服务器。

在简单路由策略配置里面,对于同一个DNS名我们只能创建一条目标,这个目标可能是一组IP地址,或者是一个Alias记录。

下面的操作是如何使用简单路由策略将我们的域名指向到一个S3托管的静态网站

img

img

img

img

img

img

Weighted Rouing Policy

使用AWS Route53加权路由策略(Weighted Rouing Policy),我们可以将多个资源关联到同一个域名(例如iteablue.com),并根据不同的权值比重将流量分发给不同的资源。

我们可以使用加权路由策略来做负载均衡,或者软件测试。

比如将5%的流量引导到测试应用上,观看测试应用的效果。

我们可以为每一个记录都分配一个权值,每一条记录分配到的总流量的比例是权值/所有记录的权值之合,公式如下:

img

在DNS层面没有会话的保持功能,但是在客户端角度看,DNS结果是会缓存在本机的,也会缓存到离用户较近的DNS服务器上,因此客户在短时间内去访问这个域名,都会得到一样的结果。

下面讲解如何使用加权路由策略吧,我将会把根域名的50%流量指向S3静态托管网站,将另外50%流量指向EC2实例下的HTTP服务器。

创建一个EC2 HTTP Serve

img

img

创建ALB

img

img

img

img

img

img

img

img

img

img

编辑策略加权路由策略

img

img

img

Latency Routing Policy

AWS Route53的**延迟路由策略(Latency Routing Policy)**可以让我们从延迟最低的AWS区域为用户处理请求,从而提高性能和速度。

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

举个例子,如果我在东京区域和首尔区域都有ELB负载均衡器,我需要为2个ELB都创建延迟路由类型的DNS记录。

当一个用户访问这个域名的时候,Route53会查看到东京区域以及到首尔区域之间的延迟,并且使用延迟较低的一个,把其结果反馈给用户。

如果与首尔之间的延迟较低,那么用户最终会访问首尔的ELB负载均衡器

img

img

img

Failover Routing Policy

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

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

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

img

img

img

img

img

img

img

img

img

img

img

img

img

img

img

img

Geolocation Routing Policy

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

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

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

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

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

img

Multivalue answer routing policy

如果您想要让 Route 53 用随机选择的正常记录(最多八条)响应 DNS 查询,则可以使用该策略。可以作为简单的LoadBlanc

总结:

  • 弹性负载均衡器(ELB)没有固定的IPv4地址,在使用ELB的时候永远使用它的DNS名字。很多场景下我们需要绑定DNS记录到ELB的endpoint地址,而不绑定任何IP
  • 需要熟记Alias记录和CNAME的区别,也可以参考一下在别名和非别名记录之间做出选择

AWS Route53中有多种不同的路由策略(Routing Policy),我们可以根据自己的不同需求将我们的DNS解析到不同的目标上去。

  • 简单路由策略(Simple Routing Policy):提供单一资源的策略类型,即一个DNS域名指向一个单一目标
  • 加权路由策略(Weighted Rouing Policy):按照不同的权值比例将流量分配到不同的目标上去
  • 延迟路由策略(Latency Routing Policy):根据网络延迟的不同,将与用户延迟最小的结果应答给最终用户
  • 地理位置路由策略(Geolocation Routing Policy):根据用户所在的地理位置,将不同的目标结果应答给用户
  • 故障转移路由策略(Failover Routing Policy):配置主动/被动(Active/Passive)的故障转移策略,保证DNS解析的容灾