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 misma región. En cada zona, se implementarán un servidor de buzones 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 entre las zonas.
El siguiente diagrama ilustra la implementación:
El artículo asume que ya ha implementado Active Directory enGoogle Cloud y que tenga conocimientos básicos de Exchange Server 2016, Active Directory y Compute Engine.
Objetivos
- Configurar un proyecto y una red VPC, y prepararlos para la implementación de Exchange Server 2016.
- Implemente servidores de buzón de Exchange en dos zonas y cree un grupo de disponibilidad de base de datos .
- Implementar servidores de transporte perimetral de Exchange en dos zonas.
- Configurar el equilibrio de carga y las reglas de firewall.
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 empezar
Para completar esta guía, necesitará lo siguiente:
Un dominio de Active Directory existente con al menos un controlador de dominio. El dominio de Active Directory debe usar un nombre de dominio DNS válido y públicamente enrutable. No se pueden usar nombres de dominio locales como
corp.local
ni nombres de dominio reservados comoexample.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 para las instancias de máquinas virtuales de Exchange. La subred debe abarcar al menos dos zonas.
Antes de comenzar la implementación, revise los requisitos de alta disponibilidad y resiliencia del sitio para Exchange Server.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
Al finalizar las tareas descritas en este documento, puede evitar la facturación continua eliminando los recursos creados. Para obtener más información, consulte Limpieza .
Preparando el proyecto y la red
Para preparar su Google Cloud Proyecto y VPC para la implementación de Exchange Server, haga lo siguiente:
Cambie a su proyecto en el Google Cloud consola y abra Cloud Shell.
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.
Establezca su ID de proyecto predeterminado:
gcloud config set project PROJECT_ID
Reemplace PROJECT_ID con el ID de su Google Cloud proyecto.
Creación de un disco de instalación
Ahora crea un disco que contiene el medio de instalación de Exchange Server. Al crear un disco que se puede conectar a varias instancias de máquina virtual, evita tener que descargar el medio de instalación a cada una de ellas.
Sigue las instrucciones de Crear una imagen a partir de un archivo ISO . Usa la siguiente URL como URL de descarga:
https://download.microsoft.com/download/6/6/F/66F70200-E2E8-4E73-88F9-A1F6E3E04650/ExchangeServer2016-x64-cu11.iso
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.
Crea 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.
Creación de reglas de firewall
Para permitir que los clientes se conecten a Exchange y habilitar la comunicación entre servidores Exchange , es necesario crear varias reglas de firewall. Para simplificar la creación de estas reglas, se utilizan etiquetas de red :
- Los servidores de transporte de borde 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:
- Regrese a su sesión existente de Cloud Shell.
Crear 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
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 de correo
Ahora implementa los servidores de buzones de correo y un servidor de administración que utiliza para administrar Exchange.
Las instancias de máquina virtual usarán el tipo de máquina n1-standard-8
. Para 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 funcione como servidor de administración:
- Regrese a su sesión existente de Cloud Shell.
Cree un script especializado para la instancia de máquina virtual. El script se ejecuta durante la inicialización de la máquina virtual 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
Cree una instancia de máquina virtual que use
specialize-admin.ps1
como script de especialización y adjunte el disco de instalación de Exchange como disco secundario. Este disco secundario se usará posteriormente 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
Supervise el proceso de inicialización de la máquina virtual visualizando la salida de su puerto serie:
gcloud compute instances tail-serial-port-output exchange-admin --zone=$SUBNET_ZONE_1
Espere unos 5 minutos hasta que vea el resultado
Instance setup finished
y luego presione Ctrl+C. En este punto, la instancia de máquina virtual está lista para usarse.Cree un nombre de usuario y una contraseña para la instancia de VM
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.
Haga clic derecho en el botón Inicio (o presione Win+X ) y haga clic en Símbolo del sistema (Administrador) .
Confirme la solicitud de elevación haciendo clic en Sí .
En el símbolo del sistema elevado, inicie una sesión de PowerShell:
powershell
Unir la computadora a su dominio de Active Directory:
Add-Computer -Domain DOMAIN
Reemplace DOMAIN con el nombre DNS de su dominio de Active Directory.
Reiniciar la computadora:
Restart-Computer
Espere aproximadamente 1 minuto para que se complete el reinicio.
Conéctese a la máquina virtual mediante Escritorio remoto e inicie sesión con un usuario de dominio que sea miembro del grupo de administradores empresariales .
Siga las instrucciones para preparar el esquema de Active Directory y los dominios para Exchange Server . Puede encontrar el medio de instalación de Exchange en la unidad
D:
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 funcionan como servidores de buzón:
- Regrese a su sesión existente de Cloud Shell.
Cree un script especializado para la instancia de máquina virtual. Este script se ejecuta durante la inicialización de la máquina virtual e instala los requisitos previos para la instalación de 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
Cree una instancia de máquina virtual en la primera zona y utilice
specialize-mailbox.ps1
como script de especialización. Conecte el disco de instalación de Exchange como disco secundario. Este disco secundario se usará posteriormente para instalar la función de 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
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
Supervise el proceso de inicialización de la máquina virtual visualizando la salida de su puerto serie:
gcloud compute instances tail-serial-port-output mailbox-1-b --zone=$SUBNET_ZONE_2
Espere unos 5 minutos hasta que vea que la
Instance setup finished
y presione Ctrl+C. En este punto, la instancia de máquina virtual está lista para usarse.Para cada una de las dos instancias de VM, realice los siguientes pasos:
- Cree un nombre de usuario y una contraseña para la instancia de VM
- 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.
- Haga clic derecho en el botón Inicio (o presione Win+X ) y haga clic en Símbolo del sistema (Administrador) .
- Confirme la solicitud de elevación haciendo clic en Sí .
En el símbolo del sistema elevado, inicie una sesión de PowerShell:
powershell
Unir la computadora a su dominio de Active Directory:
Add-Computer -Domain DOMAIN
Reemplace DOMAIN con el nombre DNS de su dominio de Active Directory.
Reiniciar la computadora:
Restart-Computer
Espere aproximadamente 1 minuto para que se complete el reinicio.
Conéctese a la máquina virtual mediante Escritorio remoto e inicie sesión con un usuario de dominio que sea miembro del grupo de administradores empresariales .
Instale la función de buzón de Exchange Server mediante el asistente de instalación o el modo desatendido . Puede encontrar el medio 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 máquina virtual adicional que actúe como servidor testigo. Para implementar el servidor testigo, siga estos pasos:
- Regrese a su sesión existente de Cloud Shell.
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"
Supervise el proceso de inicialización de la máquina virtual visualizando la salida de su puerto serie:
gcloud compute instances tail-serial-port-output witness --zone=$SUBNET_ZONE_1
Espere unos 3 minutos hasta que vea el resultado
Instance setup finished
y luego presione Ctrl+C. En este punto, la instancia de máquina virtual está lista para usarse.Cree un nombre de usuario y una contraseña para la instancia de VM
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.
Haga clic derecho en el botón Inicio (o presione Win+X ) y haga clic en Símbolo del sistema (Administrador) .
Confirme la solicitud de elevación haciendo clic en Sí .
En el símbolo del sistema elevado, inicie una sesión de PowerShell:
powershell
Unir la computadora a su dominio de Active Directory:
Add-Computer -Domain DOMAIN
Reemplace DOMAIN con el nombre DNS de su dominio de Active Directory.
Reiniciar la computadora:
Restart-Computer
Espere aproximadamente 1 minuto para que se complete el reinicio.
Conéctese a la máquina virtual mediante Escritorio remoto e inicie sesión con un usuario de dominio que sea miembro del grupo de administradores empresariales .
Haga clic derecho en el botón Inicio (o presione Win+X ) y haga clic en Símbolo del sistema (Administrador) .
Confirme la solicitud de elevación haciendo clic en Sí .
En el símbolo del sistema elevado, inicie una sesión de PowerShell:
powershell
Agregue el grupo de seguridad universal del subsistema de confianza de Exchange 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 buzón y el servidor testigo ya están completamente implementados, pero aún es necesario agregarlos a un grupo de disponibilidad de base de datos.
Creación de un grupo de disponibilidad de base de datos
Para crear un DAG, siga estos pasos:
- 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 de administradores empresariales .
- Haga clic derecho en el botón Inicio (o presione Win+X ) y haga clic en Símbolo del sistema (Administrador) .
- Confirme la solicitud de elevación haciendo clic en Sí .
En el símbolo del sistema elevado, inicie una sesión de PowerShell:
powershell
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
Para abrir el Centro de administración de Exchange (EAC), inicie Chrome y navegue a la siguiente URL:
https://mailbox-1-a/ecp/?ExchClientVer=15
Inicie sesión con un usuario de dominio que sea miembro del grupo de administradores de empresa .
En el menú EAC, seleccione servidores > grupos de disponibilidad de bases de datos .
Haga clic en + .
En el cuadro de diálogo, ingrese las siguientes configuraciones para crear un grupo de disponibilidad de base de datos :
- Nombre del grupo de disponibilidad de la base de datos:
mailbox
- Servidor de testigos:
witness
- Nombre del grupo de disponibilidad de la base de datos:
Haga clic en Guardar .
Haga clic en el ícono de membresía de DAG administrado .
En el cuadro de diálogo, haga clic en + para agregar un servidor miembro.
Seleccione buzón-1-a y buzón-1-b y haga clic en agregar.
Haga clic en Aceptar.
Haga clic en Guardar .
Opcionalmente, realice cualquier tarea posterior a la instalación de Exchange Server .
Configuración del equilibrio de carga
Para permitir que los clientes se conecten a los servidores de buzones de correo, ahora debe crear un recurso de equilibrador de carga interno :
- Regrese a su sesión existente de Cloud Shell.
Cree un grupo de instancias no administradas 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
Agregue las instancias de VM que ejecutan los servidores de buzón 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
Cree una comprobación de estado que investigue la ruta HTTP
/owa/healthcheck.htm
:gcloud compute health-checks create http http-80\ --port=80 \ --request-path=/owa/healthcheck.htm
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
Reserve una dirección IP estática para el balanceador de carga:
gcloud compute addresses create mailbox-frontend \ --region=$SUBNET_REGION \ --subnet=$SUBNET_NAME
Cree una regla de reenvío para el balanceador 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
Busque la dirección IP del balanceador de carga:
gcloud compute addresses describe mailbox-frontend \ --region=$SUBNET_REGION \ --format=value\(address\)
Prueba de los servidores de buzones de correo
Para verificar que los servidores de buzón se hayan implementado correctamente, realice los siguientes pasos:
- En la máquina virtual de administración, abra Chrome y navegue a
https://<var>IP</var>/owa/
, donde IP es la dirección IP del balanceador de carga que buscó anteriormente. Inicie sesión utilizando un usuario de dominio.
Ahora debería ver la interfaz de usuario de Outlook Web Access.
Implementación de la función de transporte de borde
Ahora implementa los servidores de transporte perimetral . Estos gestionan 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, se podrían implementar servidores de transporte perimetral en una red perimetral aislada de la red interna mediante firewalls.
En Google CloudNo es necesario implementar servidores de transporte perimetral en una VPC o subred independiente. En su lugar, se utilizan reglas de firewall para microsegmentar la red y restringir la comunicación desde y hacia los servidores de transporte perimetral.
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 máquina virtual usarán el tipo de máquina n1-standard-8
. Según cómo planee usar la implementación de Exchange, podría necesitar tipos de máquina más grandes. Consulte " Buscar 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 perimetral
Para implementar los servidores de transporte perimetral, siga estos pasos:
- Regrese a su sesión existente de Cloud Shell.
Cree un script especializado para la instancia de máquina virtual. Este script se ejecuta durante la inicialización de la máquina virtual e instala los requisitos previos para la instalación de servidores de transporte perimetral :
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
Cree una instancia de máquina virtual en la primera zona y utilice el script
specialize-transport.ps1
". Conecte el disco de instalación de Exchange en modo de solo lectura para poder instalar posteriormente el rol de 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
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
Supervise el proceso de inicialización de la máquina virtual visualizando la salida de su puerto serie:
gcloud compute instances tail-serial-port-output transport-1-b --zone=$SUBNET_ZONE_2
Espere unos 5 minutos hasta que vea el resultado
Instance setup finished
y luego presione Ctrl+C. En este punto, la instancia de máquina virtual está lista para usarse.Para cada una de las dos instancias de máquina virtual del servidor de transporte de borde, realice los siguientes pasos:
- Cree un nombre de usuario y una contraseña para la instancia de VM.
- 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.
- Configure el sufijo DNS principal para que coincida con el nombre de dominio DNS utilizado por su dominio de Active Directory.
- Instale el rol de servidor de transporte perimetral de Exchange Server mediante el asistente de instalación o el modo desatendido . Puede encontrar el medio de instalación de Exchange en la unidad
D:
Registrar los servidores de transporte de borde en DNS
Antes de configurar una suscripción perimetral para los servidores de transporte perimetral, debe asignarles nombres DNS. Dado que los servidores de transporte perimetral no pertenecen a su dominio de Active Directory, debe asignarlos manualmente:
- En el servidor de administración, abra una consola de PowerShell.
Cree un registro CNAME para
transport-1-a
ytransport-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.
Configuración de suscripciones de borde
Para rellenar las instancias de Active Directory Lightweight Directory Services (AD LDS) en el servidor de transporte perimetral con datos de Active Directory, ahora debe configurar suscripciones perimetrales .
- Abra un shell de administración de Exchange elevado haciendo clic con el botón derecho en Inicio > Shell de administración de Exchange y seleccionando Más > Ejecutar como administrador .
Crear 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.
Exportar el certificado del servidor AD LDS de Exchange:
- Abra Microsoft Management Console haciendo clic en Inicio > Ejecutar , ingresando
mmc
y seleccionando Aceptar . - Seleccione Archivo > Agregar o quitar complemento.
- En la lista de complementos, seleccione Certificados y haga clic en Agregar .
- Seleccione Cuenta de servicio y luego haga clic en Siguiente .
- Seleccione Equipo local y luego haga clic en Siguiente .
- Seleccione Microsoft Exchange ADAM y luego haga clic en Finalizar .
- Haga clic en Aceptar .
- En el panel izquierdo, navegue a Certificados > ADAM_MSExchange\Personal > Certificados
- Haga clic con el botón derecho en el certificado en el panel derecho y seleccione Todas las tareas > Exportar .
- Haga clic en Siguiente .
- Seleccione No, no exportar la clave privada y haga clic en Siguiente .
- Seleccione X.509 codificado en Base-64 (.cer) y haga clic en Siguiente .
- Seleccione una ubicación para guardar el certificado y haga clic en Siguiente .
- Abra Microsoft Management Console haciendo clic en Inicio > Ejecutar , ingresando
Para cada una de las dos instancias de máquina virtual del servidor de buzón, realice los siguientes pasos:
- Copie el certificado del servidor Exchange AD LDS de ambos servidores de transporte perimetral a una ubicación temporal.
- Copie los archivos de suscripción de ambos servidores de transporte de borde a una ubicación temporal.
- Abra un shell de administración de Exchange elevado haciendo clic con el botón derecho en Inicio > Shell de administración de Exchange y seleccionando Más > Ejecutar como administrador .
Importar 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 AD LDS de Exchange de
transport-1-a
.Importar el certificado del servidor AD LDS de Exchange de
transport-1-b
:Import-Certificate -FilePath "PATH" -CertStoreLocation cert:\LocalMachine\Root
Reemplace PATH con la ruta al certificado del servidor AD LDS de Exchange de
transport-1-b
.Importe los archivos de suscripción de Edge de
transport-1-a
ytransport-1-b
.Inicie manualmente el proceso EdgeSync en un servidor de buzón y verifique que la sincronización se haya realizado correctamente .
Configuración del 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 debe crear un recurso de equilibrador de carga de red :
- Regrese a su sesión existente de Cloud Shell.
Crear un grupo de destino:
gcloud compute target-pools create transport-pool --region $SUBNET_REGION
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
Reserve una dirección IP externa para el balanceador de carga:
gcloud compute addresses create transport-frontend --region=$SUBNET_REGION
Crear una regla de reenvío:
gcloud compute forwarding-rules create www-rule \ --region $SUBNET_REGION \ --ports 25 \ --address transport-frontend \ --target-pool transport-pool
Busque la dirección IP del balanceador 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 buzones.
Verifique que la entrega de correo electrónico funcione siguiendo las instrucciones en Usar Telnet para probar la comunicación SMTP en servidores Exchange .
Para completar la configuración de sus servidores de transporte perimetral, siga los pasos que se indican en Configurar el flujo de correo y el acceso de clientes en servidores Exchange .
Configuración del flujo de correo electrónico saliente mediante SendGrid
Porque Google Cloud no permite conexiones salientes en el puerto 25 , ahora configura un conector de envío personalizado para manejar el correo electrónico saliente.
- Utilice Google Cloud Marketplace para registrarse en el servicio de correo electrónico SendGrid.
- En el sitio web de SendGrid, cree una nueva clave API.
- Agregue las direcciones IP públicas de las instancias de VM
transport-1-a
ytransport-1-b
a la lista de direcciones IP permitidas.
Creación de un conector de envío
Ahora crea un conector de envío saliente que utiliza SendGrid como host inteligente:
- Regresar al Centro de administración de Exchange (EAC).
- En el menú EAC, seleccione flujo de correo > conectores de envío .
- Haga clic en + .
- En el cuadro de diálogo Nuevo conector de envío , ingrese las siguientes configuraciones:
- Nombre :
SendGrid
- Tipo : Internet (por ejemplo, para enviar correo por Internet)
- Nombre :
- Haga clic en Siguiente .
- En Configuración de red , seleccione Enrutar correo a través de hosts inteligentes y haga clic en + .
- En la página Agregar host inteligente , ingrese
smtp.sendgrid.net
. - Haga clic en Guardar .
- Haga clic en Siguiente .
- En Autenticación de host inteligente , seleccione Autenticación básica .
- Introduzca la siguiente información:
- Nombre de usuario :
apikey
- Contraseña : Pegue la clave API creada en el sitio web de SendGrid
- Nombre de usuario :
- Haga clic en Siguiente .
- En Espacio de direcciones , haga clic en + .
- Introduzca la siguiente información:
- Tipo:
SMTP
- Nombre de dominio completo calificado (FQDN) :
*
- Costo :
1
- Tipo:
- Haga clic en Siguiente .
- En Servidor de origen , haga clic en + .
- Seleccione
transport-1-a
ytransport-1-b
y haga clic en Aceptar . - Haga clic en Finalizar .
Cambiar el puerto SMTP
Ahora configura el conector de envío para utilizar un puerto personalizado:
- En uno de los servidores de buzones de correo, abra el shell de administración de Exchange haciendo clic con el botón derecho en Inicio > Shell de administración de Exchange .
Modificar el conector de envío para utilizar el puerto
2525
:Set-SendConnector -Identity "SendGrid" -port 2525
Active una sincronización de borde para garantizar que el cambio de configuración se propague a todos los servidores de transporte de borde:
Start-EdgeSynchronization -ForceFullSync
Limpiar
Para evitar incurrir en costos adicionales después de haber completado este tutorial, elimine las entidades que haya creado.
Eliminar el Google Cloud proyecto
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
¿Qué sigue?
- Explora arquitecturas de referencia, diagramas y prácticas recomendadas de Google Cloud. Visita nuestro Centro de Arquitectura de la Nube .