Implementación de Microsoft Exchange Server 2016 en Compute Engine


Este tutorial describe cómo implementar Microsoft Exchange Server 2016 en Compute Engine y configurarlo para alta disponibilidad y resiliencia del sitio .

La implementación de Exchange abarcará dos zonas dentro de una sola región. En cada zona, implementará un servidor de buzones de correo y un servidor de transporte perimetral. Los servidores de buzones formarán parte de un grupo de disponibilidad de base de datos para que los datos de los buzones se repliquen en todas las zonas.

El siguiente diagrama ilustra la implementación:

Implementación de Microsoft Exchange

El artículo supone que ya ha implementado Active Directory enGoogle Cloud y que tengas conocimientos básicos de Exchange Server 2016, Active Directory y Compute Engine.

Objetivos

  • Configure un proyecto y una red VPC y prepárelos para la implementación de Exchange Server 2016.
  • Implemente servidores de buzones de correo de Exchange en dos zonas y cree un grupo de disponibilidad de base de datos .
  • Implemente servidores de transporte perimetral de Exchange en dos zonas.
  • Configure reglas de firewall y equilibrio de carga.

Costos

Este tutorial utiliza componentes facturables de Google Cloud, incluido:

Utilice la Calculadora de precios para generar una estimación de costos basada en su uso proyectado.

Antes de comenzar

Para completar esta guía, necesita lo siguiente:

  • Un dominio de Active Directory existente con al menos un controlador de dominio. El dominio de Active Directory debe utilizar un nombre de dominio DNS válido y enrutable públicamente. No se pueden utilizar nombres de dominio locales como corp.local o nombres de dominio reservados como example.com .

    Consulte Implementación de un entorno de Microsoft Active Directory tolerante a fallas para obtener más detalles sobre cómo implementar un entorno de Active Directory en Compute Engine.

  • Una zona de reenvío de DNS privada para el nombre de dominio DNS de Active Directory que reenvía consultas de DNS a sus controladores de dominio.

  • Acceso administrativo a su dominio de Active Directory.

  • A Google Cloud proyecto y VPC con conectividad a sus controladores de dominio de Active Directory.

  • Una subred que se utilizará para las instancias de VM de Exchange. La subred debe abarcar al menos dos zonas.

Antes de comenzar la implementación, revise los requisitos de alta disponibilidad y resistencia del sitio para Exchange Server. .

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

    Go to project selector

  2. Make sure that billing is enabled for your Google Cloud project.

Cuando finalices las tareas que se describen en este documento, puedes borrar los recursos que creaste para evitar que continúe la facturación. Para obtener más información, consulta Cómo realizar una limpieza.

Preparando el proyecto y la red.

Para preparar tu Google Cloud proyecto y VPC para la implementación de Exchange Server, haga lo siguiente:

  1. Cambie a su proyecto en la consola de Google Cloud y abra Cloud Shell.

    Abrir caparazón de nube

  2. Inicialice las siguientes variables:

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

    Dónde:

    • VPC_NAME es el nombre de su VPC.
    • SUBNET_NAME es el nombre de su subred.
    • SUBNET_REGION es la región de su subred.
  3. Establece tu ID de proyecto predeterminado:

    gcloud config set project PROJECT_ID
    

    Reemplace PROJECT_ID con el ID de su proyecto de Google Cloud.

Creando un disco de instalación

Ahora creará un disco que contiene los medios de instalación de Exchange Server. Al crear un disco que puede conectar a varias instancias de VM, evita tener que descargar los medios de instalación en cada instancia de VM individualmente.

  1. Siga las instrucciones en Creación de una imagen a partir de un archivo ISO . Utilice la siguiente URL como URL de descarga:

    https://download.microsoft.com/download/6/6/F/66F70200-E2E8-4E73-88F9-A1F6E3E04650/ExchangeServer2016-x64-cu11.iso
    
  2. Utilice la nueva imagen para crear un disco en la primera zona:

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

    Reemplace IMAGE con el nombre de la imagen que creó en el paso anterior.

  3. Cree un disco en la segunda zona:

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

    Reemplace IMAGE con el nombre de la imagen que creó en el primer paso.

Crear reglas de firewall

Para permitir que los clientes se conecten a Exchange y habilitar la comunicación entre los servidores de Exchange , debe crear varias reglas de firewall. Para simplificar la creación de estas reglas de firewall, utiliza etiquetas de red :

  • Los servidores de transporte perimetral están anotados con la etiqueta exchange-transport .
  • Los servidores de buzones de correo están anotados con la etiqueta exchange-mailbox .
  • El servidor testigo está anotado con la etiqueta exchange-witness .
  • Todos los servidores están anotados con la etiqueta exchange .

Cree reglas de firewall que utilicen estas etiquetas de red:

  1. Regrese a su sesión actual de Cloud Shell.
  2. Cree reglas de firewall para los servidores de buzones de correo:

    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. Cree una regla de firewall para el servidor de transporte perimetral:

    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
    

Su proyecto y VPC ahora están listos para la implementación de Exchange Server.

Implementación de la función de buzón

Ahora implementará los servidores de buzones de correo y un servidor de administración que utilizará para administrar Exchange.

Las instancias de VM utilizarán el tipo de máquina n1-standard-8 . Para obtener un análisis más detallado de sus necesidades y los requisitos del sistema, consulte Buscar los permisos necesarios para ejecutar cualquier cmdlet de Exchange .

Implementación del servidor de administración

Siga estos pasos para crear una instancia de VM que sirva como servidor de administración:

  1. Regrese a su sesión actual de Cloud Shell.
  2. Cree un script especializado para la instancia de VM. El script se ejecuta durante la inicialización de la VM e instala los requisitos previos del cliente para las herramientas de administración de 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. Cree una instancia de VM que utilice specialize-admin.ps1 como script especializado y conecte el disco de instalación de Exchange como disco secundario. Utilice el disco secundario más adelante para instalar las herramientas de administración de 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. Supervise el proceso de inicialización de la VM viendo la salida del puerto serie:

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

    Espere unos 5 minutos hasta que vea Instance setup finished de salida y luego presione Ctrl+C. En este punto, la instancia de VM está lista para usarse.

  5. Cree un nombre de usuario y contraseña para la instancia de VM

  6. Conéctese a la máquina virtual mediante Escritorio remoto e inicie sesión con el nombre de usuario y la contraseña creados en el paso anterior.

  7. Haga clic derecho en el botón Inicio (o presione Win+X ) y haga clic en Símbolo del sistema (Administrador) .

  8. Confirme el mensaje de elevación haciendo clic en .

  9. En el símbolo del sistema elevado, inicie una sesión de PowerShell:

    powershell
    
  10. Une la computadora a tu dominio de Active Directory:

    Add-Computer -Domain DOMAIN
    

    Reemplace DOMAIN con el nombre DNS de su dominio de Active Directory.

  11. Reinicie la computadora:

    Restart-Computer
    

    Espere aproximadamente 1 minuto para que se complete el reinicio.

  12. Conéctese a la máquina virtual mediante Escritorio remoto e inicie sesión con un usuario de dominio que sea miembro del grupo Administradores empresariales .

  13. Siga las instrucciones para preparar el esquema y los dominios de Active Directory para Exchange Server . Puede encontrar los medios de instalación de Exchange en la unidad D:

  14. Siga las instrucciones para instalar las herramientas de administración de Exchange .

Implementación de los servidores de buzones de correo

Ahora está listo para implementar las instancias de VM que sirven como servidores de buzones de correo:

  1. Regrese a su sesión actual de Cloud Shell.
  2. Cree un script especializado para la instancia de VM. El script se ejecuta durante la inicialización de la VM e instala los requisitos previos para instalar servidores de buzones de correo :

    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. Cree una instancia de VM en la primera zona y pase specialize-mailbox.ps1 como script especializado. Adjunte el disco de instalación de Exchange como disco secundario. Utilice el disco secundario más adelante para instalar la función del buzón de 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. Cree otra instancia de VM en la segunda 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. Supervise el proceso de inicialización de la VM viendo la salida del puerto serie:

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

    Espere unos 5 minutos hasta que vea Instance setup finished de salida y luego presione Ctrl+C. En este punto, la instancia de VM está lista para usarse.

  6. Para cada una de las dos instancias de VM, realice los siguientes pasos:

    1. Cree un nombre de usuario y contraseña para la instancia de VM
    2. Conéctese a la máquina virtual mediante Escritorio remoto e inicie sesión con el nombre de usuario y la contraseña creados en el paso anterior.
    3. Haga clic derecho en el botón Inicio (o presione Win+X ) y haga clic en Símbolo del sistema (Administrador) .
    4. Confirme el mensaje de elevación haciendo clic en .
    5. En el símbolo del sistema elevado, inicie una sesión de PowerShell:

      powershell
      
    6. Une la computadora a tu dominio de Active Directory:

      Add-Computer -Domain DOMAIN
      

      Reemplace DOMAIN con el nombre DNS de su dominio de Active Directory.

    7. Reinicie la computadora:

      Restart-Computer
      

      Espere aproximadamente 1 minuto para que se complete el reinicio.

    8. Conéctese a la máquina virtual mediante Escritorio remoto e inicie sesión con un usuario de dominio que sea miembro del grupo Administradores empresariales .

    9. Instale la función del buzón de Exchange Server mediante el asistente de configuración o el modo desatendido . Puede encontrar los medios de instalación de Exchange en la unidad D:

Implementación del servidor testigo

Para configurar un grupo de disponibilidad de base de datos (DAG) para los dos servidores de buzones de correo, necesita una instancia de VM adicional que sirva como servidor testigo. Para implementar el servidor testigo, siga estos pasos:

  1. Regrese a su sesión actual de Cloud Shell.
  2. Cree un servidor testigo en la primera 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. Supervise el proceso de inicialización de la VM viendo la salida del puerto serie:

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

    Espere unos 3 minutos hasta que vea Instance setup finished de salida y luego presione Ctrl+C. En este punto, la instancia de VM está lista para usarse.

  4. Cree un nombre de usuario y contraseña para la instancia de VM

  5. Conéctese a la máquina virtual mediante Escritorio remoto e inicie sesión con el nombre de usuario y la contraseña creados en el paso anterior.

  6. Haga clic derecho en el botón Inicio (o presione Win+X ) y haga clic en Símbolo del sistema (Administrador) .

  7. Confirme el mensaje de elevación haciendo clic en .

  8. En el símbolo del sistema elevado, inicie una sesión de PowerShell:

    powershell
    
  9. Une la computadora a tu dominio de Active Directory:

    Add-Computer -Domain DOMAIN
    

    Reemplace DOMAIN con el nombre DNS de su dominio de Active Directory.

  10. Reinicie la computadora:

    Restart-Computer
    

    Espere aproximadamente 1 minuto para que se complete el reinicio.

  11. Conéctese a la máquina virtual mediante Escritorio remoto e inicie sesión con un usuario de dominio que sea miembro del grupo Administradores empresariales .

  12. Haga clic derecho en el botón Inicio (o presione Win+X ) y haga clic en Símbolo del sistema (Administrador) .

  13. Confirme el mensaje de elevación haciendo clic en .

  14. En el símbolo del sistema elevado, inicie una sesión de PowerShell:

    powershell
    
  15. Agregue el grupo de seguridad universal Exchange Trusted Subsystem al grupo de administradores local:

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

    Reemplace DOMAIN con el nombre NetBIOS de su dominio de Active Directory.

Los dos servidores de buzones de correo y el servidor testigo ya están completamente implementados, pero aún es necesario agregarlos a un grupo de disponibilidad de base de datos.

Crear un grupo de disponibilidad de base de datos

Para crear un DAG, siga estos pasos:

  1. Conéctese a la máquina virtual de administración mediante Escritorio remoto e inicie sesión con un usuario de dominio que sea miembro del grupo Administradores empresariales .
  2. Haga clic derecho en el botón Inicio (o presione Win+X ) y haga clic en Símbolo del sistema (Administrador) .
  3. Confirme el mensaje de elevación haciendo clic en .
  4. En el símbolo del sistema elevado, inicie una sesión de PowerShell:

    powershell
    
  5. Descargue e instale el navegador 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. Para abrir el Centro de administración de Exchange (EAC), inicie Chrome y navegue hasta la siguiente URL:

    https://mailbox-1-a/ecp/?ExchClientVer=15
    
  7. Inicie sesión con un usuario de dominio que sea miembro del grupo de administradores empresariales .

  8. En el menú EAC, seleccione servidores > grupos de disponibilidad de bases de datos .

  9. Haga clic en + .

  10. En el cuadro de diálogo, ingrese la siguiente configuración para crear un grupo de disponibilidad de base de datos :

    1. Nombre del grupo de disponibilidad de la base de datos: mailbox
    2. Servidor de testigos: witness
  11. Haga clic en Guardar .

  12. Haga clic en el ícono de membresía de DAG administrado .

  13. En el cuadro de diálogo, haga clic en + para agregar un servidor miembro.

  14. Seleccione buzón-1-a y buzón-1-b y haga clic en agregar.

  15. Haga clic en Aceptar.

  16. Haga clic en Guardar .

Opcionalmente, realice cualquier tarea posterior a la instalación de Exchange Server .

Configurar el equilibrio de carga

Para permitir que los clientes se conecten a los servidores de buzones de correo, ahora crea un recurso de equilibrador de carga interno :

  1. Regrese a su sesión actual de Cloud Shell.
  2. Crea un grupo de instancias no administrado por 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. Agregue las instancias de VM que ejecutan los servidores de buzones de correo a los grupos de instancias:

    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. Cree una verificación de estado que sondee la ruta HTTP /owa/healthcheck.htm :

    gcloud compute health-checks create http http-80\
      --port=80 \
      --request-path=/owa/healthcheck.htm
    
  5. Cree un backend de balanceador de carga y agregue los dos grupos de instancias:

    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. Reserve una dirección IP estática para el equilibrador de carga:

    gcloud compute addresses create mailbox-frontend \
      --region=$SUBNET_REGION \
      --subnet=$SUBNET_NAME
    
  7. Cree una regla de reenvío para el equilibrador de carga:

    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. Busque la dirección IP del equilibrador de carga:

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

Probando los servidores de buzones de correo

Para verificar que los servidores de buzones de correo se hayan implementado correctamente, realice los siguientes pasos:

  1. En la máquina virtual de administración, abra Chrome y navegue hasta https://<var>IP</var>/owa/ , donde IP es la dirección IP del balanceador de carga que buscó anteriormente.
  2. Inicie sesión con un usuario de dominio.

    Ahora debería ver la interfaz de usuario de Outlook Web Access.

Implementación de la función de transporte perimetral

Ahora implementará los servidores de transporte perimetral . Los servidores de transporte perimetral manejan todo el flujo de correo entrante y saliente .

A diferencia de los servidores de buzones de correo, los servidores de transporte perimetral están expuestos a Internet. Por lo tanto, en una implementación local, puede implementar servidores de transporte perimetral en una red perimetral que esté aislada de la red interna mediante firewalls.

En Google Cloud, no es necesario implementar servidores de transporte perimetral en una VPC o subred independiente. En su lugar, utiliza reglas de firewall para microsegmentar su red y restringir la comunicación de red desde y hacia los servidores de transporte perimetrales.

A diferencia de los servidores de buzones de correo, los servidores de transporte perimetral no son miembros de su dominio de Active Directory.

Las instancias de VM utilizarán el tipo de máquina n1-standard-8 . Dependiendo de cómo planee utilizar la implementación de Exchange, es posible que necesite utilizar tipos de máquinas más grandes. Consulte Encuentre los permisos necesarios para ejecutar cualquier cmdlet de Exchange para obtener un análisis más detallado de sus necesidades y los requisitos del sistema.

Implementación de los servidores de transporte perimetrales

Para implementar los servidores de transporte perimetral, siga estos pasos:

  1. Regrese a su sesión actual de Cloud Shell.
  2. Cree un script especializado para la instancia de VM. El script se ejecuta durante la inicialización de la VM e instala los requisitos previos para instalar servidores de transporte perimetrales :

    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. Cree una instancia de VM en la primera zona y pase specialize-transport.ps1 como script especializado. Adjunte el disco de instalación de Exchange en modo de solo lectura para que luego pueda instalar la función del servidor de transporte de 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. Cree otra instancia de VM en la segunda 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. Supervise el proceso de inicialización de la VM viendo la salida del puerto serie:

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

    Espere unos 5 minutos hasta que vea Instance setup finished de salida y luego presione Ctrl+C. En este punto, la instancia de VM está lista para usarse.

  6. Para cada una de las dos instancias de VM del servidor de transporte perimetral, realice los siguientes pasos:

    1. Cree un nombre de usuario y una contraseña para la instancia de VM.
    2. Conéctese a la máquina virtual mediante Escritorio remoto e inicie sesión con el nombre de usuario y la contraseña creados en el paso anterior.
    3. Configure el sufijo DNS principal para que coincida con el nombre de dominio DNS utilizado por su dominio de Active Directory.
    4. Instale la función del servidor de transporte perimetral de Exchange Server mediante el asistente de instalación o el modo desatendido . Puede encontrar los medios de instalación de Exchange en la unidad D:

Registro de los servidores de transporte perimetral en DNS

Antes de poder configurar una suscripción perimetral para los servidores de transporte perimetral, debe asignar nombres DNS al servidor. Debido a que los servidores de transporte perimetral no son miembros de su dominio de Active Directory, debe asignar estos nombres manualmente:

  1. En el servidor de administración, abra una consola de PowerShell.
  2. Cree un registro CNAME para transport-1-a y 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"
    

    Dónde:

    • PROJECT-ID es el ID del proyecto en el que se implementan sus instancias de VM de Exchange.
    • REGION es la región en la que se implementan sus instancias de VM de Exchange.
    • DOMAIN es el dominio DNS de su dominio de Active Directory.

Configurar suscripciones perimetrales

Para completar las instancias de Active Directory Lightweight Directory Services (AD LDS) en el servidor de transporte perimetral con datos de Active Directory, ahora debe configurar las suscripciones perimetrales .

  1. Abra un shell de administración de Exchange elevado haciendo clic derecho en Inicio > Shell de administración de Exchange y seleccionando Más > Ejecutar como administrador .
  2. Cree una suscripción perimetral:

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

    Ahora debería ver el archivo de suscripción en el escritorio.

  3. Exporte el certificado del servidor Exchange AD LDS:

    1. Abra Microsoft Management Console haciendo clic en Inicio > Ejecutar , ingresando mmc y seleccionando Aceptar .
    2. Seleccione Archivo > Agregar o quitar complemento.
    3. En la lista de complementos, seleccione Certificados y haga clic en Agregar .
    4. Seleccione Cuenta de servicio y luego haga clic en Siguiente .
    5. Seleccione Computadora local y luego haga clic en Siguiente .
    6. Seleccione Microsoft Exchange ADAM y luego haga clic en Finalizar .
    7. Haga clic en Aceptar .
    8. En el panel izquierdo, navegue hasta Certificados > ADAM_MSExchange\Personal > Certificados
    9. Haga clic derecho en el certificado en el panel derecho y seleccione Todas las tareas > Exportar .
    10. Haga clic en Siguiente .
    11. Seleccione No, no exporte la clave privada y haga clic en Siguiente .
    12. Seleccione X.509 codificado en Base-64 (.cer) y haga clic en Siguiente .
    13. Seleccione una ubicación para guardar el certificado y haga clic en Siguiente .
  4. Para cada una de las dos instancias de VM del servidor de buzones de correo, realice los siguientes pasos:

    1. Copie el certificado del servidor Exchange AD LDS de ambos servidores de transporte perimetral a una ubicación temporal.
    2. Copie los archivos de suscripción de ambos servidores de transporte perimetral a una ubicación temporal.
    3. Abra un shell de administración de Exchange elevado haciendo clic derecho en Inicio > Shell de administración de Exchange y seleccionando Más > Ejecutar como administrador .
    4. Importe el certificado del servidor Exchange AD LDS de transport-1-a :

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

      Reemplace PATH con la ruta al certificado del servidor Exchange AD LDS de transport-1-a .

    5. Importe el certificado del servidor Exchange AD LDS de transport-1-b :

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

      Reemplace PATH con la ruta al certificado del servidor Exchange AD LDS de transport-1-b .

    6. Importe los archivos de suscripción perimetral de transport-1-a y transport-1-b .

    7. Inicie manualmente el proceso EdgeSync en un servidor de buzones de correo y verifique que la sincronización se haya realizado correctamente .

Configurar el equilibrio de carga para el flujo de correo entrante

Para habilitar el flujo de correo electrónico entrante a los servidores de transporte perimetral, ahora crea un recurso de equilibrador de carga de red :

  1. Regrese a su sesión actual de Cloud Shell.
  2. Cree un grupo de destino:

    gcloud compute target-pools create transport-pool --region $SUBNET_REGION
    
  3. Agregue las instancias de VM del servidor de transporte perimetral al grupo de destino:

    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. Reserve una dirección IP externa para el balanceador de carga:

    gcloud compute addresses create transport-frontend --region=$SUBNET_REGION
    
  5. Cree una regla de reenvío:

    gcloud compute forwarding-rules create www-rule \
      --region $SUBNET_REGION \
      --ports 25 \
      --address transport-frontend \
      --target-pool transport-pool
    
  6. Busque la dirección IP del equilibrador de carga:

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

    Los servidores de transporte ahora están disponibles para recibir correo electrónico en el puerto 25 de esta dirección IP y pasarán el correo electrónico entrante a los servidores de buzón.

  7. Verifique que la entrega de correo electrónico funcione siguiendo las instrucciones en Usar Telnet para probar la comunicación SMTP en servidores Exchange .

  8. Para completar la configuración de sus servidores de transporte perimetral, siga los pasos en Configurar el flujo de correo y el acceso de clientes en servidores Exchange .

Configurar el flujo de correo electrónico saliente mediante SendGrid

Porque Google Cloud no permite conexiones salientes en el puerto 25 , ahora puede configurar un conector de envío personalizado para manejar el correo electrónico saliente.

  1. Utilice Google Cloud Marketplace para registrarse en el servicio de correo electrónico SendGrid.
  2. En el sitio web de SendGrid, cree una nueva clave API.
  3. Agregue las direcciones IP públicas de las instancias de VM transport-1-a y transport-1-b a la lista de direcciones IP permitidas.

Crear un conector de envío

Ahora crea un conector de envío saliente que utiliza SendGrid como host inteligente:

  1. Regrese al Centro de administración de Exchange (EAC).
  2. En el menú EAC, seleccione flujo de correo > conectores de envío .
  3. Haga clic en + .
  4. En el cuadro de diálogo Nuevo conector de envío , ingrese la siguiente configuración:
    • Nombre : SendGrid
    • Tipo : Internet (por ejemplo, para enviar correo por Internet)
  5. Haga clic en Siguiente .
  6. En Configuración de red , seleccione Enrutar correo a través de hosts inteligentes y haga clic en + .
  7. En la página Agregar host inteligente , ingrese smtp.sendgrid.net .
  8. Haga clic en Guardar .
  9. Haga clic en Siguiente .
  10. En Autenticación de host inteligente , seleccione Autenticación básica .
  11. Ingrese la siguiente información:
    • Nombre de usuario : apikey
    • Contraseña : pegue la clave API creada en el sitio web de SendGrid
  12. Haga clic en Siguiente .
  13. En Espacio de direcciones , haga clic en + .
  14. Ingrese la siguiente información:
    • Tipo: SMTP
    • Nombre de dominio completo (FQDN) : *
    • Costo : 1
  15. Haga clic en Siguiente .
  16. En Servidor de origen , haga clic en + .
  17. Seleccione transport-1-a y transport-1-b y haga clic en Aceptar .
  18. Haga clic en Finalizar .

Cambiar el puerto SMTP

Ahora configura el conector de envío para utilizar un puerto personalizado:

  1. En uno de los servidores de buzones de correo, abra el Shell de administración de Exchange haciendo clic derecho en Inicio > Shell de administración de Exchange .
  2. Modifique el conector de envío para usar el puerto 2525 :

    Set-SendConnector -Identity "SendGrid" -port 2525
    
  3. Active una sincronización perimetral para garantizar que el cambio de configuración se propague a todos los servidores de transporte perimetral:

    Start-EdgeSynchronization -ForceFullSync
    

Limpiar

Para evitar incurrir en costos adicionales después de haber completado este tutorial, elimine las entidades que ha creado.

Eliminar el Google Cloud proyecto

  1. In the Google 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.

¿Qué sigue?