Я пытаюсь установить два микроэкземпляра за внутренним ELB, который будет обрабатывать рутинные задачи, такие как центральное ведение журнала и запросы NTP, но понимаю, что ELB не поддерживает пересылку UDP. После некоторых поисков я наткнулся на это статья, и заглянул в него, но согласно Документы AWS, вы не можете настроить проверки работоспособности на узлах в частной зоне.
Итак, мой вопрос: как включить возможность размещения одного NTP-сервера с отказоустойчивостью (ELB или Route-53 или?), Чтобы локальные узлы могли ссылаться на него, а не загрязнять интернет-каналы запросами? Нужно ли мне управлять собственным механизмом отказоустойчивости через VIP и keepalived?
Не пытайтесь балансировать нагрузку или иным образом "HA" ваши серверы времени. Это противоречит принципу работы NTP - путем сравнения серверов друг с другом. Отказоустойчивость на основе DNS тоже не запускается. Также нет смысла в наивной проверке работоспособности ntpd, потому что демон может работать и быть счастливым, несмотря на то, что потерял рассудок и выдает неверные сигналы времени.
Обратите внимание, что ntpd будет преобразовывать имя назначенного сервера времени в IP-адрес при запуске и не будет пытаться повторно разрешить эту информацию после его запуска (если / пока вы не скажете ему повторно прочитать / перезагрузить файл конфигурации ).
Это означает, что если вы думаете, что получаете более высокую надежность, имея только одно имя сервера, но несколько IP-адресов (которые могут указывать на несколько машин), вам следует подумать еще раз. Когда вы управляете очень большой группой NTP-серверов (например, pool.ntp.org), это дает преимущества, но для чего-то меньшего вы почти наверняка не добьетесь того поведения, о котором думаете.
Кроме того, не пытайтесь дать нескольким машинам один и тот же IP-адрес или спрятать их за устройством балансировки нагрузки - это действительно запутает ntpd и сделает ситуацию намного хуже.
Намного лучше иметь определенный набор серверов, каждый со своим собственным уникальным IP-адресом, и настроить клиентов для подключения к нескольким серверам в этом наборе, а затем позволить клиентам решать проблемы, связанные с тем, что происходит, когда один или несколько их серверов становится недоступным или ненадежным.
http://support.ntp.org/bin/view/Support/SelectingOffsiteNTPServers#Section_5.3.6.
Сконфигурируйте серверы индивидуально и настройте клиентов на использование их всех ... всех 4 из них, так как 4 считается нижней границей для соответствующего количества серверов, так как это оставляет вас с тем, что по-прежнему является высококачественным сигналом времени от трех серверов, если один из серверов потеряет рассудок. Один плохой из трех не позволяет эффективно игнорировать один плохой сервер.
http://support.ntp.org/bin/view/Support/SelectingOffsiteNTPServers#Section_5.3.3.
С моей точки зрения, экземпляры NAT, используемые в VPC, являются подходящими кандидатами для запуска ваших серверов времени.
Или ... учтите, что как только ntpd стабилизируется, он генерирует все меньше и меньше трафика, и не стоит слишком беспокоиться об относительно незначительном объеме интернет-трафика (но, конечно, не настраивайте все серверы для прямого подключения к источникам уровня 1. ).