Este tutorial descreve como implantar o Microsoft Exchange Server 2016 no Compute Engine e configurá-lo para alta disponibilidade e resiliência do site .
A implantação do Exchange abrangerá duas zonas em uma única região. Em cada zona, você implantará um servidor de caixa de correio e um servidor de transporte de borda. Os servidores de caixa de correio farão parte de um grupo de disponibilidade de banco de dados para que os dados da caixa de correio sejam replicados entre zonas.
O diagrama a seguir ilustra a implantação:
O artigo pressupõe que você já tenha implantado o Active Directory emGoogle Cloud e que você tenha conhecimento básico do Exchange Server 2016, Active Directory e Compute Engine.
Objetivos
- Configure um projeto e uma rede VPC e prepare-os para a implantação do Exchange Server 2016.
- Implante servidores de caixa de correio do Exchange em duas zonas e crie um grupo de disponibilidade de banco de dados .
- Implante servidores de transporte de borda do Exchange em duas zonas.
- Configure regras de balanceamento de carga e firewall.
Custos
Este tutorial usa componentes faturáveis de Google Cloud, incluindo:
Use a Calculadora de preços para gerar uma estimativa de custo com base no uso projetado.
Antes de começar
Para concluir este guia, você precisa do seguinte:
Um domínio existente do Active Directory com pelo menos um controlador de domínio. O domínio do Active Directory deve usar um nome de domínio DNS válido e roteável publicamente. Nomes de domínio locais como
corp.local
ou nomes de domínio reservados comoexample.com
não podem ser usados.Consulte Implantação de um ambiente Microsoft Active Directory tolerante a falhas para obter mais detalhes sobre como implantar um ambiente Active Directory no Compute Engine.
Uma zona privada de encaminhamento de DNS para o nome de domínio DNS do Active Directory que encaminha consultas DNS para seus controladores de domínio.
Acesso administrativo ao seu domínio do Active Directory.
UM Google Cloud projeto e VPC com conectividade aos controladores de domínio do Active Directory.
Uma sub-rede a ser usada para as instâncias de VM do Exchange. A sub-rede deve abranger pelo menos duas zonas.
Antes de iniciar a implantação, revise os requisitos de alta disponibilidade e resiliência de site do 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.
Ao concluir as tarefas descritas neste documento, é possível evitar o faturamento contínuo excluindo os recursos criados. Saiba mais em Limpeza.
Preparando o projeto e a rede
Para preparar o seu Google Cloud projeto e VPC para a implantação do Exchange Server, faça o seguinte:
Mude para seu projeto no console do Google Cloud e abra o Cloud Shell.
Inicialize as seguintes variáveis:
VPC_NAME=VPC_NAME SUBNET_NAME=SUBNET_NAME SUBNET_REGION=SUBNET_REGION SUBNET_ZONE_1=$SUBNET_REGION-a SUBNET_ZONE_2=$SUBNET_REGION-b
Onde:
- VPC_NAME é o nome da sua VPC.
- SUBNET_NAME é o nome da sua sub-rede.
- SUBNET_REGION é a região da sua sub-rede.
Defina seu ID de projeto padrão:
gcloud config set project PROJECT_ID
Substitua PROJECT_ID pelo ID do seu projeto do Google Cloud.
Criando um disco de instalação
Agora você cria um disco que contém a mídia de instalação do Exchange Server. Ao criar um disco que pode ser anexado a diversas instâncias de VM, você evita ter que fazer download da mídia de instalação para cada instância de VM individualmente.
Siga as instruções em Criando uma imagem a partir de um arquivo ISO . Use o seguinte URL como URL de download:
https://download.microsoft.com/download/6/6/F/66F70200-E2E8-4E73-88F9-A1F6E3E04650/ExchangeServer2016-x64-cu11.iso
Use a nova imagem para criar um disco na primeira zona:
gcloud compute disks create exchange-media-1 \ --zone=$SUBNET_ZONE_1 \ --image-project=$GOOGLE_CLOUD_PROJECT \ --image=IMAGE
Substitua IMAGE pelo nome da imagem que você criou na etapa anterior.
Crie um disco na segunda zona:
gcloud compute disks create exchange-media-2 \ --zone=$SUBNET_ZONE_2 \ --image-project=$GOOGLE_CLOUD_PROJECT \ --image=IMAGE
Substitua IMAGE pelo nome da imagem que você criou na primeira etapa.
Criando regras de firewall
Para permitir que clientes se conectem ao Exchange e permitir a comunicação entre servidores Exchange , você precisa criar diversas regras de firewall. Para simplificar a criação dessas regras de firewall, você usa tags de rede :
- Os servidores de transporte de borda são anotados com a tag
exchange-transport
. - Os servidores de caixa de correio são anotados com a tag
exchange-mailbox
. - O servidor testemunha é anotado com a tag
exchange-witness
. - Todos os servidores são anotados com a tag
exchange
.
Crie regras de firewall que usem estas tags de rede:
- Retorne à sessão existente do Cloud Shell.
Crie regras de firewall para os servidores de caixa de correio:
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
Crie uma regra de firewall para o servidor de transporte de borda:
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
Seu projeto e VPC agora estão prontos para a implantação do Exchange Server.
Implantando a função de caixa de correio
Agora você implanta os servidores de caixa de correio e um servidor de gerenciamento usado para administrar o Exchange.
As instâncias de VM usarão o tipo de máquina n1-standard-8
. Para uma análise mais detalhada de suas necessidades e requisitos de sistema, consulte Encontre as permissões necessárias para executar qualquer cmdlet do Exchange .
Implementando o servidor de gerenciamento
Siga estas etapas para criar uma instância de VM que sirva como servidor de gerenciamento:
- Retorne à sessão existente do Cloud Shell.
Crie um script especializado para a instância de VM. O script é executado durante a inicialização da VM e instala os pré-requisitos do cliente para as ferramentas de gerenciamento do 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
Crie uma instância de VM que use
specialize-admin.ps1
como script especializado e anexe o disco de instalação do Exchange como disco secundário. Você usa o disco secundário posteriormente para instalar as ferramentas de gerenciamento do 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
Monitore o processo de inicialização da VM visualizando a saída da porta serial:
gcloud compute instances tail-serial-port-output exchange-admin --zone=$SUBNET_ZONE_1
Aguarde cerca de 5 minutos até ver a saída
Instance setup finished
e pressione Ctrl+C. Neste ponto, a instância da VM está pronta para ser usada.Crie um nome de usuário e uma senha para a instância de VM
Conecte-se à VM usando a Área de Trabalho Remota e faça login usando o nome de usuário e a senha criados na etapa anterior.
Clique com o botão direito no botão Iniciar (ou pressione Win+X ) e clique em Prompt de Comando (Admin) .
Confirme o prompt de elevação clicando em Sim .
No prompt de comando elevado, inicie uma sessão do PowerShell:
powershell
Junte o computador ao seu domínio do Active Directory:
Add-Computer -Domain DOMAIN
Substitua DOMAIN pelo nome DNS do seu domínio do Active Directory.
Reinicie o computador:
Restart-Computer
Aguarde aproximadamente 1 minuto para que a reinicialização seja concluída.
Conecte-se à VM usando a Área de Trabalho Remota e faça login usando um usuário de domínio que seja membro do grupo Administradores Corporativos .
Siga as instruções para preparar o esquema e os domínios do Active Directory para o Exchange Server . Você pode encontrar a mídia de instalação do Exchange na unidade
D:
Siga as instruções para instalar as ferramentas de gerenciamento do Exchange .
Implantando os servidores de caixa de correio
Agora você está pronto para implantar as instâncias de VM que funcionam como servidores de caixa de correio:
- Retorne à sessão existente do Cloud Shell.
Crie um script especializado para a instância de VM. O script é executado durante a inicialização da VM e instala os pré-requisitos para instalação de servidores de caixa de correio :
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
Crie uma instância de VM na primeira zona e passe
specialize-mailbox.ps1
como script especializado. Anexe o disco de instalação do Exchange como disco secundário. Você usa o disco secundário posteriormente para instalar a função de caixa de correio do 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
Crie outra instância de VM na 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
Monitore o processo de inicialização da VM visualizando a saída da porta serial:
gcloud compute instances tail-serial-port-output mailbox-1-b --zone=$SUBNET_ZONE_2
Aguarde cerca de 5 minutos até ver a
Instance setup finished
e pressione Ctrl+C. Neste ponto, a instância da VM está pronta para uso.Para cada uma das duas instâncias de VM, execute as seguintes etapas:
- Crie um nome de usuário e uma senha para a instância de VM
- Conecte-se à VM usando a Área de Trabalho Remota e faça login usando o nome de usuário e a senha criados na etapa anterior.
- Clique com o botão direito no botão Iniciar (ou pressione Win+X ) e clique em Prompt de Comando (Admin) .
- Confirme o prompt de elevação clicando em Sim .
No prompt de comando elevado, inicie uma sessão do PowerShell:
powershell
Junte o computador ao seu domínio do Active Directory:
Add-Computer -Domain DOMAIN
Substitua DOMAIN pelo nome DNS do seu domínio do Active Directory.
Reinicie o computador:
Restart-Computer
Aguarde aproximadamente 1 minuto para que a reinicialização seja concluída.
Conecte-se à VM usando a Área de Trabalho Remota e faça login usando um usuário de domínio que seja membro do grupo Administradores Corporativos .
Instale a função de caixa de correio do Exchange Server usando o assistente de configuração ou o modo autônomo . Você pode encontrar a mídia de instalação do Exchange na unidade
D:
Implantando o servidor testemunha
Para configurar um grupo de disponibilidade de banco de dados (DAG) para os dois servidores de caixa de correio, você precisa de uma instância de VM extra para servir como servidor testemunha. Para implantar o servidor testemunha, siga estas etapas:
- Retorne à sessão existente do Cloud Shell.
Crie um servidor testemunha na primeira 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"
Monitore o processo de inicialização da VM visualizando a saída da porta serial:
gcloud compute instances tail-serial-port-output witness --zone=$SUBNET_ZONE_1
Aguarde cerca de 3 minutos até ver a saída
Instance setup finished
e pressione Ctrl+C. Neste ponto, a instância da VM está pronta para ser usada.Crie um nome de usuário e uma senha para a instância de VM
Conecte-se à VM usando a Área de Trabalho Remota e faça login usando o nome de usuário e a senha criados na etapa anterior.
Clique com o botão direito no botão Iniciar (ou pressione Win+X ) e clique em Prompt de Comando (Admin) .
Confirme o prompt de elevação clicando em Sim .
No prompt de comando elevado, inicie uma sessão do PowerShell:
powershell
Junte o computador ao seu domínio do Active Directory:
Add-Computer -Domain DOMAIN
Substitua DOMAIN pelo nome DNS do seu domínio do Active Directory.
Reinicie o computador:
Restart-Computer
Aguarde aproximadamente 1 minuto para que a reinicialização seja concluída.
Conecte-se à VM usando a Área de Trabalho Remota e faça login usando um usuário de domínio que seja membro do grupo Administradores Corporativos .
Clique com o botão direito no botão Iniciar (ou pressione Win+X ) e clique em Prompt de Comando (Admin) .
Confirme o prompt de elevação clicando em Sim .
No prompt de comando elevado, inicie uma sessão do PowerShell:
powershell
Adicione o grupo de segurança universal Exchange Trusted Subsystem ao grupo Administradores local:
Add-LocalGroupMember -Group Administrators -Member "DOMAIN\Exchange Trusted Subsystem"
Substitua DOMAIN pelo nome NetBIOS do seu domínio do Active Directory.
Os dois servidores de caixa de correio e o servidor testemunha agora estão totalmente implantados, mas ainda é necessário adicioná-los a um grupo de disponibilidade de banco de dados.
Criando um grupo de disponibilidade de banco de dados
Para criar um DAG, siga estas etapas:
- Conecte-se à VM de gerenciamento usando a Área de Trabalho Remota e faça login usando um usuário de domínio que seja membro do grupo Administradores Corporativos .
- Clique com o botão direito no botão Iniciar (ou pressione Win+X ) e clique em Prompt de Comando (Admin) .
- Confirme o prompt de elevação clicando em Sim .
No prompt de comando elevado, inicie uma sessão do PowerShell:
powershell
Baixe e instale o 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 o Exchange Admin Center (EAC), inicie o Chrome e navegue até o seguinte URL:
https://mailbox-1-a/ecp/?ExchClientVer=15
Faça login usando um usuário de domínio que seja membro do grupo Enterprise Admins .
No menu EAC, selecione servidores > grupos de disponibilidade de banco de dados .
Clique em + .
Na caixa de diálogo, insira as seguintes configurações para criar um grupo de disponibilidade de banco de dados :
- Nome do grupo de disponibilidade de banco de dados:
mailbox
- Servidor testemunha:
witness
- Nome do grupo de disponibilidade de banco de dados:
Clique em Salvar .
Clique no ícone de associação ao DAG gerenciado .
Na caixa de diálogo, clique em + para adicionar um servidor membro.
Selecione mailbox-1-a e mailbox-1-b e clique em adicionar.
Clique em OK.
Clique em Salvar .
Opcionalmente, execute quaisquer tarefas pós-instalação do Exchange Server .
Configurando o balanceamento de carga
Para permitir que os clientes se conectem aos servidores de caixa de correio, crie agora um recurso de balanceador de carga interno :
- Retorne à sessão existente do Cloud Shell.
Crie um grupo de instâncias não gerenciadas 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
Adicione as instâncias de VM que executam os servidores de caixa de correio aos grupos de instâncias:
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
Crie uma verificação de integridade que investigue o caminho HTTP
/owa/healthcheck.htm
:gcloud compute health-checks create http http-80\ --port=80 \ --request-path=/owa/healthcheck.htm
Crie um back-end de balanceador de carga e adicione os dois grupos de instâncias:
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 um endereço IP estático para o balanceador de carga:
gcloud compute addresses create mailbox-frontend \ --region=$SUBNET_REGION \ --subnet=$SUBNET_NAME
Crie uma regra de encaminhamento para o 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
Procure o endereço IP do balanceador de carga:
gcloud compute addresses describe mailbox-frontend \ --region=$SUBNET_REGION \ --format=value\(address\)
Testando os servidores de caixa de correio
Para verificar se os servidores de caixa de correio foram implementados com êxito, execute as seguintes etapas:
- Na VM de gerenciamento, abra o Chrome e navegue até
https://<var>IP</var>/owa/
, onde IP é o endereço IP do balanceador de carga que você consultou anteriormente. Faça login usando um usuário de domínio.
Agora você deve ver a interface do usuário do Outlook Web Access.
Implantando a função de transporte de borda
Agora você implanta os servidores de transporte de borda . Os servidores de transporte de borda controlam todo o fluxo de mensagens de entrada e saída .
Ao contrário dos servidores de caixa de correio, os servidores de transporte de borda estão expostos à Internet. Em uma implantação local, você pode, portanto, implantar servidores de transporte de borda em uma rede de perímetro isolada da rede interna por firewalls.
Sobre Google Cloud, não é necessário implantar servidores de transporte de borda em uma VPC ou sub-rede separada. Em vez disso, você usa regras de firewall para microssegmentar sua rede e restringir a comunicação de rede de e para os servidores de transporte de borda.
Ao contrário dos servidores de caixa de correio, os servidores de transporte de borda não são membros do domínio do Active Directory.
As instâncias de VM usarão o tipo de máquina n1-standard-8
. Dependendo de como você planeja usar a implantação do Exchange, talvez seja necessário usar tipos de máquinas maiores. Consulte Encontre as permissões necessárias para executar qualquer cmdlet do Exchange para obter uma análise mais detalhada de suas necessidades e dos requisitos do sistema.
Implementando os servidores de transporte de borda
Para implantar os servidores de transporte de borda, siga estas etapas:
- Retorne à sessão existente do Cloud Shell.
Crie um script especializado para a instância de VM. O script é executado durante a inicialização da VM e instala os pré-requisitos para instalação de servidores de transporte de borda :
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
Crie uma instância de VM na primeira zona e passe
specialize-transport.ps1
como script especializado. Anexe o disco de instalação do Exchange no modo somente leitura para poder instalar posteriormente a função de servidor de transporte do 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
Crie outra instância de VM na 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
Monitore o processo de inicialização da VM visualizando a saída da porta serial:
gcloud compute instances tail-serial-port-output transport-1-b --zone=$SUBNET_ZONE_2
Aguarde cerca de 5 minutos até ver a saída
Instance setup finished
e pressione Ctrl+C. Neste ponto, a instância da VM está pronta para ser usada.Para cada uma das duas instâncias de VM do servidor de transporte de borda, execute as seguintes etapas:
- Crie um nome de usuário e uma senha para a instância de VM.
- Conecte-se à VM usando a Área de Trabalho Remota e faça login usando o nome de usuário e a senha criados na etapa anterior.
- Configure o sufixo DNS primário para corresponder ao nome de domínio DNS usado pelo seu domínio do Active Directory.
- Instale a função de servidor de transporte de borda do Exchange Server usando o assistente de configuração ou o modo autônomo . Você pode encontrar a mídia de instalação do Exchange na unidade
D:
Registrando os servidores de transporte de borda no DNS
Antes de configurar uma assinatura de borda para os servidores de transporte de borda, você deve atribuir nomes DNS ao servidor. Como os servidores de transporte de borda não são membros do domínio do Active Directory, é necessário atribuir estes nomes manualmente:
- No servidor de gerenciamento, abra um console do PowerShell.
Crie um registro CNAME para
transport-1-a
etransport-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"
Onde:
- PROJECT-ID é o ID do projeto no qual suas instâncias de VM do Exchange estão implantadas.
- REGION é a região na qual suas instâncias de VM do Exchange são implantadas.
- DOMAIN é o domínio DNS do seu domínio do Active Directory.
Configurando assinaturas de borda
Para preencher as instâncias do Active Directory Lightweight Directory Services (AD LDS) no servidor de transporte de borda com dados do Active Directory, você agora configura assinaturas de borda .
- Abra um shell de gerenciamento elevado do Exchange clicando com o botão direito do mouse em Iniciar > Shell de Gerenciamento do Exchange e selecionando Mais > Executar como Administrador .
Crie uma assinatura de borda:
New-EdgeSubscription -FileName "$env:UserProfile\Desktop\EdgeSubscriptionInfo-$env:computername.xml"
Agora você deve ver o arquivo de assinatura na área de trabalho.
Exporte o certificado do servidor Exchange AD LDS:
- Abra o Microsoft Management Console clicando em Iniciar > Executar , digitando
mmc
e selecionando OK . - Selecione Arquivo > Adicionar/remover snap-in.
- Na lista de snap-ins, selecione Certificados e clique em Adicionar .
- Selecione Conta de serviço e clique em Avançar .
- Selecione Computador local e clique em Avançar .
- Selecione Microsoft Exchange ADAM e clique em Concluir .
- Clique em OK .
- No painel esquerdo, navegue até Certificados > ADAM_MSExchange\Personal > Certificados
- Clique com o botão direito no certificado no painel direito e selecione Todas as tarefas > Exportar .
- Clique em Avançar .
- Selecione Não, não exporte a chave privada e clique em Avançar .
- Selecione X.509 codificado em Base 64 (.cer) e clique em Avançar .
- Selecione um local para salvar o certificado e clique em Avançar .
- Abra o Microsoft Management Console clicando em Iniciar > Executar , digitando
Para cada uma das duas instâncias de VM do servidor de caixa de correio, execute as seguintes etapas:
- Copie o certificado do servidor Exchange AD LDS de ambos os servidores de transporte de borda para um local temporário.
- Copie os arquivos de assinatura de ambos os servidores de transporte de borda para um local temporário.
- Abra um shell de gerenciamento elevado do Exchange clicando com o botão direito do mouse em Iniciar > Shell de Gerenciamento do Exchange e selecionando Mais > Executar como Administrador .
Importe o certificado do servidor Exchange AD LDS de
transport-1-a
:Import-Certificate -FilePath "PATH" -CertStoreLocation cert:\LocalMachine\Root
Substitua PATH pelo caminho para o certificado do servidor Exchange AD LDS de
transport-1-a
.Importe o certificado do servidor Exchange AD LDS de
transport-1-b
:Import-Certificate -FilePath "PATH" -CertStoreLocation cert:\LocalMachine\Root
Substitua PATH pelo caminho para o certificado do servidor Exchange AD LDS de
transport-1-b
.Importe os arquivos de Inscrição de Borda de
transport-1-a
etransport-1-b
.Inicie manualmente o processo EdgeSync em um servidor de caixa de correio e verifique se a sincronização foi bem-sucedida .
Configurando o balanceamento de carga para fluxo de emails de entrada
Para ativar o fluxo de e-mail de entrada para os servidores de transporte de borda, agora você cria um recurso de balanceador de carga de rede :
- Retorne à sessão existente do Cloud Shell.
Crie um pool de destino:
gcloud compute target-pools create transport-pool --region $SUBNET_REGION
Adicione as instâncias de VM do servidor de transporte de borda ao pool 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 um endereço IP externo para o balanceador de carga:
gcloud compute addresses create transport-frontend --region=$SUBNET_REGION
Crie uma regra de encaminhamento:
gcloud compute forwarding-rules create www-rule \ --region $SUBNET_REGION \ --ports 25 \ --address transport-frontend \ --target-pool transport-pool
Procure o endereço IP do balanceador de carga:
gcloud compute addresses describe transport-frontend \ --region=$SUBNET_REGION \ --format=value\(address\)
Os servidores de transporte agora estão disponíveis para receber emails na porta 25 deste endereço IP e passarão os emails recebidos para os servidores de caixa de correio.
Verifique se a entrega de email funciona seguindo as instruções em Usar Telnet para testar a comunicação SMTP em servidores Exchange .
Para concluir a configuração dos seus servidores de transporte de borda, siga as etapas em Configurar o fluxo de mensagens e o acesso do cliente em servidores Exchange .
Configurando o fluxo de e-mail de saída usando SendGrid
Porque Google Cloud não permite conexões de saída na porta 25 , agora você configura um conector de envio personalizado para lidar com emails de saída.
- Use o Google Cloud Marketplace para se inscrever no serviço de e-mail SendGrid.
- No site SendGrid, crie uma nova chave de API.
- Adicione os endereços IP públicos das instâncias de VM
transport-1-a
etransport-1-b
à lista de endereços IP permitidos.
Criando um conector de envio
Agora você cria um conector de envio de saída que usa SendGrid como host inteligente:
- Retorne ao Centro de Administração do Exchange (EAC).
- No menu EAC, selecione fluxo de emails > conectores de envio .
- Clique em + .
- Na caixa de diálogo Novo conector de envio , insira as seguintes configurações:
- Nome :
SendGrid
- Tipo : Internet (por exemplo, para enviar correio da Internet)
- Nome :
- Clique em Avançar .
- Em Configurações de rede , selecione Rotear e-mail por meio de hosts inteligentes e clique em + .
- Na página Adicionar host inteligente , insira
smtp.sendgrid.net
. - Clique em Salvar .
- Clique em Avançar .
- Em Autenticação de host inteligente , selecione Autenticação básica .
- Insira as seguintes informações:
- Nome de usuário :
apikey
- Senha : Cole a chave API criada no site SendGrid
- Nome de usuário :
- Clique em Avançar .
- Em Espaço de endereço , clique em + .
- Insira as seguintes informações:
- Tipo:
SMTP
- Nome de domínio completo qualificado (FQDN) :
*
- Custo :
1
- Tipo:
- Clique em Avançar .
- Em Servidor de origem , clique em + .
- Selecione
transport-1-a
etransport-1-b
e clique em OK . - Clique em Concluir .
Alterando a porta SMTP
Agora você configura o conector de envio para usar uma porta personalizada:
- Em um dos servidores de caixa de correio, abra o shell de gerenciamento do Exchange clicando com o botão direito do mouse em Iniciar > Shell de gerenciamento do Exchange .
Modifique o conector de envio para usar a porta
2525
:Set-SendConnector -Identity "SendGrid" -port 2525
Acione uma sincronização de borda para garantir que a alteração na configuração seja propagada para todos os servidores de transporte de borda:
Start-EdgeSynchronization -ForceFullSync
Limpar
Para evitar incorrer em custos adicionais depois de concluir este tutorial, exclua as entidades que você criou.
Exclua o Google Cloud projeto
- 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.
O que vem a seguir
- Explore arquiteturas de referência, diagramas e práticas recomendadas sobre o Google Cloud. Dê uma olhada em nosso Centro de Arquitetura de Nuvem .