Déployer Microsoft Exchange Server 2016 sur Compute Engine


Dans ce tutoriel, vous allez apprendre à déployer Microsoft Exchange Server 2016 sur Compute Engine et à le configurer pour qu'il assure la haute disponibilité et la résilience de site.

Le déploiement d'Exchange s'étendra sur deux zones d'une même région. Dans chaque zone, vous allez déployer un serveur de boîtes aux lettres et un serveur de transport Edge. Les serveurs de boîtes aux lettres feront partie d'un groupe de disponibilité de base de données afin que les données de boîtes aux lettres soient répliquées entre les zones.

Le schéma suivant illustre le déploiement :

Déploiement de Microsoft Exchange

Dans cet article, nous partons du principe que vous avez déjà déployé Active Directory sur Google Cloud et que vous possédez des connaissances de base sur Exchange Server 2016, Active Directory et Compute Engine.

Objectifs

  • Configurer un projet et un réseau VPC, puis les préparer pour le déploiement d'Exchange Server 2016.
  • Déployer les serveurs de boîtes aux lettres Exchange dans deux zones et créer un groupe de disponibilité de base de données.
  • Déployer des serveurs de transport Edge Exchange sur deux zones.
  • Configurer l'équilibrage de charge et les règles de pare-feu.

Coûts

Ce tutoriel utilise des composants facturables de Google Cloud, dont :

Obtenez une estimation des coûts en fonction de votre utilisation prévue à l'aide du simulateur de coût.

Avant de commencer

Pour suivre ce guide, vous aurez besoin des éléments suivants :

  • Un domaine Active Directory existant comportant au moins un contrôleur de domaine. Le domaine Active Directory doit utiliser un nom de domaine DNS valide et routable publiquement. Les noms de domaine locaux tels que corp.local ou les noms de domaine réservés tels que example.com ne peuvent pas être utilisés.

    Consultez la page Déployer un environnement Microsoft Active Directory tolérant aux pannes pour en savoir plus sur le déploiement d'un environnement Active Directory sur Compute Engine.

  • Une zone de transfert DNS privée pour le nom de domaine DNS d'Active Directory qui transmet les requêtes DNS aux contrôleurs de domaine.

  • Un accès administrateur au domaine Active Directory.

  • Un projet Google Cloud et un VPC avec une connectivité aux contrôleurs de domaine Active Directory.

  • Un sous-réseau à utiliser avec les instances de machine virtuelle Exchange. Le sous-réseau doit couvrir au moins deux zones.

Avant de commencer le déploiement, consultez les exigences concernant la haute disponibilité et la résilience de site pour Exchange Server.

  1. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  2. Vérifiez que la facturation est activée pour votre projet Google Cloud.

Une fois que vous avez terminé les tâches décrites dans ce document, vous pouvez éviter de continuer à payer des frais en supprimant les ressources que vous avez créées. Pour en savoir plus, consultez la section Effectuer un nettoyage.

Préparer le projet et le réseau

Procédez comme suit pour préparer le projet Google Cloud et le VPC au déploiement d'Exchange Server :

  1. Basculez vers votre projet dans Google Cloud Console et ouvrez Cloud Shell.

    Ouvrir Cloud Shell

  2. Initialisez les variables suivantes :

    VPC_NAME=VPC_NAME
    SUBNET_NAME=SUBNET_NAME
    SUBNET_REGION=SUBNET_REGION
    SUBNET_ZONE_1=$SUBNET_REGION-a
    SUBNET_ZONE_2=$SUBNET_REGION-b
    

    Où :

    • VPC_NAME est le nom de votre VPC.
    • SUBNET_NAME est le nom de votre sous-réseau.
    • SUBNET_REGION est la région de votre sous-réseau.
  3. Définissez votre ID de projet par défaut :

    gcloud config set project PROJECT_ID
    

    Remplacez PROJECT_ID par l'ID de votre projet Google Cloud.

Créer le disque d'installation

Vous allez maintenant créer un disque contenant le support d'installation d'Exchange Server. Le fait de créer un disque que vous pouvez rattacher à plusieurs instances de VM vous évite d'avoir à télécharger le support d'installation sur chacune d'entre elles.

  1. Suivez les instructions de la page Créer une image à partir d'un fichier ISO. Utilisez l'URL suivante en tant qu'URL de téléchargement :

    https://download.microsoft.com/download/6/6/F/66F70200-E2E8-4E73-88F9-A1F6E3E04650/ExchangeServer2016-x64-cu11.iso
    
  2. Créez un disque dans la première zone à l'aide de la nouvelle image :

    gcloud compute disks create exchange-media-1 \
      --zone=$SUBNET_ZONE_1 \
      --image-project=$GOOGLE_CLOUD_PROJECT \
      --image=IMAGE
    

    Remplacez IMAGE par le nom de l'image que vous avez créée à l'étape précédente.

  3. Créez un disque dans la deuxième zone :

    gcloud compute disks create exchange-media-2 \
      --zone=$SUBNET_ZONE_2 \
      --image-project=$GOOGLE_CLOUD_PROJECT \
      --image=IMAGE
    

    Remplacez IMAGE par le nom de l'image que vous avez créée à la première étape.

Créer des règles de pare-feu

Pour autoriser les clients à se connecter à Exchange et pour activer la communication entre les serveurs Exchange, vous devez créer plusieurs règles de pare-feu. Pour simplifier la création de ces règles de pare-feu, utilisez des tags réseau :

  • Les serveurs de transport Edge sont annotés avec le tag exchange-transport.
  • Les serveurs de boîtes aux lettres sont annotés avec le tag exchange-mailbox.
  • Le serveur témoin est annoté avec le tag exchange-witness.
  • Tous les serveurs sont annotés avec le tag exchange.

Créez des règles de pare-feu qui utilisent ces tags réseau :

  1. Revenez à votre session Cloud Shell existante.
  2. Créez des règles de pare-feu pour les serveurs de boîtes aux lettres :

    gcloud compute firewall-rules create allow-all-between-exchange-servers \
      --direction=INGRESS \
      --action=allow \
      --rules=tcp,udp,icmp \
      --enable-logging \
      --source-tags=exchange \
      --target-tags=exchange \
      --network=$VPC_NAME \
      --priority 10000
    
    gcloud compute firewall-rules create allow-smtp-from-transport-to-mailbox \
      --direction=INGRESS \
      --action=allow \
      --rules=tcp:25 \
      --enable-logging \
      --source-tags=exchange-transport \
      --target-tags=exchange-mailbox \
      --network=$VPC_NAME \
      --priority 10000
    
    gcloud compute firewall-rules create allow-edgesync-from-mailbox-to-transport \
      --direction=INGRESS \
      --action=allow \
      --rules=tcp:50636 \
      --enable-logging \
      --source-tags=exchange-mailbox \
      --target-tags=exchange-transport \
      --network=$VPC_NAME \
      --priority 10000
    
    gcloud compute firewall-rules create allow-mail-to-mailbox \
      --direction=INGRESS \
      --action=allow \
      --rules=tcp:25,tcp:110,tcp:135,tcp:143,tcp:443,tcp:993,tcp:995 \
      --enable-logging \
      --target-tags=exchange-mailbox \
      --network=$VPC_NAME \
      --priority 10000
    
    gcloud compute firewall-rules create allow-smb-within-dag \
      --direction=INGRESS \
      --action=allow \
      --rules=tcp:135,tcp:445,udp:445,tcp:49152-65535 \
      --enable-logging \
      --source-tags=exchange-mailbox,exchange-witness \
      --target-tags=exchange-mailbox,exchange-witness \
      --network=$VPC_NAME \
      --priority 10000
    
  3. Créez une règle de pare-feu pour le serveur de transport Edge :

    gcloud compute firewall-rules create allow-smtp-to-transport \
      --direction=INGRESS \
      --action=allow \
      --rules=tcp:25 \
      --enable-logging \
      --target-tags=exchange-transport \
      --network=$VPC_NAME \
      --priority 10000
    

Le projet et le VPC sont désormais prêts pour le déploiement d'Exchange Server.

Déployer le rôle de boîtes aux lettres

Vous allez maintenant déployer les serveurs de boîtes aux lettres ainsi qu'un serveur de gestion, qui vous permettront d'administrer Exchange.

Les instances de VM utiliseront le type de machine n1-standard-8. Si vous souhaitez obtenir une analyse plus détaillée de vos besoins et de la configuration requise correspondante, consultez la page décrivant l'outil Exchange Server Role Requirements Calculator.

Déployer le serveur de gestion

Suivez les étapes ci-après pour créer une instance de VM faisant office de serveur de gestion :

  1. Revenez à la session Cloud Shell que vous avez précédemment ouverte.
  2. Créez un script de spécialisation pour l'instance de VM. Le script s'exécute lors de l'initialisation de la VM et installe les conditions préalables du client pour les outils de gestion Exchange 2016 :

    cat << "EOF" > specialize-admin.ps1
    
    $ErrorActionPreference = "stop"
    
    # Install required Windows features
    Install-WindowsFeature RSAT-ADDS,RSAT-DNS-Server
    Enable-WindowsOptionalFeature -Online -FeatureName IIS-ManagementScriptingTools, `
        IIS-ManagementScriptingTools, `
        IIS-IIS6ManagementCompatibility, `
        IIS-LegacySnapIn, `
        IIS-ManagementConsole, `
        IIS-Metabase, `
        IIS-WebServerManagementTools, `
        IIS-WebServerRole
    
    # Install Visual C++ Redistributable Package for Visual Studio 2012
    (New-Object System.Net.WebClient).DownloadFile(
        'http://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU3/vcredist_x64.exe',
        "$env:Temp\vcredist_2012_x64.exe")
    & $env:Temp\vcredist_2012_x64.exe /passive /norestart | Out-Default
    
    EOF
    
  3. Créez une instance de VM qui utilise specialize-admin.ps1 en tant que script de spécialisation et associez le disque d'installation Exchange en tant que disque secondaire. Le disque secondaire vous permettra d'installer les outils de gestion Exchange ultérieurement :

    gcloud compute instances create exchange-admin \
      --image-family=windows-2019 \
      --image-project=windows-cloud \
      --machine-type=n1-standard-2 \
      --subnet=$SUBNET_NAME \
      --zone=$SUBNET_ZONE_1 \
      --tags=exchange \
      --disk=name=exchange-media-1,auto-delete=no,mode=ro \
      --metadata-from-file=sysprep-specialize-script-ps1=specialize-admin.ps1
    
  4. Surveillez le processus d'initialisation de la VM en consultant sa sortie du port série :

    gcloud compute instances tail-serial-port-output exchange-admin --zone=$SUBNET_ZONE_1
    

    Attendez environ cinq minutes avant que la sortie Instance setup finished s'affiche, puis appuyez sur Ctrl+C. À ce stade, l'instance de VM est prête à être utilisée.

  5. Créez un nom d'utilisateur et un mot de passe pour l'instance de VM.

  6. Connectez-vous à la VM à l'aide du Bureau à distance en vous servant du nom d'utilisateur et du mot de passe créés à l'étape précédente.

  7. Effectuez un clic droit sur le bouton Démarrer (ou appuyez sur Win+X) et cliquez sur Invite de commande (Administrateur).

  8. Confirmez l'invite d'élévation en cliquant sur Oui.

  9. Dans l'invite de commande avec privilèges élevés, démarrez une session PowerShell :

    powershell
    
  10. Rattachez l'ordinateur au domaine Active Directory :

    Add-Computer -Domain DOMAIN
    

    Remplacez DOMAIN par le nom DNS du domaine Active Directory.

  11. Redémarrez l'ordinateur :

    Restart-Computer
    

    Attendez environ une minute la fin du redémarrage.

  12. Connectez-vous à la VM à l'aide du Bureau à distance en vous servant d'un utilisateur de domaine membre du groupe Administrateur d'entreprise.

  13. Suivez les instructions pour préparer le schéma et les domaines Active Directory pour Exchange Server. Le support d'installation Exchange est disponible sur le lecteur D:.

  14. Suivez les instructions pour installer les outils de gestion Exchange.

Déployer les serveurs de boîtes aux lettres

Vous êtes maintenant prêt à déployer les instances de VM faisant office de serveurs de boîtes aux lettres :

  1. Revenez à la session Cloud Shell que vous avez précédemment ouverte.
  2. Créez un script de spécialisation pour l'instance de VM. Le script s'exécute lors de l'initialisation de la VM et installe les conditions préalables à l'installation des serveurs de boîtes aux lettres :

    cat << "EOF" > specialize-mailbox.ps1
    
    $ErrorActionPreference = "stop"
    
    # Install required Windows features
    Install-WindowsFeature RSAT-ADDS
    Install-WindowsFeature `
        NET-Framework-45-Features, `
        Server-Media-Foundation, `
        RPC-over-HTTP-proxy, `
        RSAT-Clustering, `
        RSAT-Clustering-CmdInterface, `
        RSAT-Clustering-Mgmt, `
        RSAT-Clustering-PowerShell, `
        WAS-Process-Model, `
        Web-Asp-Net45, `
        Web-Basic-Auth, `
        Web-Client-Auth, `
        Web-Digest-Auth, `
        Web-Dir-Browsing, `
        Web-Dyn-Compression, `
        Web-Http-Errors, `
        Web-Http-Logging, `
        Web-Http-Redirect, `
        Web-Http-Tracing, `
        Web-ISAPI-Ext, `
        Web-ISAPI-Filter, `
        Web-Lgcy-Mgmt-Console, `
        Web-Metabase, `
        Web-Mgmt-Console, `
        Web-Mgmt-Service, `
        Web-Net-Ext45, `
        Web-Request-Monitor, `
        Web-Server, `
        Web-Stat-Compression, `
        Web-Static-Content, `
        Web-Windows-Auth, `
        Web-WMI, `
        Windows-Identity-Foundation, `
        RSAT-ADDS
    
    # Install Visual C++ Redistributable Package for Visual Studio 2012
    (New-Object System.Net.WebClient).DownloadFile(
        'http://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU3/vcredist_x64.exe',
        "$env:Temp\vcredist_2012_x64.exe")
    & $env:Temp\vcredist_2012_x64.exe /passive /norestart | Out-Default
    
    # Visual C++ Redistributable Package for Visual Studio 2013
    (New-Object System.Net.WebClient).DownloadFile(
        'http://download.microsoft.com/download/2/E/6/2E61CFA4-993B-4DD4-91DA-3737CD5CD6E3/vcredist_x64.exe',
        "$env:Temp\vcredist_2013_x64.exe")
    & $env:Temp\vcredist_2013_x64.exe /passive /norestart | Out-Default
    
    # Install Microsoft Unified Communications Managed API
    (New-Object System.Net.WebClient).DownloadFile(
        'https://download.microsoft.com/download/2/C/4/2C47A5C1-A1F3-4843-B9FE-84C0032C61EC/UcmaRuntimeSetup.exe',
        "$env:Temp\UcmaRuntimeSetup.exe")
    & $env:Temp\UcmaRuntimeSetup.exe /passive /norestart | Out-Default
    
    EOF
    
  3. Créez une instance de VM dans la première zone et transmettez specialize-mailbox.ps1 en tant que script de spécialisation. Associez le disque d'installation Exchange en tant que disque secondaire. Le disque secondaire vous permettra d'installer le rôle de boîtes aux lettres Exchange Server ultérieurement :

    gcloud compute instances create mailbox-1-a \
      --image-family=windows-2016 \
      --image-project=windows-cloud \
      --machine-type=n1-standard-8 \
      --subnet=$SUBNET_NAME \
      --tags exchange,exchange-mailbox \
      --zone=$SUBNET_ZONE_1 \
      --boot-disk-type pd-ssd \
      --disk=name=exchange-media-1,auto-delete=no,mode=ro \
      --metadata-from-file=sysprep-specialize-script-ps1=specialize-mailbox.ps1
    
  4. Créez une autre instance de VM dans la deuxième zone :

    gcloud compute instances create mailbox-1-b \
      --image-family=windows-2016 \
      --image-project=windows-cloud \
      --machine-type=n1-standard-8 \
      --subnet=$SUBNET_NAME \
      --tags exchange,exchange-mailbox \
      --zone=$SUBNET_ZONE_2 \
      --boot-disk-type pd-ssd \
      --disk=name=exchange-media-2,auto-delete=no,mode=ro \
      --metadata-from-file=sysprep-specialize-script-ps1=specialize-mailbox.ps1
    
  5. Surveillez le processus d'initialisation de la VM en consultant sa sortie du port série :

    gcloud compute instances tail-serial-port-output mailbox-1-b --zone=$SUBNET_ZONE_2
    

    Attendez environ cinq minutes avant que la sortie Instance setup finished s'affiche, puis appuyez sur Ctrl+C. À ce stade, l'instance de VM est prête à être utilisée.

  6. Pour chacune des deux instances de VM, procédez comme suit :

    1. Créez un nom d'utilisateur et un mot de passe pour l'instance de VM.
    2. Connectez-vous à la VM à l'aide du Bureau à distance en vous servant du nom d'utilisateur et du mot de passe créés à l'étape précédente.
    3. Effectuez un clic droit sur le bouton Démarrer (ou appuyez sur Win+X) et cliquez sur Invite de commande (Administrateur).
    4. Confirmez l'invite d'élévation en cliquant sur Oui.
    5. Dans l'invite de commande avec privilèges élevés, démarrez une session PowerShell :

      powershell
      
    6. Rattachez l'ordinateur au domaine Active Directory :

      Add-Computer -Domain DOMAIN
      

      Remplacez DOMAIN par le nom DNS du domaine Active Directory.

    7. Redémarrez l'ordinateur :

      Restart-Computer
      

      Attendez environ une minute la fin du redémarrage.

    8. Connectez-vous à la VM à l'aide du Bureau à distance en vous servant d'un utilisateur de domaine membre du groupe Administrateur d'entreprise.

    9. Installez le rôle de boîtes aux lettres Exchange Server à l'aide de l'assistant de configuration ou du mode sans assistance. Le support d'installation Exchange est disponible sur le lecteur D:.

Déployer le serveur témoin

Pour configurer un groupe de disponibilité de base de données (DAG) pour les deux serveurs de boîtes aux lettres, vous avez besoin d'une instance de VM supplémentaire en tant que serveur témoin. Pour déployer le serveur témoin, suivez les étapes ci-dessous :

  1. Revenez à votre session Cloud Shell existante.
  2. Créez un serveur témoin dans la première zone :

    gcloud compute instances create witness \
      --image-family=windows-2016 \
      --image-project=windows-cloud \
      --machine-type n1-standard-8 \
      --subnet $SUBNET_NAME \
      --tags exchange,exchange-witness \
      --zone $SUBNET_ZONE_1 \
      --boot-disk-type pd-ssd \
      "--metadata=sysprep-specialize-script-ps1=add-windowsfeature FS-FileServer"
    
  3. Surveillez le processus d'initialisation de la VM en consultant sa sortie du port série :

    gcloud compute instances tail-serial-port-output witness --zone=$SUBNET_ZONE_1
    

    Attendez environ trois minutes avant que la sortie Instance setup finished s'affiche, puis appuyez sur Ctrl+C. À ce stade, l'instance de VM est prête à être utilisée.

  4. Créez un nom d'utilisateur et un mot de passe pour l'instance de VM.

  5. Connectez-vous à la VM à l'aide du Bureau à distance en vous servant du nom d'utilisateur et du mot de passe créés à l'étape précédente.

  6. Effectuez un clic droit sur le bouton Démarrer (ou appuyez sur Win+X) et cliquez sur Invite de commande (Administrateur).

  7. Confirmez l'invite d'élévation en cliquant sur Oui.

  8. Dans l'invite de commande avec privilèges élevés, démarrez une session PowerShell :

    powershell
    
  9. Rattachez l'ordinateur au domaine Active Directory :

    Add-Computer -Domain DOMAIN
    

    Remplacez DOMAIN par le nom DNS du domaine Active Directory.

  10. Redémarrez l'ordinateur :

    Restart-Computer
    

    Attendez environ une minute la fin du redémarrage.

  11. Connectez-vous à la VM à l'aide du Bureau à distance en vous servant d'un utilisateur de domaine membre du groupe Administrateur d'entreprise.

  12. Effectuez un clic droit sur le bouton Démarrer (ou appuyez sur Win+X) et cliquez sur Invite de commande (Administrateur).

  13. Confirmez l'invite d'élévation en cliquant sur Oui.

  14. Dans l'invite de commande avec élévation de privilèges, démarrez une session PowerShell :

    powershell
    
  15. Ajoutez le groupe de sécurité universel Exchange Trusted Subsystem (Sous-système approuvé Exchange) au groupe Administrateurs local :

    Add-LocalGroupMember -Group Administrators -Member "DOMAIN\Exchange Trusted Subsystem"
    

    Remplacez DOMAIN par le nom NetBIOS du domaine Active Directory.

Les deux serveurs de boîtes aux lettres et le serveur témoin sont désormais entièrement déployés, mais vous devez toujours les ajouter à un groupe de disponibilité de base de données.

Créer un groupe de disponibilité de base de données

Pour créer un DAG, procédez comme suit :

  1. Connectez-vous à la VM de gestion à l'aide du Bureau à distance, en vous servant d'un utilisateur du domaine qui est membre du groupe Administrateurs d'entreprise.
  2. Effectuez un clic droit sur le bouton Démarrer (ou appuyez sur Win+X) et cliquez sur Invite de commande (Administrateur).
  3. Confirmez l'invite d'élévation en cliquant sur Oui.
  4. Dans l'invite de commande avec privilèges élevés, démarrez une session PowerShell :

    powershell
    
  5. Téléchargez et installez le navigateur Chrome :

    Start-BitsTransfer `
        -Source 'https://dl.google.com/chrome/install/latest/chrome_installer.exe' `
        -Destination "$env:Temp\chrome_installer.exe"
    & $env:Temp\chrome_installer.exe
    
  6. Pour ouvrir le Centre d'administration Exchange (EAC), lancez Chrome et accédez à l'URL suivante :

    https://mailbox-1-a/ecp/?ExchClientVer=15
    
  7. Connectez-vous à l'aide d'un utilisateur du domaine qui est membre du groupe Administrateurs d'entreprise.

  8. Dans le menu du Centre d'administration Exchange, sélectionnez serveurs > groupes de disponibilité de base de données.

  9. Cliquez sur le signe +.

  10. Dans la boîte de dialogue, saisissez les paramètres suivants pour créer un groupe de disponibilité de base de données :

    1. Nom du groupe de disponibilité de base de données : mailbox
    2. Serveur témoin : witness
  11. Cliquez sur Save.

  12. Cliquez sur l'icône Appartenance au DAG gérée.

  13. Dans la boîte de dialogue, cliquez sur + pour ajouter un serveur membre.

  14. Sélectionnez mailbox-1-a et mailbox-1-b, puis cliquez sur ajouter.

  15. Cliquez sur OK.

  16. Cliquez sur Enregistrer.

Vous pouvez également effectuer toutes les tâches post-installation d'Exchange Server.

Configurer l'équilibrage de charge

Pour autoriser les clients à se connecter aux serveurs de boîtes aux lettres, vous devez maintenant créer une ressource d'équilibreur de charge interne :

  1. Revenez à la session Cloud Shell que vous avez précédemment ouverte.
  2. Créez un groupe d'instances non géré par zone :

    gcloud compute instance-groups unmanaged create mailbox-a --zone=$SUBNET_ZONE_1
    gcloud compute instance-groups unmanaged create mailbox-b --zone=$SUBNET_ZONE_2
    
  3. Ajoutez les instances de VM exécutant les serveurs de boîtes aux lettres sur les groupes d'instances :

    gcloud compute instance-groups unmanaged add-instances mailbox-a \
      --zone=$SUBNET_ZONE_1 \
      --instances=mailbox-1-a
    gcloud compute instance-groups unmanaged add-instances mailbox-b \
      --zone=$SUBNET_ZONE_2 \
      --instances=mailbox-1-b
    
  4. Créez une vérification d'état qui teste le chemin d'accès HTTP /owa/healthcheck.htm :

    gcloud compute health-checks create http http-80\
      --port=80 \
      --request-path=/owa/healthcheck.htm
    
  5. Créez un backend d'équilibreur de charge et ajoutez les deux groupes d'instances suivants :

    gcloud compute backend-services create mailbox-backend \
      --load-balancing-scheme=internal \
      --protocol=tcp \
      --region=$SUBNET_REGION \
      --health-checks=http-80 \
      --session-affinity=CLIENT_IP_PORT_PROTO
    
    gcloud compute backend-services add-backend mailbox-backend \
      --region=$SUBNET_REGION \
      --instance-group=mailbox-a \
      --instance-group-zone=$SUBNET_ZONE_1
    
    gcloud compute backend-services add-backend mailbox-backend \
      --region=$SUBNET_REGION \
      --instance-group=mailbox-b \
      --instance-group-zone=$SUBNET_ZONE_2
    
  6. Réservez une adresse IP statique pour l'équilibreur de charge :

    gcloud compute addresses create mailbox-frontend \
      --region=$SUBNET_REGION \
      --subnet=$SUBNET_NAME
    
  7. Créez une règle de transfert pour l'équilibreur de charge :

    gcloud compute forwarding-rules create mailbox-frontend \
      --region=$SUBNET_REGION \
      --address=mailbox-frontend  \
      --load-balancing-scheme=internal \
      --network=$VPC_NAME \
      --subnet=$SUBNET_NAME \
      --ip-protocol=TCP \
      --ports=ALL \
      --backend-service=mailbox-backend  \
      --backend-service-region=$SUBNET_REGION
    
  8. Recherchez l'adresse IP de l'équilibreur de charge :

    gcloud compute addresses describe mailbox-frontend  \
      --region=$SUBNET_REGION \
      --format=value\(address\)
    

Tester les serveurs de boîtes aux lettres

Pour vérifier que les serveurs de boîtes aux lettres ont bien été déployés, procédez comme suit :

  1. Sur la VM de gestion, ouvrez Chrome et accédez à https://<var>IP</var>/owa/, où IP correspond à l'adresse IP de l'équilibreur de charge que vous avez recherchée précédemment.
  2. Connectez-vous à l'aide d'un utilisateur du domaine.

    L'interface utilisateur d'Outlook Web Access devrait maintenant s'afficher.

Déployer le rôle de transport Edge

Vous allez maintenant déployer les serveurs de transport Edge. Les serveurs de transport Edge gèrent tous les flux de courrier entrants et sortants.

Contrairement aux serveurs de boîtes aux lettres, les serveurs de transport Edge sont exposés à Internet. Dans un déploiement sur site, vous pouvez donc déployer des serveurs de transport Edge dans un réseau de périmètre isolé du réseau interne par des pare-feu.

Sur Google Cloud, le déploiement de serveurs de transport Edge dans un VPC ou un sous-réseau distinct n'est pas nécessaire. Utilisez plutôt des règles de pare-feu pour micro-segmenter votre réseau et restreindre les communications réseau depuis et vers les serveurs de transport Edge.

Contrairement aux serveurs de boîtes aux lettres, les serveurs de transport Edge ne sont pas membres de votre domaine Active Directory.

Les instances de VM utiliseront le type de machine n1-standard-8. En fonction de la manière dont vous envisagez d'utiliser le déploiement Exchange, vous devrez peut-être utiliser des types de machines plus volumineux. Si vous souhaitez obtenir une analyse plus détaillée de vos besoins et de la configuration requise correspondante, consultez la page décrivant l'outil Exchange Server Role Requirements Calculator.

Déployer les serveurs de transport Edge

Pour déployer les serveurs de transport Edge, procédez comme suit :

  1. Revenez à la session Cloud Shell que vous avez précédemment ouverte.
  2. Créez un script de spécialisation pour l'instance de VM. Le script s'exécute lors de l'initialisation de la VM et installe les conditions préalables à l'installation des serveurs de transport Edge :

    cat << "EOF" > specialize-transport.ps1
    
    # Install required Windows features
    Install-WindowsFeature ADLDS
    
    # Install Visual C++ Redistributable Package for Visual Studio 2012
    (New-Object System.Net.WebClient).DownloadFile(
        'http://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU3/vcredist_x64.exe',
        "$env:Temp\vcredist_2012_x64.exe")
    & $env:Temp\vcredist_2012_x64.exe /passive /norestart | Out-Default
    
    EOF
    
  3. Créez une instance de VM dans la première zone et transmettez specialize-transport.ps1 en tant que script de spécialisation. Associez le disque d'installation Exchange en mode lecture seule afin de pouvoir installer ultérieurement le rôle serveur de transport Exchange Server :

    gcloud compute instances create transport-1-a \
      --image-family=windows-2016 \
      --image-project=windows-cloud \
      --machine-type=n1-standard-8 \
      --subnet=$SUBNET_NAME \
      --tags exchange,exchange-transport \
      --zone=$SUBNET_ZONE_1 \
      --boot-disk-type pd-ssd \
      --disk=name=exchange-media-1,auto-delete=no,mode=ro \
      --metadata-from-file=sysprep-specialize-script-ps1=specialize-transport.ps1
    
  4. Créez une autre instance de VM dans la deuxième zone :

    gcloud compute instances create transport-1-b \
      --image-family=windows-2016 \
      --image-project=windows-cloud \
      --machine-type=n1-standard-8 \
      --subnet=$SUBNET_NAME \
      --tags exchange,exchange-transport \
      --zone=$SUBNET_ZONE_2 \
      --boot-disk-type pd-ssd \
      --disk=name=exchange-media-2,auto-delete=no,mode=ro \
      --metadata-from-file=sysprep-specialize-script-ps1=specialize-transport.ps1
    
  5. Surveillez le processus d'initialisation de la VM en consultant sa sortie du port série :

    gcloud compute instances tail-serial-port-output transport-1-b --zone=$SUBNET_ZONE_2
    

    Attendez environ cinq minutes avant que la sortie Instance setup finished s'affiche, puis appuyez sur Ctrl+C. À ce stade, l'instance de VM est prête à être utilisée.

  6. Pour chacune des deux instances de VM du serveur de transport Edge, procédez comme suit :

    1. Créez un nom d'utilisateur et un mot de passe pour l'instance de VM.
    2. Connectez-vous à la VM à l'aide du Bureau à distance en vous servant du nom d'utilisateur et du mot de passe créés à l'étape précédente.
    3. Configurez le suffixe DNS principal pour qu'il corresponde au nom de domaine DNS utilisé par votre domaine Active Directory.
    4. Installez le rôle serveur de transport Edge Exchange Server à l'aide de l'assistant de configuration ou du mode sans assistance. Le support d'installation Exchange est disponible sur le lecteur D:.

Enregistrer les serveurs de transport Edge dans le DNS

Avant de pouvoir configurer un abonnement Edge pour les serveurs de transport Edge, vous devez attribuer des noms DNS au serveur. Comme les serveurs de transport Edge ne sont pas membres de votre domaine Active Directory, vous devez attribuer ces noms manuellement :

  1. Sur le serveur de gestion, ouvrez une console PowerShell.
  2. Créez un enregistrement CNAME pour transport-1-a et transport-1-b :

    Add-DnsServerResourceRecordCName `
      -ComputerName (Get-ADDomainController).Hostname `
      -HostNameAlias "transport-1-a.REGION-a.c.PROJECT-ID.internal." `
      -Name "transport-1-a" `
      -ZoneName "DOMAIN"
    
    Add-DnsServerResourceRecordCName `
      -ComputerName (Get-ADDomainController).Hostname `
      -HostNameAlias "transport-1-b.REGION-b.c.PROJECT-ID.internal." `
      -Name "transport-1-b" `
      -ZoneName "DOMAIN"
    

    Où :

    • PROJECT-ID est l'ID du projet dans lequel vos instances de VM Exchange sont déployées.
    • REGION est la région dans laquelle vos instances de VM Exchange sont déployées.
    • DOMAIN est le domaine DNS de votre domaine Active Directory.

Configurer des abonnements Edge

Pour renseigner les instances AD LDS (Active Directory Lightning Directory Services) sur le serveur de transport Edge avec des données Active Directory, vous devez configurer des abonnements Edge.

  1. Ouvrez un environnement de ligne de commande Exchange Management Shell avec élévation de privilèges en effectuant un clic droit sur Démarrer > Exchange Management Shell et en sélectionnant Plus > Exécuter en tant qu'administrateur.
  2. Créez un abonnement Edge :

    New-EdgeSubscription -FileName "$env:UserProfile\Desktop\EdgeSubscriptionInfo-$env:computername.xml"
    

    Le fichier d'abonnement devrait maintenant s'afficher sur le bureau.

  3. Exportez le certificat du serveur AD LDS Exchange :

    1. Ouvrez Microsoft Management Console en cliquant sur Démarrer > Exécuter. Saisissez mmc et sélectionnez OK.
    2. Sélectionnez Fichier > Ajouter/Supprimer un composant logiciel enfichable.
    3. Dans la liste des composants logiciels enfichables, sélectionnez Certificats et cliquez sur Ajouter.
    4. Sélectionnez Compte de service, puis cliquez sur Suivant.
    5. Sélectionnez Ordinateur local, puis cliquez sur Suivant.
    6. Sélectionnez Microsoft Exchange ADAM, puis cliquez sur Terminer.
    7. Cliquez sur OK.
    8. Dans le volet de gauche, accédez à Certificats > ADAM_MSExchange\Personal > Certificats.
    9. Effectuez un clic droit sur le certificat dans le volet de droite, puis sélectionnez Toutes les tâches > Exporter.
    10. Cliquez sur Suivant.
    11. Sélectionnez Non, ne pas exporter la clé privée, puis cliquez sur Suivant.
    12. Sélectionnez codé à base 64 X.509 (.cer), puis cliquez sur Suivant.
    13. Sélectionnez un emplacement pour enregistrer le certificat, puis cliquez sur Suivant.
  4. Pour chacune des deux instances de VM du serveur de boîtes aux lettres, procédez comme suit :

    1. Copiez le certificat du serveur AD LDS Exchange des deux serveurs de transport Edge vers un emplacement temporaire.
    2. Copiez les fichiers d'abonnement des deux serveurs de transport Edge vers un emplacement temporaire.
    3. Ouvrez un environnement de ligne de commande Exchange Management Shell avec élévation de privilèges en effectuant un clic droit sur Démarrer > Exchange Management Shell et en sélectionnant Plus > Exécuter en tant qu'administrateur.
    4. Importez le certificat du serveur AD LDS Exchange de transport-1-a :

      Import-Certificate -FilePath "PATH" -CertStoreLocation cert:\LocalMachine\Root
      

      Remplacez PATH par le chemin d'accès au certificat du serveur AD LDS Exchange de transport-1-a.

    5. Importez le certificat du serveur AD LDS Exchange de transport-1-b :

      Import-Certificate -FilePath "PATH" -CertStoreLocation cert:\LocalMachine\Root
      

      Remplacez PATH par le chemin d'accès au certificat du serveur AD LDS Exchange de transport-1-b.

    6. Importez les fichiers d'abonnement Edge de transport-1-a et transport-1-b.

    7. Démarrez manuellement le processus EdgeSync sur un serveur de boîtes aux lettres et assurez-vous que la synchronisation a été correctement effectuée.

Configurer l'équilibrage de charge pour le flux de messagerie entrant

Pour activer le flux de courrier entrant vers les serveurs de transport Edge, vous allez maintenant créer une ressource d'équilibreur de charge réseau :

  1. Revenez à votre session Cloud Shell existante.
  2. Créez un pool cible :

    gcloud compute target-pools create transport-pool --region $SUBNET_REGION
    
  3. Ajoutez les instances de VM du serveur de transport Edge au pool cible :

    gcloud compute target-pools add-instances transport-pool \
      --instances-zone $SUBNET_ZONE_1 \
      --instances transport-1-a
    
    gcloud compute target-pools add-instances transport-pool \
      --instances-zone $SUBNET_ZONE_2 \
      --instances transport-1-b
    
  4. Réservez une adresse IP externe pour l'équilibreur de charge :

    gcloud compute addresses create transport-frontend --region=$SUBNET_REGION
    
  5. Créez une règle de transfert :

    gcloud compute forwarding-rules create www-rule \
      --region $SUBNET_REGION \
      --ports 25 \
      --address transport-frontend \
      --target-pool transport-pool
    
  6. Recherchez l'adresse IP de l'équilibreur de charge :

    gcloud compute addresses describe transport-frontend  \
      --region=$SUBNET_REGION \
      --format=value\(address\)
    

    Les serveurs de transport sont désormais disponibles pour recevoir des e-mails sur le port 25 de cette adresse IP et transmettront les e-mails entrants aux serveurs de boîtes aux lettres.

  7. Vérifiez que la distribution des e-mails fonctionne en suivant les instructions de la page Utiliser Telnet pour tester la communication SMTP sur les serveurs Exchange.

  8. Pour terminer la configuration de vos serveurs de transport Edge, suivez les étapes décrites dans la page Configurer le flux de messagerie et l’accès au client sur des serveurs Exchange.

Configurer le flux de messagerie sortant à l'aide de SendGrid

Comme Google Cloud n'autorise pas les connexions sortantes sur le port 25, vous allez maintenant configurer un connecteur d'envoi personnalisé pour gérer les e-mails sortants.

  1. Inscrivez-vous au service de messagerie SendGrid via Google Cloud Marketplace.
  2. Sur le site Web de SendGrid, créez une clé API.
  3. Ajoutez les adresses IP publiques des instances de VM transport-1-a et transport-1-b à la liste des adresses IP autorisées.

Créer un connecteur d'envoi

Vous allez maintenant créer un connecteur d'envoi sortant qui utilise SendGrid en tant qu'hôte actif :

  1. Revenez au Centre d'administration Exchange (EAC).
  2. Dans le menu du système EAC, sélectionnez flux de messagerie > connecteurs d'envoi.
  3. Cliquez sur le signe +.
  4. Dans la boîte de dialogue Nouveau connecteur d'envoi, saisissez les paramètres suivants :
    • Nom : SendGrid
    • Type : Internet (par exemple, pour envoyer du courrier Internet)
  5. Cliquez sur Suivant.
  6. Sous Paramètres réseau, sélectionnez Acheminer les messages électroniques via des hôtes actifs, puis cliquez sur +.
  7. Sur la page Ajouter un hôte actif, saisissez smtp.sendgrid.net.
  8. Cliquez sur Enregistrer.
  9. Cliquez sur Suivant.
  10. Sous Authentification d'un hôte actif, sélectionnez Authentification de base.
  11. Saisissez les informations suivantes :
    • Nom d'utilisateur : apikey
    • Mot de passe : collez la clé API créée sur le site Web de SendGrid.
  12. Cliquez sur Suivant.
  13. Sous Espace d'adressage, cliquez sur +.
  14. Saisissez les informations suivantes :
    • Type : SMTP
    • Nom de domaine complet (FQDN) : *
    • Coût : 1
  15. Cliquez sur Suivant.
  16. Sous Serveur source, cliquez sur +.
  17. Sélectionnez transport-1-a et transport-1-b, puis cliquez sur OK.
  18. Cliquez sur Terminer.

Modifier le port SMTP

Vous allez maintenant configurer le connecteur d'envoi pour qu'il utilise un port personnalisé :

  1. Sur l'un des serveurs de boîtes aux lettres, ouvrez l'interface système de gestion Exchange en effectuant un clic droit sur Démarrer > Exchange Management Shell.
  2. Modifiez le connecteur d'envoi pour qu'il utilise le port 2525 :

    Set-SendConnector -Identity "SendGrid" -port 2525
    
  3. Déclenchez une synchronisation Edge pour vous assurer que la modification de la configuration soit propagée dans tous les serveurs de transport Edge :

    Start-EdgeSynchronization -ForceFullSync
    

Nettoyer

Pour éviter d’engendrer des coûts supplémentaires après avoir terminé ce tutoriel, supprimez les entités que vous avez créées.

Supprimer le projet Google Cloud

  1. Dans la console Google Cloud, accédez à la page Gérer les ressources.

    Accéder à la page Gérer les ressources

  2. Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
  3. Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.

Étapes suivantes

  • Découvrez des architectures de référence, des schémas et des bonnes pratiques concernant Google Cloud. Consultez notre Centre d'architecture cloud.