阿里云上搭建私网DNS的几种方案

前言:

       私网DNS对一些客户来说是非常重要的,因为他们系统API之间一般都是通过私网域名调用的,如果私网DNS出现问题相当于手机失去基站,整个系统会瘫痪。我总结了三种搭建私网DNS的方案供大家参考。

一、 云解析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时有所帮助

阿里云提供了一种方便快捷的方法,可以在其云服务器上搭建内网DNS服务。 首先,在阿里云控制台创建一个新的云服务器实例,并选择一个适当的操作系统,例如CentOS。安装完成后,我们需要登录到该服务器。 接下来,安装并配置BIND(或其他DNS服务器软件),它是一种常用的DNS服务器软件。在终端中运行命令`yum install bind bind-utils -y`来安装BIND。 安装完成后,我们需要编辑BIND的配置文件`/etc/named.conf`。在文件中我们可以定义DNS服务器的配置,例如绑定的IP地址、允许的客户端IP地址等。 配置完成后,我们需要创建一个名为zone的文件,用于定义我们要解析的域名和IP地址。在`/var/named/`目录下创建一个新的zone文件,并在`named.conf`文件中指定该zone文件的路径。 然后,我们可以通过终端中运行命令`named-checkconf`来检查配置文件是否有语法错误。如果没有错误,我们可以重新加载BIND服务,使配置文件生效。 现在,我们就可以在内网中将阿里云DNS服务器的IP地址配置为本地设备的DNS服务器。当内网设备请求域名解析时,阿里云DNS服务器会响应并提供正确的IP地址。 需要注意的是,内网设备需要配置正确的网关和DNS服务器,以便能够与阿里云的云服务器进行通信。 通过上述步骤,阿里云的云服务器就可以搭建一个内网DNS服务器,用于提供域名解析服务,使内部设备能够方便地与外部互联网进行通信。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值