阿里云DNS的高级运维指南

设计思想

阿里云DNS采用的是recordId的设计思路,针对一个每一个子域名(rdata)可以设置多条记录,这样做的优势就是每次做新增操作非常方便,不需要考虑原值情况.阿里云后端已经帮助用户进行了丰富的校验,兜住一些非法请求.

运维技巧

鉴于上述阿里云的设计思路以及DNS本身的特性参考RFC协议可以在日常工作中进行一些相应的开发工作:

  1. 阿里云DNS产品每次update操作是需要入参recordId的.
  2. 业务域名进行接入的时候可以尽量保证每个子域名+线路是一条记录,这样可以在获取reocrds列表后获取第一个元素直接进行update操作.
  3. 在新增记录的时候需要考虑当前子域名(rr)是否已经存在记录,因为很有可能业务规模越来越大的时候导致子域名冲突影响其他业务.
  4. 如果需要批量变更记录,也务必一条一条变更,尤其是在同样一个rr的情况下.因为系统会保证上一个操作完成后才可以进行下一条操作.
  5. 要注意线路问题,请尽量保证一定有default线路否则的话,没有匹配到线路会导致用户不能正常访问域名.也请保证default不要被删除或者被暂停.
  6. 警惕泛域名解析,如果已经有了*.aliyun.com的解析就要小心业务往往以为自己的abc.aliyun.com走了泛域名解析而不是自己实际的子域名解析导致变更*解析的的时候影响了abc.aliyun.com出现故障.
  7. 阿里云是少数几个支持主域名(@.aliyun.com)配置CNAME的厂商.
  8. 阿里云是少数几个可以直接针对子域名类型进行直接变更的厂商.

高级功能

  1. 默认的TTL为10分钟,用户可以通过升级套餐的形式来优化TTL时间.
  2. 当用户需要通过DNS解析来进行调度的时候为了避免触发也可以做DNS的数据备份计划来保证数据的可靠性与一致性.
  3. 当有一个场景的时候也可以用DNS来保证流量路由,那就是自定义IP段来做线路解析.比如你可以设置一个IDC出口的线路然后对应返回给rr一个内网地址,这样可以保证流量不走公网,大大节约了网络成本.

通过DNS帮助业务进行迁移和灰度

普通用户往往会通过SLB进行业务的灰度,这样的话有一个非常实用的功能,你可以做一层嵌套,然后把这个cname的记录和ip设置成新老记录的1:100这样把业务域名优先cname给这个域名 保证灰度的比例又可以平滑迁移.也不至于直接在业务域名上面配置权重的话会有一个时间窗口导致影响.
在此举个栗子:
比如现在a.aliyun.com A 记录到了 1.1.1.1
然后我现在想通过2.2.2.2 配置了后端服务进行灰度,那么应该怎么办呢?
我们先创建一个a-shadow.aliyun.com的域名配置到1.1.1.1以及2.2.2.2
设置权重1:100,然后直接把a.aliyun.com 由A记录1.1.1.1变更为cname a-shadow.aliyun.com,通过这层级联关系.进行完美的灰度.

上一篇:视频监控与大数据结合开辟智能安防新局面


下一篇:【转】获取android设备 id