Ce tutoriel constitue la première partie d'une série destinée à vous aider à déployer une architecture Windows à disponibilité élevée sur Google Cloud avec Microsoft Active Directory, SQL Server et Internet Information Services (IIS). Dans ce tutoriel, vous allez configurer une paire redondante de contrôleurs de domaine Windows avec Active Directory à l'aide d'un nouveau réseau cloud privé virtuel (VPC) et de plusieurs sous-réseaux.
La série comprend les tutoriels suivants :
- Déployer un environnement Microsoft Active Directory tolérant aux pannes (ce document).
- Déployer plusieurs sous-réseaux SQL Server.
- Déployer des serveurs Web IIS à équilibrage de charge.
Chaque tutoriel s'appuie sur l'infrastructure que vous avez créée dans le précédent.
Vous pouvez également utiliser ce tutoriel pour apprendre à mettre au point une configuration Active Directory à utiliser dans d'autres architectures. Ce guide ne couvre pas la réplication d'un environnement Active Directory distant vers le nouvel environnement Active Directory basé sur Google Cloud, bien que cela soit possible avec Cloud VPN et une configuration Active Directory supplémentaire.
Architecture
Objectifs
- Créer un réseau VPC en mode personnalisé avec deux sous-réseaux couvrant deux zones.
- Créer des instances virtuelles Windows Server et activer les services de domaine Active Directory.
- Configurer un nouveau domaine avec Active Directory.
- Joindre les nouvelles instances Windows Server au nouveau domaine
- Configurer les règles de pare-feu pour autoriser le trafic vers les machines virtuelles
- Tester la configuration.
Coûts
Ce tutoriel utilise des composants facturables de Google Cloud, dont :
Le simulateur de coût estime le coût de cet environnement à environ 4 $ par jour.
Avant de commencer
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine API.
Initialiser des variables communes
Vous devez définir plusieurs variables d'environnement qui contrôlent où les éléments de l'infrastructure sont déployés.
Allez dans Cloud Shell.
Dans Cloud Shell, créez les variables d'environnement suivantes pour définir les valeurs dont vous aurez besoin ultérieurement dans le tutoriel.
Les commandes définissent la région sur
us-east-1
. Vous pouvez utiliser une autre région, mais ne l'oubliez pas car vous devrez utiliser la même région dans les tutoriels suivants.export region=us-east1 export zone_1=${region}-b export zone_2=${region}-c export vpc_name=webappnet export project_id=your-project-id
Remplacez your-project-id par l'ID du projet Google Cloud que vous utilisez.
Exécutez les commandes suivantes pour définir la région et l'ID du projet par défaut afin d'éviter de devoir spécifier ces valeurs dans toutes les commandes ultérieures :
gcloud config set compute/region ${region} gcloud config set project ${project_id}
Créer l'infrastructure réseau
Une fois que vous avez défini les variables d'infrastructure, créez le réseau et les sous-réseaux qu'Active Directory utilisera.
Dans Cloud Shell, exécutez la commande suivante pour créer le réseau VPC :
gcloud compute networks create ${vpc_name} \ --description "VPC network to deploy Active Directory" \ --subnet-mode custom
L'avertissement suivant s'affiche. Vous pouvez l'ignorer, car vous allez créer ces règles de pare-feu dans les étapes suivantes.
Instances on this network will not be reachable until firewall rules are created.
Ajoutez deux sous-réseaux au réseau VPC :
gcloud compute networks subnets create private-ad-zone-1 \ --network ${vpc_name} \ --range 10.1.0.0/24 gcloud compute networks subnets create private-ad-zone-2 \ --network ${vpc_name} \ --range 10.2.0.0/24
Créez une règle de pare-feu interne pour autoriser le trafic entre les sous-réseaux :
gcloud compute firewall-rules create allow-internal-ports-private-ad \ --network ${vpc_name} \ --allow tcp:1-65535,udp:1-65535,icmp \ --source-ranges 10.1.0.0/24,10.2.0.0/24
Créez une règle de pare-feu pour autoriser une connexion RDP sur le port
3389
à partir de n'importe quel emplacement :gcloud compute firewall-rules create allow-rdp \ --network ${vpc_name} \ --allow tcp:3389 \ --source-ranges 0.0.0.0/0
Créer le premier contrôleur de domaine
Vous allez ensuite créer un contrôleur de domaine avec les propriétés suivantes :
- Nom :
ad-dc1
- Adresse IP :
10.1.0.100
Créez une instance Compute Engine de Windows Server 2016 à utiliser comme premier contrôleur de domaine :
gcloud compute instances create ad-dc1 --machine-type n1-standard-2 \ --boot-disk-type pd-ssd \ --boot-disk-size 50GB \ --image-family windows-2016 --image-project windows-cloud \ --network ${vpc_name} \ --zone ${zone_1} --subnet private-ad-zone-1 \ --private-network-ip=10.1.0.100
Patientez environ une minute, puis créez un mot de passe pour l'instance Windows
ad-dc1
:gcloud compute reset-windows-password ad-dc1 --zone ${zone_1} --quiet
Le nom d'utilisateur est le nom d'utilisateur de votre compte Google. Prenez note du nom d'utilisateur et du mot de passe pour une utilisation future.
Utilisez RDP pour vous connecter à l'instance du contrôleur de domaine avec les identifiants créés à l'étape précédente.
Ouvrez un terminal PowerShell en tant qu'administrateur. (Cliquez sur Démarrer, saisissez PowerShell, puis appuyez sur Maj+Ctrl+Entrée).
Définissez les identifiants Windows du compte Administrateur :
]net user Administrator *
Vous êtes invité à créer un mot de passe. Utilisez un mot de passe sécurisé et stockez-le en lieu sûr pour une utilisation ultérieure.
Le compte administrateur devient un compte d'administrateur de domaine une fois que vous créez la forêt Active Directory à l'aide de celui-ci.
Activez le compte :
net user Administrator /active:yes
Installez les services de domaine Active Directory, y compris les outils de gestion :
Install-WindowsFeature -Name AD-Domain-Services -IncludeManagementTools
Définissez les variables suivantes :
$DomainName = "example-gcp.com" $DomainMode = "7" $ForestMode = "7" $DatabasePath = "C:\Windows\NTDS" $SysvolPath = "C:\Windows\SYSVOL" $LogPath = "C:\Logs"
Installez la nouvelle configuration de forêt Active Directory en mode Windows Server 2016 :
Install-ADDSForest -CreateDnsDelegation:$false ` -DatabasePath $DatabasePath ` -LogPath $LogPath ` -SysvolPath $SysvolPath ` -DomainName $DomainName ` -DomainMode $DomainMode ` -ForestMode $ForestMode ` -InstallDNS:$true ` -NoRebootOnCompletion:$true ` -Force:$true
Lorsque vous y êtes invité, entrez un mot de passe administrateur en mode sans échec. Stockez le mot de passe dans un endroit sûr pour une utilisation future.
Ignorez les avertissements suivants. Chaque avertissement apparaîtra deux fois, une fois lors de la vérification des conditions préalables et une seconde fois pendant le processus d'installation.
WARNING: Windows Server 2016 domain controllers have a default for the security setting named Allow cryptography algorithms compatible with Windows NT 4.0 that prevents weaker cryptography algorithms when establishing security channel sessions.
For more information about this setting, see Knowledge Base article 942564 (http://go.microsoft.com/fwlink/?LinkId=104751).WARNING: This computer has at least one physical network adapter that does not have static IP address(es) assigned to its IP Properties. If both IPv4 and IPv6 are enabled for a network adapter, both IPv4 and IPv6 static IP addresses should be assigned to both IPv4 and IPv6 Properties of the physical network adapter. Such static IP address(es) assignment should be done to all the physical network adapters for reliable Domain Name System (DNS) operation.
WARNING: A delegation for this DNS server cannot be created because the authoritative parent zone cannot be found or it does not run Windows DNS server. If you are integrating with an existing DNS infrastructure, you should manually create a delegation to this DNS server in the parent zone to ensure reliable name resolution from outside the domain "example-gcp.com". Otherwise, no action is required.
Redémarrez la machine virtuelle :
Restart-Computer
Utilisez RDP pour vous connecter au contrôleur de domaine
ad-dc1
avec les identifiants d'administrateur que vous avez définis lors de l'installation de la forêt Active Directory. N'oubliez pas d'ajouter le nom de domaine en tant que préfixe, comme dansEXAMPLE-GCP\Administrator
.Ouvrez un terminal PowerShell en tant qu'administrateur.
Définissez les variables suivantes :
$DNSPrimary = "10.2.0.100" $DNSSecondary = "127.0.0.1" $LocalStaticIp = "10.1.0.100" $DefaultGateway = "10.1.0.1"
Définissez l'adresse IP et la passerelle par défaut :
netsh interface ip set address name=Ethernet static ` $LocalStaticIp 255.255.255.0 $DefaultGateway 1
Configurez le serveur DNS principal :
netsh interface ip set dns Ethernet static $DNSPrimary
Le serveur DNS
ad-dc2
ne sera disponible qu'après le déploiement du deuxième contrôleur de domaine. Vous pouvez donc ignorer le message d'erreur suivant :The configured DNS server is incorrect or does not exist.
Configurez le serveur DNS secondaire :
netsh interface ip add dns Ethernet $DNSSecondary index=2
L'entrée du serveur DNS pour ce contrôleur de domaine,
ad-dc1
, doit figurer en deuxième position dans la liste afin d'empêcher Active Directory de perdre fréquemment la connexion avec l'autre contrôleur. Utilisez le deuxième contrôleur de domaine,ad-dc2
, en tant que serveur DNS principal. Vous allez créer le contrôleur de domainead-dc2
dans la section suivante. Si vous ne suivez pas ce schéma, les erreurs suivantes s'affichent sous Gestionnaire de serveur > Services de domaine Active Directory :The DFS Replication service failed to update configuration in Active Directory Domain Services. The service will retry this operation periodically.
Il est possible que des erreurs s'affichent sur le serveur
ad-dc1
avant que les deux serveurs ne soient entièrement configurés. Vous pouvez ignorer ces erreurs.
Créer le deuxième contrôleur de domaine
Vous allez ensuite créer un contrôleur de domaine dans une zone différente pour garantir la tolérance aux pannes. Le deuxième contrôleur de domaine comprend les propriétés suivantes :
- Nom :
ad-dc2
- Adresse IP :
10.2.0.100
Si votre fenêtre Cloud Shell a expiré, ouvrez une nouvelle instance Cloud Shell et réinitialisez les variables que vous avez définies précédemment. Pour cela, modifiez le script suivant pour spécifier l'ID du projet et la région utilisés précédemment.
region=us-east1 zone_2=${region}-c zone_1=${region}-b vpc_name=webappnet project_id=your-project-id gcloud config set compute/region ${region} gcloud config set project ${project_id}
Remplacez your-project-id par l'ID du projet Google Cloud que vous utilisez.
Copiez le script dans la fenêtre Cloud Shell et exécutez-le.
Utilisez Cloud Shell pour créer la deuxième instance du contrôleur de domaine :
gcloud compute instances create ad-dc2 --machine-type n1-standard-2 \ --boot-disk-size 50GB \ --boot-disk-type pd-ssd \ --image-family windows-2016 --image-project windows-cloud \ --can-ip-forward \ --network ${vpc_name} \ --zone ${zone_2} \ --subnet private-ad-zone-2 \ --private-network-ip=10.2.0.100
Patientez environ une minute, puis créez un mot de passe pour l'instance Windows
ad-dc2
:gcloud compute reset-windows-password ad-dc2 --zone ${zone_2} --quiet
Le nom d'utilisateur est le nom d'utilisateur de votre compte Google. Prenez note du nom d'utilisateur et du mot de passe pour une utilisation future.
Utilisez RDP pour vous connecter à l'instance du contrôleur de domaine avec les identifiants créés à l'étape précédente.
Ouvrez un terminal PowerShell en tant qu'administrateur.
Installez les services de domaine Active Directory, y compris les outils de gestion :
Install-WindowsFeature -Name AD-Domain-Services -IncludeManagementTools
Définissez les variables suivantes :
$DomainName = "example-gcp.com" $DomainPrefix = "EXAMPLE-GCP" $DNSPrimary = "10.1.0.100" $DNSSecondary = "127.0.0.1" $LocalStaticIp = "10.2.0.100" $DefaultGateway = "10.2.0.1" $DatabasePath = "C:\Windows\NTDS" $SysvolPath = "C:\Windows\SYSVOL" $LogPath = "C:\Logs"
Configurez le serveur DNS principal :
netsh interface ip set dns Ethernet static $DNSPrimary
Configurez le deuxième serveur de sorte qu'il agisse comme son propre serveur DNS secondaire :
netsh interface ip add dns Ethernet $DNSSecondary index=2
Le serveur DNS
ad-dc2
ne sera disponible qu'une fois quead-dc2
aura été ajouté au domaine en tant que contrôleur de domaine. Comme le serveur n'a pas encore été joint, le message suivant s'affiche, mais vous pouvez l'ignorer :The configured DNS server is incorrect or does not exist.
Définissez l'adresse IP et la passerelle par défaut :
netsh interface ip set address name=Ethernet static ` $LocalStaticIp 255.255.255.0 $DefaultGateway 1
Exécutez le script PowerShell suivant qui vous indiquera quand le premier contrôleur de domaine sera opérationnel. Attendez que le message
Domain controller is reachable
s'affiche.$DomainIsReady=$False For ($i=0; $i -le 30; $i++) { nltest /dsgetdc:$DomainName if($LASTEXITCODE -ne 0) { Write-Host "Domain not ready, wait 1 more minute, then retry" Start-Sleep -s 60 } else { $DomainIsReady=$True Write-Host "Domain controller is reachable" break } } if($DomainIsReady -eq $False) { Write-Host "Domain not ready. Check if it was deployed ok" }
Ajoutez la machine virtuelle à la forêt en tant que deuxième contrôleur de domaine :
Install-ADDSDomainController ` -Credential (Get-Credential "$DomainPrefix\Administrator") ` -CreateDnsDelegation:$false ` -DatabasePath $DatabasePath ` -DomainName $DomainName ` -InstallDns:$true ` -LogPath $LogPath ` -SysvolPath $SysvolPath ` -NoGlobalCatalog:$false ` -SiteName 'Default-First-Site-Name' ` -NoRebootOnCompletion:$true ` -Force:$true
Lorsque vous êtes invité à fournir un mot de passe pour le compte administrateur, utilisez les identifiants de l'administrateur que vous avez définis lors de l'installation de la forêt Active Directory. Ajoutez le nom de domaine en tant que préfixe, comme dans
EXAMPLE-GCP\Administrator
.Lorsque vous êtes invité à entrer un mot de passe administrateur en mode sans échec, utilisez le même mot de passe que celui que vous avez utilisé pour le premier contrôleur de domaine.
Ignorez les avertissements suivants. Chaque avertissement apparaîtra deux fois, une fois lors de la vérification des conditions préalables et une seconde fois pendant le processus d'installation.
WARNING: Windows Server 2016 domain controllers have a default for the security setting named "Allow cryptography algorithms compatible with Windows NT 4.0" that prevents weaker cryptography algorithms when establishing security channel sessions.
For more information about this setting, see Knowledge Base article 942564 (http://go.microsoft.com/fwlink/?LinkId=104751).WARNING: A delegation for this DNS server cannot be created because the authoritative parent zone cannot be found or it does not run Windows DNS server. If you are integrating with an existing DNS infrastructure, you should manually create a delegation to this DNS server in the parent zone to ensure reliable name resolution from outside the domain "example-gcp.com". Otherwise, no action is required.
Redémarrez la machine virtuelle :
Restart-Computer
Tester l'installation
Attendez 5 à 10 minutes pour vous assurer que les deux contrôleurs de domaine ont opérationnels et qu'ils répliquent les informations.
À l'aide de RDP, connectez-vous à la première instance de contrôleur de domaine à l'aide des identifiants d'administrateur que vous avez définis lors de l'installation du premier contrôleur de domaine. Ajoutez le nom de domaine en tant que préfixe, comme dans
EXAMPLE-GCP\Administrator
.Ouvrez un terminal PowerShell en tant qu'administrateur.
Testez que la réplication fonctionne :
repadmin /replsum
La sortie devrait ressembler à ce qui suit, sans erreur ni échec.
Si le contrôleur de domaine n'est pas disponible, vous recevez un message semblable à celui-ci :
Beginning data collection for replication summary, this may take awhile:
.... Source DSA largest delta fails/total %% error
Destination DSA largest delta fails/total %% errorSi ce message s'affiche, attendez quelques minutes, puis relancez la commande.
Nettoyer
Si vous souhaitez passer au tutoriel suivant de cette série (Déployer plusieurs sous-réseaux SQL Server), conservez les ressources que vous avez créées dans le cadre de ce tutoriel. Si vous n'envisagez pas d'utiliser l'environnement Active Directory que vous venez de créer, nettoyez les ressources créées sur Google Cloud pour éviter qu'elles ne vous soient facturées par la suite. Dans les sections suivantes, nous allons voir comment supprimer ou désactiver ces ressources.
Supprimer le projet
Le moyen le plus simple d'empêcher la facturation est de supprimer le projet que vous avez créé pour ce tutoriel.
Pour supprimer le projet :
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Supprimer des instances
Pour supprimer une instance Compute Engine, procédez comme suit :
- In the Google Cloud console, go to the VM instances page.
- Select the checkbox for the instance that you want to delete.
- To delete the instance, click More actions, click Delete, and then follow the instructions.
Supprimer des réseaux VPC
Pour supprimer les réseaux VPC, les sous-réseaux et les règles de pare-feu, procédez comme suit :
Dans la console Google Cloud, accédez à la page "Réseaux VPC".
Sélectionnez le réseau VPC que vous avez créé.
Cliquez sur le bouton Supprimer en haut de la page.
Étapes suivantes
- Passez aux tutoriels suivants de cette série :
- En savoir plus sur les modèles d'utilisation d'Active Directory dans un environnement hybride.
- Consultez les bonnes pratiques de gestion des identités et des accès.
- Découvrez des architectures de référence, des schémas et des bonnes pratiques concernant Google Cloud. Consultez notre Centre d'architecture cloud.