AWS – ELB – NTP – 无法转发UDPstream量?

我试图在一个内部ELB后面设置两个微型实例,这个实例将处理中央日志logging和NTP查询等普通任务,但是却意识到ELB不支持UDP转发。 经过一番search之后,我发现了这篇文章 ,并对其进行了研究,但根据AWS文档 ,您无法在私有区域内的节点上设置健康状况检查。

所以我的问题是,如何让主机容错(ELB或Route-53,或?)的单个NTP服务器的能力,所以本地节点可以引用它,与污染互联网渠道与请求? 我是否需要通过VIPpipe理自己的容错机制并保持活跃?

不要尝试加载平衡或“HA”你的时间服务器。 这与NTP如何devise工作相反 – 通过比较服务器彼此。 基于DNS的故障转移也是一个非启动器。 ntpd的天真健康检查也没有意义,因为守护进程可以运行并且很快乐,尽pipe失去了主意并且发出了无效的时间信号。

请注意,ntpd将在启动时将指定的时间服务器的名称parsing为IP地址,并且在运行时不会尝试重新parsing该信息(除非您告诉它重新读取/重新加载configuration文件)。

这意味着,如果您认为只有一个服务器名称,但多个IP地址(可能指向多台机器)可以获得更高的可靠性,则应该再次考虑。 当你pipe理一个非常大的NTP服务器组(例如pool.ntp.org)的时候,这是有好处的,但对于更小的事情,你几乎肯定不会得到你想要的行为。

另外,不要试图给多台机器使用相同的IP地址,要么将其隐藏在负载均衡设备之后,这样做会使ntpd感到困惑,并使情况变得更糟。

有一组指定的服务器,每一个都有自己独特的IP地址,configuration客户端连接到这个集合中的多个服务器,然后让客户端处理当他们的一个或多个服务器变得无法达到或不可靠。

http://support.ntp.org/bin/view/Support/SelectingOffsiteNTPServers#Section_5.3.6

单独configuration服务器并将客户端设置为全部使用…全部4个,因为4被认为是适当数量的服务器的下限,因为这会给您留下来自三个高质量的时间信号服务器,如果其中一个服务器应该失去主意。 一个坏的三个不允许一个坏的服务器被有效地忽略。

http://support.ntp.org/bin/view/Support/SelectingOffsiteNTPServers#Section_5.3.3

从我的angular度来看,VPC中使用的NAT实例适合运行时间服务器。

或者…考虑一旦ntpd稳定下来,它就会产生越来越less的stream量,不必太担心互联网stream量相对可以忽略的程度(当然不要把服务器都configuration成直接连接到第一层)。