大纲
在给客户从本地机房往AWS迁移的过程中,我们接到如下需求:
- 需要将流量按照权重分配到不同的Region。
- 需要稳定的全球化服务。
客户需要一套在AWS上可行的方案。我们推荐了AWS Route53。
1 什么是Route 53
Amazon Route 53 是一种可用性高、可扩展性强的域名系统 (DNS) Web 服务。AWS Route53提供了强大的DNS、流量管理和可用性监控服务。Route53是一个Gloabl 的服务,我们可以通过该服务现实对其他Region的流量管理和分流。
2 Route 53能做些什么
- 通过创建DNS托管和分流策略对进入Service的流量进行分流。
- 通过创建流量视图来实现流量的分流。
- 通过Route53 来购买域名。
- 对非AWS的服务进行流量分流和把控。
# 3 通过DNS托管来实现分流
3.1 创建DNS托管
3.2 对托管创建记录对流量进行分配
这里可以是简单的分配方式,可以是权重,还可以是地理位置的分配。
4 通过流量策略来对流量进行分流
4.1 创建流量策略
可以看出流量策略的操作比托管简单,但是流量策略的费用是比托管要贵很多。流量策略这块不能对域名缓存进行TTL的设置,托管是可以的。
5 对比两者的区别
名称 | 流量策略 | DNS 托管 |
---|---|---|
上手难度 | 低 | 高 |
流量费用 | 高 | 一般 |
缓存时间设置 | 不支持 | 支持 |
别名查询 | 支持 | 支持 |
网络架构图 | 支持 | 不支持 |
灵活性 | 高 | 一般 |
路由策略 | 支持 | 支持 |
6 推荐
- 两者在性能上是没有区别的,但是在费用上两者的区别就特别大了。流量策略是使用的系统缓存60s,也就是同一个域名的缓存查询的存活时间是60s,60s后会再次产生查询;而DNS托管是可以设置缓存存活时间的。Route 53的一部分收费是按照查询收费的,所以我们使用DNS托管在查询这块会节省出一大部分,缺点就是上手难度高,配置起来比较复杂。
- 我们可以通过Route 53 + Auto Scaling + ALB 实现一整套微服务的实现方案。从流量的分流和负载均衡到服务器设备的自动扩缩。