Deployment di Microsoft Exchange Server 2016 su Compute Engine


Questo tutorial descrive come eseguire il deployment di Microsoft Exchange Server 2016 su Compute Engine e configurarlo per l'alta affidabilità e la resilienza del sito.

Il deployment di Exchange coprirà due zone all'interno di un'unica regione. In ogni zona, eseguirai il deployment di un server di caselle di posta e di un Edge Transport Server. I server di caselle di posta faranno parte di un gruppo di disponibilità del database in modo che i dati delle caselle di posta vengano replicati tra zone.

Il seguente diagramma illustra il deployment:

Deployment di Microsoft Exchange

L'articolo presuppone che tu abbia già eseguito il deployment di Active Directory su Trusted Cloud by S3NS e che tu abbia conoscenze di base di Exchange Server 2016, Active Directory e Compute Engine.

Obiettivi

  • Configurare un progetto e una rete VPC e prepararli per il deployment di Exchange Server 2016.
  • Eseguire il deployment dei server di caselle di posta di Exchange in due zone e creare un gruppo di disponibilità del database.
  • Eseguire il deployment di Edge Transport Server di Exchange in due zone.
  • Configurare il bilanciamento del carico e le regole firewall.

Costi

Questo tutorial utilizza componenti fatturabili di Trusted Cloud by S3NS, tra cui:

Utilizza il Calcolatore prezzi per generare una stima dei costi in base all'utilizzo previsto.

Prima di iniziare

Per completare questa guida, devi disporre di quanto segue:

  • Un dominio Active Directory esistente con almeno un domain controller. Il dominio Active Directory deve utilizzare un nome di dominio DNS valido e instradabile pubblicamente. Non è possibile utilizzare nomi di dominio locali come corp.local o nomi di dominio riservati come example.com.

    Per ulteriori dettagli su come eseguire il deployment di un ambiente Active Directory su Compute Engine, consulta Eseguire il deployment di un ambiente Microsoft Active Directory a tolleranza di errore.

  • Una zona di inoltro con DNS privato per il nome di dominio DNS di Active Directory che inoltra le query DNS ai domain controller.

  • Accesso amministrativo al dominio Active Directory.

  • Un progetto Trusted Cloud e un VPC con connettività ai domain controller Active Directory.

  • Una subnet da utilizzare per le istanze VM di Exchange. La subnet deve coprire almeno due zone.

Prima di iniziare il deployment, esamina i requisiti di alta affidabilità e resilienza del sito per Exchange Server.

  1. In the Trusted Cloud console, on the project selector page, select or create a Trusted Cloud project.

    Go to project selector

  2. Verify that billing is enabled for your Trusted Cloud project.

Al termine delle attività descritte in questo documento, puoi evitare l'addebito di ulteriori costi eliminando le risorse che hai creato. Per ulteriori informazioni, vedi Pulizia.

Preparazione del progetto e della rete

Per preparare il progetto Trusted Cloud e il VPC per il deployment di Exchange Server, segui questi passaggi:

  1. Passa al tuo progetto nella console Trusted Cloud e apri Cloud Shell.

    Apri Cloud Shell

  2. Inizializza le seguenti variabili:

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

    Dove:

    • VPC_NAME è il nome del VPC.
    • SUBNET_NAME è il nome della subnet.
    • SUBNET_REGION è la regione della subnet.
  3. Imposta l'ID progetto predefinito:

    gcloud config set project PROJECT_ID
    

    Sostituisci PROJECT_ID con l'ID del tuo progetto Trusted Cloud .

Creazione di un disco di installazione

Ora crei un disco contenente i file multimediali di installazione di Exchange Server. Creando un disco che puoi collegare a più istanze VM, eviti di dover scaricare i file multimediali di installazione su ogni istanza VM singolarmente.

  1. Segui le istruzioni riportate in Creazione di un'immagine da un file ISO. Utilizza il seguente URL come URL di download:

    https://download.microsoft.com/download/6/6/F/66F70200-E2E8-4E73-88F9-A1F6E3E04650/ExchangeServer2016-x64-cu11.iso
    
  2. Utilizza la nuova immagine per creare un disco nella prima zona:

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

    Sostituisci IMAGE con il nome dell'immagine creata nel passaggio precedente.

  3. Crea un disco nella seconda zona:

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

    Sostituisci IMAGE con il nome dell'immagine che hai creato nel primo passaggio.

Creazione di regole firewall

Per consentire ai client di connettersi a Exchange e attivare la comunicazione tra i server Exchange, devi creare diverse regole firewall. Per semplificare la creazione di queste regole firewall, utilizza i tag di rete:

  • Gli Edge Transport Server sono annotati con il tag exchange-transport.
  • I server di caselle di posta sono annotati con il tag exchange-mailbox.
  • Il server di controllo è annotato con il tag exchange-witness.
  • Tutti i server sono annotati con il tag exchange.

Crea regole firewall che utilizzano questi tag di rete:

  1. Torna alla sessione di Cloud Shell esistente.
  2. Crea regole firewall per i server di caselle di posta:

    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. Crea una regola firewall per l'Edge Transport Server:

    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
    

Il progetto e il VPC sono ora pronti per il deployment di Exchange Server.

Deployment del ruolo di caselle di posta

Ora esegui il deployment dei server di caselle di posta e di un server di gestione che utilizzi per amministrare Exchange.

Le istanze VM utilizzeranno il tipo di macchina n1-standard-8. Per un'analisi più dettagliata delle tue esigenze e dei relativi requisiti di sistema, consulta Trova le autorizzazioni obbligatorie per eseguire qualsiasi cmdlet Exchange.

Deployment del server di gestione

Per creare un'istanza VM che funge da server di gestione, segui questi passaggi:

  1. Torna alla sessione di Cloud Shell esistente.
  2. Crea uno script di specializzazione per l'istanza VM. Lo script viene eseguito durante l'inizializzazione della VM e installa i prerequisiti del client per gli strumenti di gestione di 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. Crea un'istanza VM che utilizzi specialize-admin.ps1 come script di specializzazione e collega il disco di installazione di Exchange come disco secondario. Utilizzi il disco secondario in seguito per installare gli strumenti di gestione di Exchange:

    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. Monitora il processo di inizializzazione della VM visualizzando l'output della porta seriale:

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

    Attendi circa 5 minuti finché non viene visualizzato l'output Instance setup finished, quindi premi Ctrl+C. A questo punto, l'istanza VM è pronta per essere utilizzata.

  5. Crea un nome utente e una password per l'istanza VM

  6. Connettiti alla VM utilizzando Remote Desktop e accedi con il nome utente e la password creati nel passaggio precedente.

  7. Fai clic con il tasto destro del mouse sul pulsante Avvia (o premi Win+X) e poi fai clic su Prompt dei comandi (Amministratore).

  8. Conferma la richiesta di elevazione facendo clic su .

  9. Nel prompt dei comandi con privilegi elevati, avvia una sessione di PowerShell:

    powershell
    
  10. Unisci il computer al dominio Active Directory:

    Add-Computer -Domain DOMAIN
    

    Sostituisci DOMAIN con il nome DNS del tuo dominio Active Directory.

  11. Riavvia il computer:

    Restart-Computer
    

    Attendi circa 1 minuto per il completamento del riavvio.

  12. Connettiti alla VM utilizzando Remote Desktop e accedi utilizzando un utente di dominio che sia membro del gruppo Amministratori di Enterprise.

  13. Segui le istruzioni per preparare lo schema e i domini Active Directory per Exchange Server. Puoi trovare i file multimediali di installazione di Exchange sull'unità D:.

  14. Segui le istruzioni per installare gli strumenti di gestione di Exchange.

Deployment dei server di caselle di posta

Ora puoi eseguire il deployment delle istanze VM che fungono da server di caselle di posta:

  1. Torna alla sessione di Cloud Shell esistente.
  2. Crea uno script di specializzazione per l'istanza VM. Lo script viene eseguito durante l'inizializzazione della VM e installa i prerequisiti per l'installazione dei server di caselle di posta:

    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. Crea un'istanza VM nella prima zona e passa specialize-mailbox.ps1 come script di specializzazione. Collega il disco di installazione di Exchange come disco secondario. Utilizzi il disco secondario in seguito per installare il ruolo di caselle di posta di Exchange Server:

    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. Crea un'altra istanza VM nella seconda zona:

    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. Monitora il processo di inizializzazione della VM visualizzando l'output della porta seriale:

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

    Attendi circa 5 minuti finché non viene visualizzato l'output Instance setup finished, quindi premi Ctrl+C. A questo punto, l'istanza VM è pronta per l'uso.

  6. Per ciascuna delle due istanze VM, esegui questi passaggi:

    1. Crea un nome utente e una password per l'istanza VM
    2. Connettiti alla VM utilizzando Remote Desktop e accedi con il nome utente e la password creati nel passaggio precedente.
    3. Fai clic con il tasto destro del mouse sul pulsante Avvia (o premi Win+X) e poi fai clic su Prompt dei comandi (Amministratore).
    4. Conferma la richiesta di elevazione facendo clic su .
    5. Nel prompt dei comandi con privilegi elevati, avvia una sessione di PowerShell:

      powershell
      
    6. Unisci il computer al dominio Active Directory:

      Add-Computer -Domain DOMAIN
      

      Sostituisci DOMAIN con il nome DNS del tuo dominio Active Directory.

    7. Riavvia il computer:

      Restart-Computer
      

      Attendi circa 1 minuto per il completamento del riavvio.

    8. Connettiti alla VM utilizzando Remote Desktop e accedi utilizzando un utente di dominio che sia membro del gruppo Amministratori di Enterprise.

    9. Installa il ruolo di caselle di posta di Exchange Server utilizzando la configurazione guidata o la modalità unattended. Puoi trovare i file multimediali di installazione di Exchange sull'unità D:.

Deployment del server di controllo

Per configurare un gruppo di disponibilità del database (DAG) per i due server di caselle di posta, hai bisogno di un'istanza VM aggiuntiva da utilizzare come server di controllo. Per eseguire il deployment del server di controllo, segui questi passaggi:

  1. Torna alla sessione di Cloud Shell esistente.
  2. Crea un server di controllo nella prima zona:

    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. Monitora il processo di inizializzazione della VM visualizzando l'output della porta seriale:

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

    Attendi circa 3 minuti finché non viene visualizzato l'output Instance setup finished, quindi premi Ctrl+C. A questo punto, l'istanza VM è pronta per essere utilizzata.

  4. Crea un nome utente e una password per l'istanza VM

  5. Connettiti alla VM utilizzando Remote Desktop e accedi con il nome utente e la password creati nel passaggio precedente.

  6. Fai clic con il tasto destro del mouse sul pulsante Avvia (o premi Win+X) e poi fai clic su Prompt dei comandi (Amministratore).

  7. Conferma la richiesta di elevazione facendo clic su .

  8. Nel prompt dei comandi con privilegi elevati, avvia una sessione di PowerShell:

    powershell
    
  9. Unisci il computer al dominio Active Directory:

    Add-Computer -Domain DOMAIN
    

    Sostituisci DOMAIN con il nome DNS del tuo dominio Active Directory.

  10. Riavvia il computer:

    Restart-Computer
    

    Attendi circa 1 minuto per il completamento del riavvio.

  11. Connettiti alla VM utilizzando Remote Desktop e accedi utilizzando un utente di dominio che sia membro del gruppo Amministratori di Enterprise.

  12. Fai clic con il tasto destro del mouse sul pulsante Avvia (o premi Win+X) e poi fai clic su Prompt dei comandi (Amministratore).

  13. Conferma la richiesta di elevazione facendo clic su .

  14. Nel prompt dei comandi con privilegi elevati, avvia una sessione di PowerShell:

    powershell
    
  15. Aggiungi il gruppo di sicurezza universale Exchange Trusted Subsystem al gruppo Amministratori locale:

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

    Sostituisci DOMAIN con il nome NetBIOS del tuo dominio Active Directory.

Il deployment dei due server di caselle di posta e del server di controllo è ora completato, ma devi ancora aggiungerli a un gruppo di disponibilità del database.

Creazione di un gruppo di disponibilità del database

Per creare un DAG, segui questi passaggi:

  1. Connettiti alla VM di gestione utilizzando Remote Desktop e accedi utilizzando un utente di dominio che sia membro del gruppo Amministratori di Enterprise.
  2. Fai clic con il tasto destro del mouse sul pulsante Avvia (o premi Win+X) e poi fai clic su Prompt dei comandi (Amministratore).
  3. Conferma la richiesta di elevazione facendo clic su .
  4. Nel prompt dei comandi con privilegi elevati, avvia una sessione di PowerShell:

    powershell
    
  5. Scarica e installa il browser 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. Per aprire il Centro di amministrazione Exchange (EAC), avvia Chrome e vai al seguente URL:

    https://mailbox-1-a/ecp/?ExchClientVer=15
    
  7. Accedi utilizzando un utente di dominio che sia membro del gruppo Amministratori di Enterprise.

  8. Nel menu EAC, seleziona server > gruppi di disponibilità del database.

  9. Fai clic su +.

  10. Nella finestra di dialogo, inserisci le seguenti impostazioni per creare un gruppo di disponibilità del database:

    1. Nome del gruppo di disponibilità del database: mailbox
    2. Server di controllo: witness
  11. Fai clic su Salva.

  12. Fai clic sull'icona Appartenenza a DAG gestito.

  13. Nella finestra di dialogo, fai clic su + per aggiungere un server membro.

  14. Seleziona mailbox-1-a e mailbox-1-b e fai clic su Aggiungi.

  15. Fai clic su Ok.

  16. Fai clic su Salva.

Facoltativamente, esegui le attività dopo l'installazione di Exchange Server.

Configurazione del bilanciamento del carico

Per consentire ai client di connettersi ai server di caselle di posta, ora devi creare una risorsa di bilanciatore del carico interno:

  1. Torna alla sessione di Cloud Shell esistente.
  2. Crea un gruppo di istanze non gestite per zona:

    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. Aggiungi le istanze VM che eseguono i server di caselle di posta ai gruppi di istanze:

    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. Crea un controllo di integrità che esamini il percorso HTTP /owa/healthcheck.htm:

    gcloud compute health-checks create http http-80\
      --port=80 \
      --request-path=/owa/healthcheck.htm
    
  5. Crea un backend del bilanciatore del carico e aggiungi i due gruppi di istanze:

    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. Prenota un indirizzo IP statico per il bilanciatore del carico:

    gcloud compute addresses create mailbox-frontend \
      --region=$SUBNET_REGION \
      --subnet=$SUBNET_NAME
    
  7. Crea una regola di forwarding per il bilanciatore del carico:

    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. Cerca l'indirizzo IP del bilanciatore del carico:

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

Test dei server di caselle di posta

Per verificare che il deployment dei server di caselle di posta sia stato completato correttamente, esegui i seguenti passaggi:

  1. Nella VM di gestione, apri Chrome e vai all'indirizzo https://<var>IP</var>/owa/, dove IP è l'indirizzo IP del bilanciatore del carico che hai cercato in precedenza.
  2. Accedi utilizzando un utente di dominio.

    A questo punto dovresti vedere l'interfaccia utente di Outlook Web Access.

Deployment del ruolo Edge Transport

Ora esegui il deployment degli Edge Transport Server. Gli Edge Transport Server gestiscono tutto il flusso di posta in entrata e in uscita.

A differenza dei server di caselle di posta, gli Edge Transport Server sono esposti a internet. In un deployment on-premise, potresti quindi eseguire il deployment degli Edge Transport Server in una rete perimetrale isolata dalla rete interna tramite firewall.

Su Trusted Cloud, non è necessario eseguire il deployment di Edge Transport Server in una subnet o in un VPC separati. Utilizza invece le regole firewall per microsegmentare la rete e limitare la comunicazione di rete da e verso gli Edge Transport Server.

A differenza dei server di caselle di posta, gli Edge Transport Server non sono membri del tuo dominio Active Directory.

Le istanze VM utilizzeranno il tipo di macchina n1-standard-8. A seconda di come prevedi di utilizzare il deployment di Exchange, potresti dover utilizzare tipi di macchine più grandi. Consulta Trova le autorizzazioni obbligatorie per eseguire qualsiasi cmdlet Exchange per un'analisi più dettagliata delle tue esigenze e dei relativi requisiti di sistema.

Deployment degli Edge Transport Server

Per eseguire il deployment degli Edge Transport Server, segui questi passaggi:

  1. Torna alla sessione di Cloud Shell esistente.
  2. Crea uno script di specializzazione per l'istanza VM. Lo script viene eseguito durante l'inizializzazione della VM e installa i prerequisiti per l'installazione degli Edge Transport Server:

    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. Crea un'istanza VM nella prima zona e passa specialize-transport.ps1 come script di specializzazione. Collega il disco di installazione di Exchange in modalità di sola lettura per poter installare in un secondo momento il ruolo Transport Server di 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. Crea un'altra istanza VM nella seconda zona:

    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. Monitora il processo di inizializzazione della VM visualizzando l'output della porta seriale:

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

    Attendi circa 5 minuti finché non viene visualizzato l'output Instance setup finished, quindi premi Ctrl+C. A questo punto, l'istanza VM è pronta per essere utilizzata.

  6. Per ciascuna delle due istanze VM Edge Transport Server, esegui questi passaggi:

    1. Crea un nome utente e una password per l'istanza VM.
    2. Connettiti alla VM utilizzando Remote Desktop e accedi con il nome utente e la password creati nel passaggio precedente.
    3. Configura il suffisso DNS principale in modo che corrisponda al nome di dominio DNS utilizzato dal tuo dominio Active Directory.
    4. Installa il ruolo Edge Transport Server di Exchange Server utilizzando la configurazione guidata o la modalità unattended. Puoi trovare i file multimediali di installazione di Exchange sull'unità D:.

Registrazione degli Edge Transport Server nel DNS

Prima di poter configurare un abbonamento Edge per gli Edge Transport Server, devi assegnare i nomi DNS al server. Poiché gli Edge Transport Server non fanno parte del tuo dominio Active Directory, devi assegnare questi nomi manualmente:

  1. Sul server di gestione, apri una console PowerShell.
  2. Crea un record CNAME per transport-1-a e 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"
    

    Dove:

    • PROJECT-ID è l'ID del progetto in cui è eseguito il deployment delle istanze VM di Exchange.
    • REGION è la regione in cui è stato eseguito il deployment delle istanze VM di Exchange.
    • DOMAIN è il dominio DNS del tuo dominio Active Directory.

Configurazione degli abbonamenti Edge

Per compilare le istanze Active Directory Lightweight Directory Services (AD LDS) sull'Edge Transport Server con i dati di Active Directory, ora devi configurare gli abbonamenti Edge.

  1. Apri una Exchange Management Shell con privilegi elevati facendo clic con il tasto destro del mouse su Avvia > Exchange Management Shell e selezionando Altro > Esegui come amministratore.
  2. Crea un abbonamento Edge:

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

    Ora dovresti vedere il file di abbonamento sul desktop.

  3. Esporta il certificato del server AD LDS di Exchange:

    1. Apri la Microsoft Management Console facendo clic su Avvia > Esegui, inserendo mmc e selezionando Ok.
    2. Seleziona File > Aggiungi/rimuovi snap-in.
    3. Nell'elenco degli snap-in, seleziona Certificati e fai clic su Aggiungi.
    4. Seleziona Service account e poi fai clic su Avanti.
    5. Seleziona Computer locale e poi fai clic su Avanti.
    6. Seleziona Microsoft Exchange ADAM e poi fai clic su Fine.
    7. Fai clic su Ok.
    8. Nel riquadro a sinistra, vai a Certificati > ADAM_MSExchange\Personal > Certificati.
    9. Fai clic con il tasto destro del mouse sul certificato nel riquadro a destra e seleziona Tutte le attività > Esporta.
    10. Fai clic su Avanti.
    11. Seleziona No, non esportare la chiave privata e fai clic su Avanti.
    12. Seleziona X.509 con codifica Base64 (.cer) e fai clic su Avanti.
    13. Seleziona una posizione in cui salvare il certificato e fai clic su Avanti.
  4. Per ciascuna delle due istanze VM del server di caselle di posta, esegui i seguenti passaggi:

    1. Copia il certificato del server AD LDS di Exchange di entrambi gli Edge Transport Server in una posizione temporanea.
    2. Copia i file di abbonamento di entrambi gli Edge Transport Server in una posizione temporanea.
    3. Apri una Exchange Management Shell con privilegi elevati facendo clic con il tasto destro del mouse su Avvia > Exchange Management Shell e selezionando Altro > Esegui come amministratore.
    4. Importa il certificato del server AD LDS di Exchange di transport-1-a:

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

      Sostituisci PATH con il percorso del certificato del server AD LDS di Exchange di transport-1-a.

    5. Importa il certificato del server AD LDS di Exchange di transport-1-b:

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

      Sostituisci PATH con il percorso del certificato del server AD LDS di Exchange di transport-1-b.

    6. Importa i file di abbonamento Edge di transport-1-a e transport-1-b.

    7. Avvia manualmente il processo EdgeSync su un server di caselle di posta e verifica che la sincronizzazione sia riuscita.

Configurazione del bilanciamento del carico per il flusso di posta in entrata

Per attivare il flusso di posta in entrata verso gli Edge Transport Server, ora crei una risorsa bilanciatore del carico di rete:

  1. Torna alla sessione di Cloud Shell esistente.
  2. Crea un pool di destinazione:

    gcloud compute target-pools create transport-pool --region $SUBNET_REGION
    
  3. Aggiungi le istanze VM dell'Edge Transport Server al pool di destinazione:

    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. Prenota un indirizzo IP esterno per il bilanciatore del carico:

    gcloud compute addresses create transport-frontend --region=$SUBNET_REGION
    
  5. Crea una regola di forwarding:

    gcloud compute forwarding-rules create www-rule \
      --region $SUBNET_REGION \
      --ports 25 \
      --address transport-frontend \
      --target-pool transport-pool
    
  6. Cerca l'indirizzo IP del bilanciatore del carico:

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

    Ora i Transport Server sono disponibili per ricevere le email sulla porta 25 di questo indirizzo IP e inoltreranno le email in arrivo ai server di caselle di posta.

  7. Verifica che il recapito delle email funzioni seguendo le istruzioni riportate in Utilizza Telnet per testare la comunicazione SMTP sui server Exchange.

  8. Per completare la configurazione degli Edge Transport Server, segui i passaggi descritti in Configura il flusso di posta e l'accesso client sui server Exchange.

Configurazione del flusso di posta in uscita mediante SendGrid

Poiché Trusted Cloud non consente connessioni in uscita sulla porta 25, ora devi configurare un connettore di invio personalizzato per gestire le email in uscita.

  1. Utilizza Google Cloud Marketplace per registrarti al servizio email SendGrid.
  2. Sul sito web di SendGrid, crea una nuova chiave API.
  3. Aggiungi gli indirizzi IP pubblici delle istanze VM transport-1-a e transport-1-b all'elenco di indirizzi IP consentiti.

Creazione di un connettore di invio

Ora devi creare un connettore di invio in uscita che utilizza SendGrid come SmartHost:

  1. Torna al Centro di amministrazione Exchange (EAC).
  2. Nel menu EAC, seleziona Flusso di posta > Connettori di invio.
  3. Fai clic su +.
  4. Nella finestra di dialogo Nuovo connettore di invio, inserisci le seguenti impostazioni:
    • Nome: SendGrid
    • Tipo: internet (ad esempio per inviare email via internet)
  5. Fai clic su Avanti.
  6. In Impostazioni di rete, seleziona Instrada la posta tramite SmartHost e fai clic su +.
  7. Nella pagina Aggiungi SmartHost, inserisci smtp.sendgrid.net.
  8. Fai clic su Salva.
  9. Fai clic su Avanti.
  10. In Autenticazione SmartHost, seleziona Autenticazione di base.
  11. Inserisci le seguenti informazioni:
    • Nome utente: apikey
    • Password: incolla la chiave API creata sul sito web di SendGrid
  12. Fai clic su Avanti.
  13. In Spazio di indirizzi, fai clic su +.
  14. Inserisci le seguenti informazioni:
    • Tipo: SMTP
    • Nome di dominio completo (FQDN): *
    • Costo: 1
  15. Fai clic su Avanti.
  16. In Server di origine, fai clic su +.
  17. Seleziona transport-1-a e transport-1-b e fai clic su Ok.
  18. Fai clic su Fine.

Modifica della porta SMTP

Ora devi configurare il connettore di invio in modo che utilizzi una porta personalizzata:

  1. Su uno dei server di caselle di posta, apri Exchange Management Shell facendo clic con il tasto destro del mouse su Avvia > Exchange Management Shell.
  2. Modifica il connettore di invio in modo che utilizzi la porta 2525:

    Set-SendConnector -Identity "SendGrid" -port 2525
    
  3. Attiva una sincronizzazione edge per assicurarti che la modifica della configurazione sia propagata a tutti gli Edge Transport Server:

    Start-EdgeSynchronization -ForceFullSync
    

Liberare spazio

Per evitare di incorrere in ulteriori costi dopo aver completato questo tutorial, elimina le entità che hai creato.

Elimina il progetto Trusted Cloud

  1. In the Trusted Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Passaggi successivi

  • Esplora architetture di riferimento, diagrammi e best practice su Google Cloud. Consulta il nostro Cloud Architecture Center.