前言:
一、 云解析PrivateZone
PrivateZone,是基于阿里云专有网络VPC(Virtual Private Cloud)环境的私有域名解析和管理服务。该服务允许您在自定义的一个或多个VPC中将私有域名映射到IP地址。
通过PrivateZone,可以方便地使用私有域名记录来管理VPC中的ECS主机名、SLB、OSS等阿里云资源,而这些私有域名在VPC之外将无法访问。此外,您还可以通过专线或VPN等连接方式,将您的VPC与传统数据中心相连,实现传统数据中心与阿里云VPC之间通过私有域名进行资源互相访问。
PrivateZone目前已经商业化,是云产品之一,所以配置简单是他的最大优点,另外PrivateZone是region级的,也就是说假如在你账号下北京region下配置的域名解析,同一账号下北京region的VPC内网都可以解析这个域名
适合的场景:中小企业内网解析压力不大的,对解析延时没有特别苛刻要求的场景
PrivateZone的官网介绍(https://help.aliyun.com/document_detail/64634.html?spm=a2c4g.11186623.6.553.Z2klYt)
PrivateZone的高可用性是由阿里云保障的
如果碰到解析量较大对解析延时要求比较高的场景PrivateZone可能会有一定的局限性。局限性表现为:
1)PrivateZone不保障和查询客户端在一个机房,网络延时可能会比同机房解析高
碰到对解析延时有要求的客户可以推荐他在ECS上自建DNS的方案
二、普通ECS VM上搭建私网DNS
在ECS上搭建DNS的优点
1)部署灵活,可以做到DNS Server和解析客户端同机房部署,减小解析时网络延时消耗。
2)DNS参数调配灵活、个性化
在ECS上搭建DNS的高可用保障
在ECS上搭建DNS的高可用需要客户自己考虑,SLB是有主备机制的,SLB下DNS vm数量最好多建几台即可作为负载也可互为备份。
SLB和ECS的一些网络参数是按大多数应用场景设计的,而且ecs的宿主机上还有其他客户,所以物理机的网络参数是默认的,不会因为客户场景调配。默认参数在DNS解析方面并非最优,比如SLB的udp session超时时间和ecs的超时时间就过长,在超大并发查询的情况下可能会出现CPU性能明明还够但网络性能先出现瓶颈,udp session数超出上限的情况。遇到超大规模解析查询时客户可能要分拆客户端到多组DNS查询,从而减小DNS server的网络压力。这种方案虽然可以解决但从成本考虑并非最优,有没有可以调配ecs的性能参数让其更适合DNS的场景呢,答案是有,可以使用DDH主机,DDH主机上客户的专有宿主机,物理机的网络性能参数可以按客户的需求调配。
三、在DDH主机上优化网络参数后搭建私网DNS
DDH主机官网介绍(https://help.aliyun.com/document_detail/68563.html?spm=a2c4g.11186623.6.539.SVphNi)目前产品还在公测阶段。
DDH可以根据DNS解析的场景调配更适合场景的参数,避免出现ecs那种计算资源还充足但网络资源不足的情况。主要调配的网络参数为降低udp session的超时时间,避免vm 保存过多无用的session,我们测试的时候DDH主机的udp session超时时间调配到15秒。然后调低SLB的udp session的超时时间,我们测试时调配到10秒,这里有两个注意事项:
- DDH的udp session的超时时间有2个参数,一个参数是负责SLB挂载vm这样场景的超时时间,另一个参数是vm直接访问vm这种场景,可以都调成15秒
- SLB的udp session的超时时间一定要小于DDH的udp session的超时时间。这是因为避免DDH的udp session的超时时间先与SLB的超时时间,导致SLB的后端vm连接中断,从而导致客户访问断连。
配置DDH和SLB的网络参数之后我们对比测试了一下DDH和ECS在同等查询请求量下session数对比,
测试环境:
- DDH上建的vm和ECS vm是同等配置的ecs.sn1ne.4xlarge(16核32G网络增强型),所以计算性能是一样的。
- SLB下挂载的DDH的vm数量和ecs vm数量相同且权重相同,转发策略是加权轮询,保证请求数量是基本相同。
基本可以推算出在计算性能不出现瓶颈时DDH主机上的DNS解析性能大约是ECS上搭建DNS的4.5倍。后来我们压测了一下DDH主机上DNS计算性能的瓶颈点,大约在75万session时解析耗时有超过1秒的情况,还短暂出现单核跑满的情况,所以初步认为udp session超时在15秒时,DNS server最大session为75万。
DDH主机高可用性:
目前DDH主机还处于公测阶段没有最后商业化,高可用方案需要客户设计,目前看只有购买双倍物理机做负载加备份的方案。我们也期待DDH早点商业化把这块短板补上
总结:
名称 | 搭建易用性 | 高可用性 | 应对超大规模DNS查询场景能力 | 成本优势 | 易维护性 |
PrivateZone | 5 | 5 | 3 | 4 | 5 |
ECS搭建DNS | 4 | 4 | 4 | 3 | 4 |
DDH搭建DNS | 3 | 3 | 5 | 5 | 3 |
三种方案应对三种查询量的场景,希望对你搭建私网DNS时有所帮助