Équilibrage de la charge et basculement de l'authentification Active Directory

8

Pour les applications qui s'authentifient auprès d'un contrôleur de domaine Active Directory, il serait évidemment préférable de simplement les pointer vers l'enregistrement DNS du domaine principal plutôt qu'un contrôleur de domaine spécifique pour le basculement, l'équilibrage de charge, etc.

Quelles sont les meilleures pratiques pour ces applications qui vous obligent à coder en dur l'IP d'un DC? Nous pourrions coder en dur l'adresse IP d'un équilibreur de charge à la place, donc si un contrôleur de domaine tombe en panne, cette application pourra toujours s'authentifier. Existe-t-il de meilleures alternatives?

Derrick
la source
2
Celui qui a écrit une application qui vous oblige à coder en dur l'adresse IP d'un contrôleur de domaine ne sait pas ce qu'il fait.
Ryan Ries
1
Trouvez le développeur de l'application et demandez-lui de le réparer.
Michael Hampton
C'est principalement pour certaines applications héritées et d'anciennes boîtes NAS que nous ne sommes pas encore prêts à remplacer.
Derrick

Réponses:

8

Active Directory intègre déjà des techniques d'équilibrage de charge. Votre client Windows sait comment localiser les contrôleurs de domaine redondants sur son propre site et comment en utiliser un autre si le premier n'est pas disponible. Il n'est pas nécessaire d'effectuer un équilibrage de charge supplémentaire, comme les contrôleurs de domaine «en cluster», etc. tant que vous disposez de contrôleurs de domaine redondants.

D'une certaine manière, vous pouvez considérer un site Active Directory comme un «équilibreur de charge», car les clients de ce site choisiront au hasard l'un des contrôleurs de domaine du même site. Si tous les contrôleurs de domaine d'un site échouent ou si le site n'a pas de contrôleurs de domaine, les clients choisiront un autre site (soit le site le plus proche suivant, soit au hasard).

Vous pouvez équilibrer la charge du service DNS fourni par Active Directory pour les clients joints au domaine en plaçant un VIP sur un équilibreur de charge matériel et en ayant cet équilibre de charge VIP entre plusieurs des contrôleurs de domaine. Ensuite, sur vos clients, mettez ce VIP comme serveur DNS préféré dans la configuration TCP / IP.

Je le fais en ce moment pour une infrastructure mondiale et cela fonctionne très bien.

Mais cela ne s'applique qu'au service DNS.

N'essayez pas d'équilibrer la charge de vos contrôleurs de domaine pour l'authentification. C'est demander des ennuis. Vous auriez au moins à faire beaucoup de travail SPN personnalisé complexe et vous vous éjecteriez loin des limites du support Microsoft. De ce blog, que vous devriez lire , je vais le citer:

Retournez voir les fournisseurs et dites-leur que vous ne les considérez pas comme étant intégrés à AD et vous trouverez une solution différente.

Maintenant, comme pour les applications qui vous demandent de taper l' adresse IP d'un contrôleur de domaine? Eh bien, je vais simplement réitérer mon commentaire:

Celui qui a écrit une application qui vous oblige à coder en dur l'adresse IP d'un contrôleur de domaine ne sait pas ce qu'il fait.

Ryan Ries
la source
La question d'origine était "Quelles sont les meilleures pratiques pour ces applications qui vous obligent à coder en dur l'IP d'un DC?". Supposer qu'il n'existe aucune application légitime qui ne prend pas en charge la découverte dynamique est une mauvaise hypothèse. Il existe de nombreuses applications non Windows qui souhaitent s'authentifier contre Active Directory. Alors, quelle est la meilleure façon de faire fonctionner ces applications là où la découverte dynamique de DC n'est pas une option?
Dscoduc
@Dscoduc Obtenez de meilleures applications.
Ryan Ries
3

il n'y a jamais eu de bonne raison de coder en dur une adresse IP ou d'utiliser une adresse IP pour résoudre les requêtes AD. Il n'y a pas de meilleures pratiques pour les mauvaises pratiques.

Jim B
la source
1
"Il n'y a pas de meilleures pratiques pour les mauvaises pratiques." Citation du jour, monsieur.
mfinni
1

Plusieurs des autres réponses à cette question semblent supposer qu'il n'y a pas d'autre monde que les applications compatibles avec Microsoft. Malheureusement, ce n'est pas le cas, comme en témoigne la question initiale:

Quelles sont les meilleures pratiques pour ces applications qui vous obligent à coder en dur l'IP d'un DC?

Bien que Microsoft ne prenne pas en charge ou ne recommande pas l'utilisation d'une solution NLB devant Active Directory, il semble en effet qu'il existe certaines options pour authentifier les applications non compatibles avec Microsoft AD.

Dscoduc
la source
Pour donner suite à cette question et à ma réponse publiée - mon entreprise a mis en œuvre une solution robuste F5 LDAP Local Traffic Manager qui lance avec succès Active Directory pour les systèmes non Windows incapables de tirer parti du service DCLocator. Nous avons six LTM qui gèrent le trafic partout dans le monde sans aucun problème.
Dscoduc
0

Un besoin réel d'AD externe «d'équilibrage de charge» est rare et difficile à faire correctement. Un besoin de requêtes typiques peut fonctionner correctement, mais un client et des applications Windows typiques doivent effectuer des mises à jour. Un client Windows tente d'établir une affinité avec un DC particulier, de sorte que s'il met à jour quelque chose et tente immédiatement une opération ultérieure, il atteint le même DC. Les développeurs d'applications font la même chose. Si vous écrivez du code qui crée un compte d'utilisateur, puis essayez de changer le mot de passe sur ce compte 1 ms plus tard, vous devez frapper le même cc.

Si vous deviez utiliser AD en amont avec une solution d'équilibrage de charge, vous vous assurez que ces approches et affinités ne se rompent pas.

Si le besoin est la disponibilité, par opposition à l'équilibrage de la charge, le clustering peut être plus approprié (le cluster peut des vers de côté).

Dans les grandes implémentations AD, une approche plus traditionnelle consiste à identifier les consommateurs majoritaires et à les placer dans un site avec leurs propres DC. Par exemple, si vous disposez de cinq serveurs Exchange, créez un site pour les sous-réseaux de ces serveurs et placez des GC dédiés dans ce site. La même chose s'appliquerait à d'autres serveurs tels que SharePoint.

Greg Askew
la source