Cet article est une version simplifiée de l’article suivant. En effet l’architecture exposée ici n’inclut pas de serveur(s) ARR.
Les prérequis restant les mêmes :
- Pas de connection Internet disponible depuis les serveurs.
- La solution devait être automatisable de bout en bout (dans le cadre du POC).
- La solution devait être simple (dans le cadre du POC).
J’ai donc élaboré le script suivant. Ce script a besoin de :
- nlb.contoso.com.zip : qui contient la source de notre site Web.
Je n’ai implémenté aucune affinité cliente au niveau NLB de manière à avoir un trafic réparti équitablement sur les serveurs IIS.
L’environnement est composé de 4 serveurs :
- IISNODE01 : Premier serveur IIS de la ferme ARR
- IISNODE02 : Second serveur IIS de la ferme ARR
- CA01 : Autorité de certificats
- DC01 : Contrôleur de domaine (contoso.com)
Le nom des serveurs est écrit dans le code (faites un « Global Replace » CTRL+H si les noms ne vous conviennent pas). De même que certains autres paramètres tels que :
- Le nom du Lab (« NLBIISLab » par défaut)
- Le compte à utiliser (« Administrator » par défaut)
- Le mot de passe associé (« P@ssw0rd » par défaut)
- Le nom du domaine (FQDN et NetBIOS) (« contoso.com » et « CONTOSO » par défaut)
- Le compte du compte de démarrage de l’application pool IIS (« IISAppPoolUser » par défaut)
- Le nom de l’application répartie (« nlb.contoso.com » par défaut)
Une fois le script terminé (~40 min sur mon Laptop : Processeur Core i7 de 8ième génération avec 8 coeurs + SSD), connectez-vous sur CA01 (utilisé en tant que poste client pour l’authentification Windows via Kerberos) et naviguez vers https://nlb.contoso.com/ (Page par défaut dans IE). Vous obtiendrez alors :
Some prerequisites:
- No internet connection available from the servers. (Which is, let’s remember, a good practice on production environments.)
- The solution had to be fully automatable (as part of the POC).
- The solution had to be simple (as part of the POC).
So I developed the following script. This script needs:
- nlb.contoso.com.zip: which contains the source of our website.
I did not implement any client affinity at the NLB level to have a traffic distributed equitably across the IIS nodes.
The environment is composed of 4 servers:
- IISNODE01: First IIS server on the ARR webfarm
- IISNODE02: Second IIS server of the ARR webfarm
- CA01: Certificate Authority
- DC01: Domain Controller (contoso.com)
The name of the servers is written in the code (make a « Global Replace » CTRL+H if the names do not suit you). As well as certain other parameters such as:
- The account to use (« Administrator » by default)
- The associated password (« P@ssw0rd » by default)
- The domain name (FQDN and NetBIOS) (« contoso.com » and « CONTOSO » by default)
- The IIS application pool identity (« IISAppPoolUser » by default)
- The name of the load balanced application (« nlb.contoso.com » by default)
Once the script is done (~ 40 min on my Laptop: 8th Gen Core i7 Processor with 8 cores + SSD), connect to CA01 (used as a client workstation for Windows authentication via Kerberos) and navigate to https://nlb.contoso.com/ (Default page in IE). You will then get:
Laurent.