Для приложений, которые проходят аутентификацию на контроллере Active Directory, очевидно, что было бы лучше просто указать их на DNS-запись основного домена, а не на конкретный DC для восстановления после сбоя, балансировки нагрузки и т. Д.
Каковы лучшие практики для тех приложений, которые заставляют вас жестко кодировать IP-адрес DC? Вместо этого мы могли бы жестко запрограммировать IP-адрес балансировщика нагрузки, так что, если один DC отключится, это приложение все равно сможет аутентифицироваться. Есть ли лучшие альтернативы?
Ответы:
Active Directory уже имеет встроенные методы балансировки нагрузки. Ваш клиент Windows знает, как найти избыточные контроллеры домена на своем собственном сайте и как использовать другой, если первый недоступен. Нет необходимости выполнять дополнительную балансировку нагрузки, например «кластерные» контроллеры домена и т. Д., Если у вас есть резервные контроллеры домена.
В некотором смысле вы можете рассматривать сайт Active Directory как «балансировщик нагрузки», потому что клиенты на этом сайте случайным образом выбирают один из контроллеров домена на одном сайте. Если все DC в сайте выходят из строя или если у сайта нет DC, клиенты выбирают другой сайт (ближайший ближайший сайт или случайный выбор).
Вы можете балансировать нагрузку службы DNS, предоставленной Active Directory для клиентов, присоединяющихся к домену, установив VIP на аппаратный балансировщик нагрузки и имея такой баланс нагрузки VIP между несколькими контроллерами домена. Затем на своих клиентах установите этот VIP в качестве предпочтительного DNS-сервера в конфигурации TCP / IP.
Я делаю это прямо сейчас для глобальной инфраструктуры, и она прекрасно работает.
Но это относится только к службе DNS.
Не пытайтесь загрузить баланс ваших контроллеров домена для аутентификации. Это напрашивается на неприятности. По крайней мере, вам придется выполнить много сложных пользовательских SPN-работ, и вы будете выходить за пределы поддержки Microsoft. Из этого блога, который вы должны прочитать , я процитирую его:
Теперь что касается приложений, которые просят вас ввести IP-адрес контроллера домена? Хорошо, я просто повторю свой комментарий:
источник
никогда не было веской причины жестко кодировать IP или использовать IP для разрешения запросов AD. Нет лучших практик для плохих практик.
источник
Некоторые из других ответов на этот вопрос, похоже, предполагают, что нет другого мира, кроме приложений, знакомых Microsoft. К сожалению, это не так, как доказательство исходного вопроса:
Хотя Microsoft не поддерживает и не рекомендует использовать решение NLB перед Active Directory, на самом деле, по-видимому, существуют некоторые варианты аутентификации приложений, не поддерживающих Microsoft AD.
источник
Фактическая потребность во внешней AD «Балансировка нагрузки» встречается редко, и это трудно сделать должным образом. Потребность в типичных запросах может работать нормально, однако типичный клиент Windows и приложения должны выполнять обновления. Клиент Windows пытается установить сходство с конкретным постоянным током, поэтому, если он что-то обновляет и сразу же пытается выполнить следующую операцию, он попадает в тот же постоянный ток. Разработчики приложений делают то же самое. Если вы пишете код, который создает учетную запись пользователя, а затем попытаетесь изменить пароль для этой учетной записи через 1 мс, вам нужно нажать тот же постоянный ток.
Если вы использовали интерфейс AD с каким-либо решением для балансировки нагрузки, вы берете на себя ответственность за обеспечение того, чтобы эти подходы и сходства не нарушались.
Если требуется доступность, а не балансировка нагрузки, кластеризация может быть более подходящей (кластер может содержать червей в стороне).
В крупных реализациях AD более традиционный подход заключается в идентификации большинства потребителей и размещении их на сайте с их собственными постоянными клиентами. Например, если у вас есть пять серверов Exchange, создайте сайт для подсетей для этих серверов и поместите выделенные GC на этот сайт. То же самое относится и к другим серверам, таким как SharePoint.
источник