Balanceamento de carga e failover de autenticação do Active Directory

8

Para aplicativos autenticados em um controlador de domínio do Active Directory, obviamente seria melhor apenas apontá-los para o registro DNS do domínio principal, em vez de um controlador de domínio específico para failover, balanceamento de carga etc.

Quais são as práticas recomendadas para os aplicativos que forçam você a codificar o IP de um controlador de domínio? Em vez disso, poderíamos codificar o endereço IP de um balanceador de carga; portanto, se um controlador de domínio fosse desativado, o aplicativo ainda conseguiria se autenticar. Existem alternativas melhores?

Derrick
fonte
2
Quem escreveu um aplicativo que o força a codificar o endereço IP de um controlador de domínio para ele não sabe o que está fazendo.
Ryan Ries
1
Encontre o desenvolvedor do aplicativo e peça para corrigi-lo.
Michael Hampton
É principalmente para alguns aplicativos herdados e caixas NAS antigas que ainda não estamos prontos para substituir.
Derrick

Respostas:

8

O Active Directory já possui técnicas de balanceamento de carga. Seu cliente Windows sabe como localizar os controladores de domínio redundantes em seu próprio site e como usar outro se o primeiro não estiver disponível. Não há necessidade de realizar balanceamento de carga adicional, como controladores de domínio "em cluster" etc., desde que você tenha controladores de domínio redundantes.

De certa forma, você pode pensar em um site do Active Directory como um "balanceador de carga", porque os clientes nesse site escolherão aleatoriamente um dos controladores de domínio no mesmo site. Se todos os controladores de domínio de um site falharem ou se o site não tiver controladores de domínio, os clientes escolherão outro site (site mais próximo mais próximo ou aleatoriamente).

Você pode equilibrar o serviço DNS fornecido pelo Active Directory para clientes ingressados ​​no domínio, colocando um VIP em um balanceador de carga de hardware e tendo esse equilíbrio de carga VIP entre vários controladores de domínio. Em seus clientes, coloque esse VIP como o servidor DNS preferido na configuração TCP / IP.

Estou fazendo isso agora para uma infraestrutura global e está funcionando muito bem.

Mas isso se aplica ao serviço DNS.

Não tente balancear a carga de seus controladores de domínio para autenticação. Está pedindo problemas. Você teria que, no mínimo, fazer um trabalho complexo e personalizado do SPN e estaria se afastando dos limites de suporte da Microsoft. A partir deste blog, que você deve ler , vou citá-lo:

Volte para os fornecedores e diga a eles que não os considera AD Integrated e você encontrará uma solução diferente.

Agora, quanto aos aplicativos que solicitam que você digite o endereço IP de um controlador de domínio? Bem, vou reiterar meu comentário:

Quem escreveu um aplicativo que o força a codificar o endereço IP de um controlador de domínio para ele não sabe o que está fazendo.

Ryan Ries
fonte
A pergunta original era "Quais são as práticas recomendadas para os aplicativos que forçam você a codificar o IP de um controlador de domínio?". Suponha que não haja aplicativos legítimos por aí que não suportem descoberta dinâmica é uma suposição ruim. Existem muitos aplicativos não Windows que gostariam de se autenticar no Active Directory. Então, qual é a melhor maneira de fazer esses aplicativos funcionarem onde a descoberta dinâmica de DC não é uma opção?
Dscoduc 21/08/19
@Dscoduc Obtenha melhores aplicativos.
Ryan Ries
3

nunca houve um bom motivo para codificar um IP ou usá-lo para resolver consultas do AD. Não há boas práticas para más práticas.

Jim B
fonte
1
"Não há boas práticas para más práticas". Citação do dia, senhor.
mfinni
1

Várias das outras respostas a essa pergunta parecem supor que não há outro mundo além dos aplicativos que reconhecem a Microsoft. Infelizmente, esse não é o caso, como evidência da pergunta original:

Quais são as práticas recomendadas para os aplicativos que forçam você a codificar o IP de um controlador de domínio?

Embora a Microsoft não ofereça suporte ou recomende o uso de uma solução NLB na frente do Active Directory, de fato parece haver algumas opções para autenticar aplicativos não compatíveis com o Microsoft AD.

Dscoduc
fonte
Para acompanhar essa pergunta e minha resposta postada - minha empresa implementou uma solução robusta de Gerenciador de Tráfego Local LDAP F5 que atende com êxito o Active Directory para sistemas não Windows incapazes de aproveitar o serviço DCLocator. Temos seis LTMs que lidam com tráfego em todo o mundo sem problemas.
Dscoduc
0

Uma necessidade real de AD externo de "balanceamento de carga" é rara e difícil de executar adequadamente. A necessidade de consultas típicas pode funcionar bem, no entanto, um cliente e aplicativos típicos do Windows precisam executar atualizações. Um cliente Windows tenta estabelecer uma afinidade com um determinado CC, para que, se atualize algo e tente imediatamente uma operação subsequente, ele atinja o mesmo CC. Os desenvolvedores de aplicativos fazem a mesma coisa. Se você escrever um código que cria uma conta de usuário, tente alterar a senha nessa conta 1 ms depois, precisará pressionar o mesmo dc.

Se você deseja fazer o front-end do AD com alguma solução de balanceador de carga, deve garantir que essas abordagens e afinidades não sejam quebradas.

Se a necessidade for disponibilidade, em oposição ao balanceamento de carga, o armazenamento em cluster pode ser mais apropriado (lata de worms de lado).

Em grandes implementações de AD, uma abordagem mais tradicional é identificar os consumidores majoritários e colocá-los em um site com seus próprios DCs. Por exemplo, se você tiver cinco servidores Exchange, crie um site para as sub-redes desses servidores e coloque GCs dedicados nesse site. O mesmo se aplicaria a outros servidores, como o SharePoint.

Greg Askew
fonte