Este tutorial descreve como pode implementar o Microsoft Exchange Server 2016 no Compute Engine e configurá-lo para alta disponibilidade e resiliência do site.
A implementação do Exchange vai abranger duas zonas numa única região. Em cada zona, vai implementar um servidor de caixa de correio e um servidor de transporte de limite. Os servidores de caixas de correio farão parte de um grupo de disponibilidade de bases de dados para que os dados das caixas de correio sejam replicados em várias zonas.
O diagrama seguinte ilustra a implementação:
Este artigo pressupõe que já implementou o Active Directory no Google Cloud e que tem conhecimentos básicos do Exchange Server 2016, do Active Directory e do Compute Engine.
Objetivos
- Configure um projeto e uma rede VPC, e prepare-os para a implementação do Exchange Server 2016.
- Implemente servidores de caixa de correio do Exchange em duas zonas e crie um grupo de disponibilidade de bases de dados.
- Implemente servidores de transporte de extremidade do Exchange em duas zonas.
- Configure o balanceamento de carga e as regras de firewall.
Custos
Este tutorial usa componentes faturáveis do Google Cloud, incluindo:
Use a Calculadora de preços para gerar uma estimativa de custos com base na sua utilização projetada.
Antes de começar
Para concluir este guia, precisa do seguinte:
Um domínio do Active Directory existente com, pelo menos, um controlador de domínio. O domínio do Active Directory tem de usar um nome de domínio DNS válido e encaminhável publicamente. Não é possível usar nomes de domínios locais, como
corp.local
, ou nomes de domínios reservados, comoexample.com
.Consulte o artigo Implementar um ambiente do Microsoft Active Directory tolerante a falhas para ver mais detalhes sobre como pode implementar um ambiente do Active Directory no Compute Engine.
Uma zona de encaminhamento DNS privada para o nome de domínio DNS do Active Directory que encaminha consultas DNS para os seus controladores de domínio.
Acesso administrativo ao seu domínio do Active Directory.
Um projeto Google Cloud e uma VPC com conetividade aos controladores de domínio do Active Directory.
Uma sub-rede a usar para as instâncias de VM do Exchange. A sub-rede tem de abranger, pelo menos, duas zonas.
Antes de iniciar a implementação, reveja os requisitos de elevada disponibilidade e resiliência do site para o Exchange Server.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Quando terminar as tarefas descritas neste documento, pode evitar a faturação contínua eliminando os recursos que criou. Para mais informações, consulte o artigo Limpe.
Preparar o projeto e a rede
Para preparar o Google Cloud projeto e a VPC para a implementação do Exchange Server, faça o seguinte:
Mude para o seu projeto na Google Cloud consola 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 o seu ID do projeto predefinido:
gcloud config set project PROJECT_ID
Substitua PROJECT_ID pelo ID do seu Google Cloud projeto.
Criar um disco de instalação
Agora, cria um disco que contém o suporte de dados de instalação do Exchange Server. Ao criar um disco que pode anexar a várias instâncias de VM, evita ter de transferir o suporte de instalação para cada instância de VM individualmente.
Siga as instruções em Criar uma imagem a partir de um ficheiro ISO. Use o seguinte URL como URL de transferência:
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 criou no passo 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 criou no primeiro passo.
Criar regras de firewall
Para permitir que os clientes se liguem ao Exchange e ativar a comunicação entre servidores do Exchange, tem de criar várias regras de firewall. Para simplificar a criação destas regras de firewall, use etiquetas de rede:
- Os servidores de transporte de limites são anotados com a etiqueta
exchange-transport
. - Os servidores de caixa de correio são anotados com a etiqueta
exchange-mailbox
. - O servidor testemunha está anotado com a etiqueta
exchange-witness
. - Todos os servidores estão anotados com a etiqueta
exchange
.
Crie regras de firewall que usem estas etiquetas de rede:
- Regresse à sua sessão do Cloud Shell existente.
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 extremidade:
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
O projeto e a VPC estão agora prontos para a implementação do Exchange Server.
Implementar a função de caixa de correio
Agora, implementa os servidores de caixa de correio e um servidor de gestão que usa para administrar o Exchange.
As instâncias de VM vão usar o n1-standard-8
tipo de máquina.
Para uma análise mais detalhada das suas necessidades e dos respetivos requisitos do sistema, consulte o artigo
Encontre as autorizações necessárias para executar qualquer cmdlet do Exchange.
Implementar o servidor de gestão
Siga estes passos para criar uma instância de VM que funcione como o servidor de gestão:
- Regresse à sua sessão do Cloud Shell existente.
Crie um script de especialização 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 gestão 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 um script especializado e anexe o disco de instalação do Exchange como um disco secundário. Vai usar o disco secundário mais tarde para instalar as ferramentas de gestão 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
Monitorize o processo de inicialização da VM vendo a respetiva saída da porta de série:
gcloud compute instances tail-serial-port-output exchange-admin --zone=$SUBNET_ZONE_1
Aguarde cerca de 5 minutos até ver o resultado
Instance setup finished
e, em seguida, prima Ctrl+C. Neste momento, a instância de VM está pronta a ser usada.Crie um nome de utilizador e uma palavra-passe para a instância de VM
Estabeleça ligação à VM através do Ambiente de Trabalho Remoto e inicie sessão com o nome de utilizador e a palavra-passe criados no passo anterior.
Clique com o botão direito do rato no botão Iniciar (ou prima Win+X) e clique em Linha de comandos (administrador).
Clique em Sim para confirmar o pedido de elevação.
Na linha de comandos elevada, inicie uma sessão do PowerShell:
powershell
Associe 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 o reinício seja concluído.
Estabeleça ligação à VM através do Ambiente de Trabalho Remoto e inicie sessão com um utilizador do domínio que seja membro do grupo Administradores empresariais.
Siga as instruções para preparar o esquema e os domínios do Active Directory para o Exchange Server. Pode encontrar o suporte de instalação do Exchange na unidade
D:
.Siga as instruções para instalar as ferramentas de gestão do Exchange.
Implementar os servidores de caixa de correio
Já tem tudo pronto para implementar as instâncias de VM que funcionam como servidores de caixa de correio:
- Regresse à sua sessão do Cloud Shell existente.
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 a 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 transmita
specialize-mailbox.ps1
como o script de especialização. Anexe o disco de instalação do Exchange como disco secundário. Vai usar o disco secundário mais tarde 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
Monitorize o processo de inicialização da VM vendo a respetiva saída da porta de série:
gcloud compute instances tail-serial-port-output mailbox-1-b --zone=$SUBNET_ZONE_2
Aguarde cerca de 5 minutos até ver o resultado
Instance setup finished
e, em seguida, prima Ctrl+C. Neste ponto, a instância de VM está pronta a usar.Para cada uma das duas instâncias de VM, siga estes passos:
- Crie um nome de utilizador e uma palavra-passe para a instância de VM
- Estabeleça ligação à VM através do Ambiente de Trabalho Remoto e inicie sessão com o nome de utilizador e a palavra-passe criados no passo anterior.
- Clique com o botão direito do rato no botão Iniciar (ou prima Win+X) e clique em Linha de comandos (administrador).
- Clique em Sim para confirmar o pedido de elevação.
Na linha de comandos elevada, inicie uma sessão do PowerShell:
powershell
Associe 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 o reinício seja concluído.
Estabeleça ligação à VM através do Ambiente de Trabalho Remoto e inicie sessão com um utilizador do domínio que seja membro do grupo Administradores empresariais.
Instale a função de caixa de correio do servidor Exchange através do assistente de configuração ou do modo autónomo. Pode encontrar o suporte de instalação do Exchange na unidade
D:
.
Implementar o servidor testemunha
Para configurar um grupo de disponibilidade de base de dados (DAG) para os dois servidores de caixa de correio, precisa de uma instância de VM adicional para funcionar como servidor testemunha. Para implementar o servidor de testemunhas, siga estes passos:
- Regresse à sua sessão do Cloud Shell existente.
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"
Monitorize o processo de inicialização da VM vendo a respetiva saída da porta de série:
gcloud compute instances tail-serial-port-output witness --zone=$SUBNET_ZONE_1
Aguarde cerca de 3 minutos até ver o resultado
Instance setup finished
, e, em seguida, prima Ctrl+C. Neste momento, a instância de VM está pronta a ser usada.Crie um nome de utilizador e uma palavra-passe para a instância de VM
Estabeleça ligação à VM através do Ambiente de Trabalho Remoto e inicie sessão com o nome de utilizador e a palavra-passe criados no passo anterior.
Clique com o botão direito do rato no botão Iniciar (ou prima Win+X) e clique em Linha de comandos (administrador).
Clique em Sim para confirmar o pedido de elevação.
Na linha de comandos elevada, inicie uma sessão do PowerShell:
powershell
Associe 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 o reinício seja concluído.
Estabeleça ligação à VM através do Ambiente de Trabalho Remoto e inicie sessão com um utilizador do domínio que seja membro do grupo Administradores empresariais.
Clique com o botão direito do rato no botão Iniciar (ou prima Win+X) e clique em Linha de comandos (administrador).
Clique em Sim para confirmar o pedido de elevação.
Na linha de comandos elevada, inicie uma sessão do PowerShell:
powershell
Adicione o grupo de segurança universal Exchange Trusted Subsystem ao grupo de administradores locais:
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 estão agora totalmente implementados, mas ainda tem de os adicionar a um grupo de disponibilidade de base de dados.
Criar um grupo de disponibilidade de base de dados
Para criar um DAG, siga estes passos:
- Estabeleça ligação à VM de gestão através do Ambiente de Trabalho Remoto e inicie sessão com um utilizador do domínio que seja membro do grupo Administradores empresariais.
- Clique com o botão direito do rato no botão Iniciar (ou prima Win+X) e clique em Linha de comandos (administrador).
- Clique em Sim para confirmar o pedido de elevação.
Na linha de comandos elevada, inicie uma sessão do PowerShell:
powershell
Transfira 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 Centro de administração do Exchange (EAC), inicie o Chrome e navegue para o seguinte URL:
https://mailbox-1-a/ecp/?ExchClientVer=15
Inicie sessão com um utilizador do domínio que seja membro do grupo Administradores empresariais.
No menu do EAC, selecione servidores > grupos de disponibilidade de bases de dados.
Clique em +.
Na caixa de diálogo, introduza as seguintes definições para criar um grupo de disponibilidade de base de dados:
- Nome do grupo de disponibilidade da base de dados:
mailbox
- Servidor testemunha:
witness
- Nome do grupo de disponibilidade da base de dados:
Clique em Guardar.
Clique no ícone Subscrição de DAG gerida.
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 Guardar.
Opcionalmente, execute quaisquer tarefas de pós-instalação do servidor Exchange.
Configurar o balanceamento de carga
Para permitir que os clientes se liguem aos servidores de caixa de correio, agora cria um recurso de balanceador de carga interno:
- Regresse à sua sessão do Cloud Shell existente.
Crie um grupo de instâncias não gerido 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 funcionamento que analise 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 do 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\)
A testar os servidores de caixa de correio
Para verificar se os servidores de caixa de correio foram implementados com êxito, siga estes passos:
- Na VM de gestão, abra o Chrome e navegue para
https://<var>IP</var>/owa/
, onde IP é o endereço IP do equilibrador de carga que procurou anteriormente. Inicie sessão com um utilizador de domínio.
Agora, deve ver a interface do utilizador do Outlook Web Access.
Implementar a função de transporte de limites
Agora, implementa os servidores de transporte de limites. Os servidores de transporte de perímetro processam todo o fluxo de correio recebido e enviado.
Ao contrário dos servidores de caixas de correio, os servidores de transporte de extremidade estão expostos à Internet. Numa implementação no local, pode implementar servidores de transporte de limites numa rede de perímetro isolada da rede interna por firewalls.
No Google Cloud, não é necessário implementar servidores de transporte de limite numa VPC ou sub-rede separada. Em alternativa, usa regras de firewall para microsegmentar a sua rede e restringir a comunicação de rede a partir dos servidores de transporte de limite e para estes.
Ao contrário dos servidores de caixas de correio, os servidores de transporte de extremidade não são membros do seu domínio do Active Directory.
As instâncias de VM vão usar o n1-standard-8
tipo de máquina.
Consoante a forma como planeia usar a implementação do Exchange, pode ter de usar tipos de máquinas maiores. Consulte o artigo Encontre as autorizações necessárias para executar qualquer cmdlet do Exchange para uma análise mais detalhada das suas necessidades e dos respetivos requisitos do sistema.
Implementar os servidores de transporte de limite
Para implementar os servidores de transporte de limite, siga estes passos:
- Regresse à sua sessão do Cloud Shell existente.
Crie um script de especialização para a instância de VM. O script é executado durante a inicialização da VM e instala os pré-requisitos para a instalação de servidores de transporte de limites:
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 transmita
specialize-transport.ps1
como o script especializado. Anexe o disco de instalação do Exchange no modo só de leitura para que possa 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
Monitorize o processo de inicialização da VM vendo a respetiva saída da porta de série:
gcloud compute instances tail-serial-port-output transport-1-b --zone=$SUBNET_ZONE_2
Aguarde cerca de 5 minutos até ver o resultado
Instance setup finished
e, de seguida, prima Ctrl+C. Neste momento, a instância de VM está pronta a ser usada.Para cada uma das duas instâncias de VMs do servidor de transporte de limite, siga estes passos:
- Crie um nome de utilizador e uma palavra-passe para a instância de VM.
- Estabeleça ligação à VM através do Ambiente de Trabalho Remoto e inicie sessão com o nome de utilizador e a palavra-passe criados no passo anterior.
- Configure o sufixo DNS principal 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 extremidade do Exchange Server através do assistente de configuração ou do modo autónomo.
Pode encontrar o suporte de instalação do Exchange na unidade
D:
.
Registar os servidores de transporte de perímetro no DNS
Antes de poder configurar uma subscrição de servidor de transportes de limites para os servidores de transportes de limites, tem de atribuir nomes DNS ao servidor. Uma vez que os servidores de transporte de limite não são membros do seu domínio do Active Directory, tem de atribuir estes nomes manualmente:
- No servidor de gestão, abra uma consola do PowerShell.
Crie um registo 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 as suas instâncias de VM do Exchange estão implementadas.
- REGION é a região na qual as suas instâncias de VM do Exchange estão implementadas.
- DOMAIN é o domínio DNS do seu domínio do Active Directory.
Configurar subscrições de limite
Para preencher as instâncias do Active Directory Lightweight Directory Services (AD LDS) no servidor de transporte de limites com dados do Active Directory, agora configura subscrições de limites.
- Abra uma shell de gestão do Exchange elevada clicando com o botão direito do rato em Iniciar > Exchange Management Shell e selecionando Mais > Executar como administrador.
Crie uma subscrição de limite:
New-EdgeSubscription -FileName "$env:UserProfile\Desktop\EdgeSubscriptionInfo-$env:computername.xml"
Agora, deverá ver o ficheiro de subscrição no ambiente de trabalho.
Exporte o certificado do servidor AD LDS do Exchange:
- Abra a Microsoft Management Console clicando em Iniciar > Executar, introduzindo
mmc
e selecionando OK. - Selecione Ficheiro > Adicionar/remover snap-in.
- Na lista de snap-ins, selecione Certificados e clique em Adicionar.
- Selecione Conta de serviço e, de seguida, clique em Seguinte.
- Selecione Computador local e, de seguida, clique em Seguinte.
- Selecione Microsoft Exchange ADAM e, de seguida, clique em Concluir.
- Clique em OK.
- No painel do lado esquerdo, navegue para Certificates > ADAM_MSExchange\Personal > Certificates
- Clique com o botão direito do rato no certificado no painel direito e selecione Todas as tarefas > Exportar.
- Clicar em Seguinte.
- Selecione Não, não exportar a chave privada e clique em Seguinte.
- Selecione X.509 codificado em base64 (.cer) e clique em Seguinte.
- Selecione uma localização para guardar o certificado e clique em Seguinte.
- Abra a Microsoft Management Console clicando em Iniciar > Executar, introduzindo
Para cada uma das duas instâncias de VM do servidor de caixa de correio, siga estes passos:
- Copie o certificado do servidor AD LDS do Exchange de ambos os servidores de transporte de perímetro para uma localização temporária.
- Copie os ficheiros de subscrição de ambos os servidores de transporte de extremidade para uma localização temporária.
- Abra uma shell de gestão do Exchange elevada clicando com o botão direito do rato em Iniciar > Exchange Management Shell e selecionando Mais > Executar como administrador.
Importe o certificado do servidor AD LDS do Exchange de
transport-1-a
:Import-Certificate -FilePath "PATH" -CertStoreLocation cert:\LocalMachine\Root
Substitua PATH pelo caminho para o certificado do servidor AD LDS do Exchange de
transport-1-a
.Importe o certificado do servidor AD LDS do Exchange de
transport-1-b
:Import-Certificate -FilePath "PATH" -CertStoreLocation cert:\LocalMachine\Root
Substitua PATH pelo caminho para o certificado do servidor AD LDS do Exchange de
transport-1-b
.Importe os ficheiros de subscrição do Edge de
transport-1-a
etransport-1-b
.Inicie manualmente o processo EdgeSync num servidor de caixa de correio e verifique se a sincronização foi bem-sucedida.
Configurar o balanceamento de carga para o fluxo de correio recebido
Para ativar o fluxo de emails de entrada para os servidores de transporte de limite, agora, cria um recurso de equilibrador de carga de rede:
- Regresse à sua sessão do Cloud Shell existente.
Crie um grupo de destino:
gcloud compute target-pools create transport-pool --region $SUBNET_REGION
Adicione as instâncias de VM do servidor de transporte de limite ao 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 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 estão agora disponíveis para receber emails na porta 25 deste endereço IP e vão transmitir os emails recebidos para os servidores de caixa de correio.
Siga as instruções em Use o Telnet para testar a comunicação SMTP em servidores do Exchange para verificar se a entrega de emails funciona.
Para concluir a configuração dos servidores de transporte de perímetro, siga os passos descritos no artigo Configure o fluxo de correio e o acesso de clientes em servidores Exchange.
Configurar o fluxo de emails enviados através do SendGrid
Uma vez que Google Cloud não permite ligações de saída na porta 25, agora, configura um conector de envio personalizado para processar o email de saída.
- Use o Google Cloud Marketplace para se inscrever no serviço de email SendGrid.
- No Website do 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.
Criar um conector de envio
Agora, cria um conetor de envio de saída que usa o SendGrid como anfitrião inteligente:
- Regresse ao Centro de administração do Exchange (EAC).
- No menu do EAC, selecione fluxo de correio > conectores de envio.
- Clique em +.
- Na caixa de diálogo Novo conetor de envio, introduza as seguintes definições:
- Nome:
SendGrid
- Tipo: Internet (por exemplo, para enviar correio da Internet)
- Nome:
- Clicar em Seguinte.
- Em Definições de rede, selecione Encaminhar correio através de anfitriões inteligentes e clique em +.
- Na página Adicionar anfitrião inteligente, introduza
smtp.sendgrid.net
. - Clique em Guardar.
- Clicar em Seguinte.
- Em Autenticação de anfitrião inteligente, selecione Autenticação básica.
- Introduza as seguintes informações:
- Nome de utilizador:
apikey
- Palavra-passe: cole a chave da API criada no Website do SendGrid
- Nome de utilizador:
- Clicar em Seguinte.
- Em Espaço de endereços, clique em +.
- Introduza as seguintes informações:
- Tipo:
SMTP
- Nome do domínio totalmente qualificado (FQDN):
*
- Custo:
1
- Tipo:
- Clicar em Seguinte.
- Em Servidor de origem, clique em +.
- Selecione
transport-1-a
etransport-1-b
e clique em OK. - Clique em Concluir.
Alterar a porta SMTP
Agora, configure o conector de envio para usar uma porta personalizada:
- Num dos servidores de caixa de correio, abra o Exchange Management Shell clicando com o botão direito do rato em Iniciar > Exchange Management Shell.
Modifique o conetor de envio para usar a porta
2525
:Set-SendConnector -Identity "SendGrid" -port 2525
Acione uma sincronização de limite para garantir que a alteração de configuração é propagada a todos os servidores de transporte de limite:
Start-EdgeSynchronization -ForceFullSync
Limpar
Para evitar incorrer em custos adicionais após concluir este tutorial, elimine as entidades que criou.
Elimine 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 se segue?
- Explore arquiteturas de referência, diagramas e práticas recomendadas sobre o Google Cloud. Consulte o nosso Centro de arquitetura na nuvem.