Como implantar o Microsoft Exchange Server 2016 no Compute Engine


Neste tutorial, descrevemos como implantar o Microsoft Exchange Server 2016 no Compute Engine e configurá-lo para alta disponibilidade e resiliência de sites.

A implantação do Exchange abrangerá duas zonas em uma região. Em cada zona, você implantará um servidor de caixa de correio e um 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 as zonas.

O diagrama a seguir ilustra a implantação:

Implantação do Microsoft Exchange

Neste artigo, presumimos que você já implantou o Active Directory no Google Cloud e que tem conhecimento básico do Exchange Server 2016, Active Directory e Compute Engine.

Objetivos

  • Configurar um projeto e uma rede VPC e prepare-os para a implantação do Exchange Server 2016.
  • Implantar servidores de caixa de correio do Exchange em duas zonas e criar um grupo de disponibilidade de banco de dados.
  • Implantar servidores de transporte de borda do Exchange em duas zonas.
  • Configurar o balanceamento de carga e as regras de firewall.

Custos

Neste tutorial, há componentes faturáveis do Google Cloud, entre eles:

Use a calculadora de preços para gerar uma estimativa de custo com base no uso previsto.

Antes de começar

Para concluir este guia, você precisa do seguinte:

  • Um domínio do Active Directory atual com pelo menos um controlador de domínio. O domínio do Active Directory precisa usar um nome de domínio DNS válido e roteável. Nomes de domínio local como corp.local ou nomes de domínio reservado como example.com não podem ser usados.

    Consulte Como implantar um ambiente do Active Directory do Microsoft tolerante a falhas para mais detalhes sobre como implantar um ambiente Active Directory no Compute Engine.

  • Uma zona de encaminhamento de DNS particular para o nome de domínio DNS do Active Directory que encaminha as consultas de DNS para seus controladores de domínio.

  • Acesso administrativo ao seu domínio do Active Directory.

  • Um projeto do Google Cloud e uma 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 precisa abranger pelo menos duas zonas.

Antes de iniciar a implantação, consulte os requisitos de alta disponibilidade e resiliência de sites para o Exchange Server.

  1. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  2. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

Ao concluir as tarefas descritas neste documento, é possível evitar o faturamento contínuo excluindo os recursos criados. Saiba mais em Limpeza.

Como preparar o projeto e a rede

Para preparar o projeto do Google Cloud e a VPC para a implantação do Exchange Server, faça o seguinte:

  1. Alterne para o projeto no Console do Google Cloud e abra o Cloud Shell.

    Abra o Cloud Shell

  2. 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
    

    Em que:

    • VPC_NAME é o nome da VPC.
    • SUBNET_NAME é o nome da sub-rede.
    • SUBNET_REGION é a região da sub-rede.
  3. Defina o ID do projeto padrão:

    gcloud config set project PROJECT_ID
    

    Substitua PROJECT_ID pelo ID do projeto do Google Cloud.

Como criar 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 várias instâncias de VM, você evita fazer o download da mídia de instalação para cada instância de VM individualmente.

  1. Siga as instruções em Como criar 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
    
  2. 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 criada na etapa anterior.

  3. 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.

Criar regras de firewall

Para permitir que clientes se conectem ao Exchange e ative a comunicação entre servidores Exchange, é necessário criar várias regras de firewall. Para simplificar a criação dessas regras de firewall, use 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 de 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:

  1. Volte para a sessão atual do Cloud Shell.
  2. 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
    
  3. 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
    

O projeto e a VPC estão prontos para a implantação do Exchange Server.

Como implantar o papel da 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 das suas necessidades e dos requisitos do sistema, consulte a calculadora de requisitos de papéis do Exchange Server (em inglês).

Como implantar o servidor de gerenciamento

Siga estas etapas para criar uma instância de VM que funciona como o servidor de gerenciamento:

  1. Volte para a sessão atual do Cloud Shell.
  2. 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
    
  3. Crie uma instância de VM que use specialize-admin.ps1 como script especializado e anexe o disco de instalação do Exchange como um disco secundário. Você usará o disco secundário mais tarde 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
    
  4. 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 cinco minutos até ver a saída Instance setup finished e pressione Ctrl + C. Nesse momento, a instância de VM está pronta para ser usada.

  5. Criar um nome de usuário e uma senha para a instância de VM

  6. 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.

  7. Clique com o botão direito do mouse no botão Iniciar (ou pressione Win + X) e clique em Prompt de comando (administrador).

  8. Confirme a elevação do prompt clicando em Sim.

  9. No prompt de comando elevado, inicie uma sessão do PowerShell:

    powershell
    
  10. 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.

  11. Reinicie o computador:

    Restart-Computer
    

    Aguarde aproximadamente um minuto para que a reinicialização seja concluída.

  12. Conecte-se à VM usando a Área de trabalho remota e faça login usando um usuário do domínio que seja membro do grupo Administradores da empresa.

  13. Siga as instruções para preparar o esquema e os domínios do Active Directory para o Exchange Server (em inglês). Encontre a mídia de instalação do Exchange na unidade D:.

  14. Siga as instruções para instalar as ferramentas de gerenciamento do Exchange.

Como implantar os servidores de caixa de correio

Agora está tudo pronto para implantar as instâncias de VM usadas como servidores de caixa de correio:

  1. Volte para a sessão atual do Cloud Shell.
  2. 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 (em inglês):

    cat << "EOF" > specialize-mailbox.ps1
    
    $ErrorActionPreference = "stop"
    
    # Install required Windows features
    Install-WindowsFeature RSAT-ADDS
    Install-WindowsFeature `
        NET-Framework-45-Features, `
        Server-Media-Foundation, `
        RPC-over-HTTP-proxy, `
        RSAT-Clustering, `
        RSAT-Clustering-CmdInterface, `
        RSAT-Clustering-Mgmt, `
        RSAT-Clustering-PowerShell, `
        WAS-Process-Model, `
        Web-Asp-Net45, `
        Web-Basic-Auth, `
        Web-Client-Auth, `
        Web-Digest-Auth, `
        Web-Dir-Browsing, `
        Web-Dyn-Compression, `
        Web-Http-Errors, `
        Web-Http-Logging, `
        Web-Http-Redirect, `
        Web-Http-Tracing, `
        Web-ISAPI-Ext, `
        Web-ISAPI-Filter, `
        Web-Lgcy-Mgmt-Console, `
        Web-Metabase, `
        Web-Mgmt-Console, `
        Web-Mgmt-Service, `
        Web-Net-Ext45, `
        Web-Request-Monitor, `
        Web-Server, `
        Web-Stat-Compression, `
        Web-Static-Content, `
        Web-Windows-Auth, `
        Web-WMI, `
        Windows-Identity-Foundation, `
        RSAT-ADDS
    
    # Install Visual C++ Redistributable Package for Visual Studio 2012
    (New-Object System.Net.WebClient).DownloadFile(
        'http://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU3/vcredist_x64.exe',
        "$env:Temp\vcredist_2012_x64.exe")
    & $env:Temp\vcredist_2012_x64.exe /passive /norestart | Out-Default
    
    # Visual C++ Redistributable Package for Visual Studio 2013
    (New-Object System.Net.WebClient).DownloadFile(
        'http://download.microsoft.com/download/2/E/6/2E61CFA4-993B-4DD4-91DA-3737CD5CD6E3/vcredist_x64.exe',
        "$env:Temp\vcredist_2013_x64.exe")
    & $env:Temp\vcredist_2013_x64.exe /passive /norestart | Out-Default
    
    # Install Microsoft Unified Communications Managed API
    (New-Object System.Net.WebClient).DownloadFile(
        'https://download.microsoft.com/download/2/C/4/2C47A5C1-A1F3-4843-B9FE-84C0032C61EC/UcmaRuntimeSetup.exe',
        "$env:Temp\UcmaRuntimeSetup.exe")
    & $env:Temp\UcmaRuntimeSetup.exe /passive /norestart | Out-Default
    
    EOF
    
  3. 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. Use o disco secundário mais tarde para instalar o papel 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
    
  4. 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
    
  5. 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 cinco minutos até ver a saída Instance setup finished e pressione Ctrl + C. Nesse momento, a instância de VM está pronta para uso.

  6. Para cada uma das duas instâncias de VM, execute as seguintes etapas:

    1. Criar um nome de usuário e uma senha para a instância de VM
    2. 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.
    3. Clique com o botão direito do mouse no botão Iniciar (ou pressione Win + X) e clique em Prompt de comando (administrador).
    4. Confirme a elevação do prompt clicando em Sim.
    5. No prompt de comando elevado, inicie uma sessão do PowerShell:

      powershell
      
    6. 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.

    7. Reinicie o computador:

      Restart-Computer
      

      Aguarde aproximadamente um minuto para que a reinicialização seja concluída.

    8. Conecte-se à VM usando a Área de trabalho remota e faça login usando um usuário do domínio que seja membro do grupo Administradores da empresa.

    9. Instale o papel de caixa de correio do Exchange Server usando o assistente de configuração ou o modo autônomo. Encontre a mídia de instalação do Exchange na unidade D:.

Como implantar o servidor de testemunha

Para configurar um grupo de disponibilidade de banco de dados (DAG, na sigla em inglês) para os dois servidores de caixa de correio, você precisa de uma instância de VM extra que atue como servidor de testemunha. Para implantar o servidor de testemunha, siga estas etapas:

  1. Volte para a sessão atual do Cloud Shell.
  2. Crie um servidor de 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"
    
  3. 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 três minutos até ver a saída Instance setup finished e pressione Ctrl + C. Nesse momento, a instância de VM está pronta para ser usada.

  4. Criar um nome de usuário e uma senha para a instância de VM

  5. 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.

  6. Clique com o botão direito do mouse no botão Iniciar (ou pressione Win + X) e clique em Prompt de comando (administrador).

  7. Confirme a elevação do prompt clicando em Sim.

  8. No prompt de comando elevado, inicie uma sessão do PowerShell:

    powershell
    
  9. 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.

  10. Reinicie o computador:

    Restart-Computer
    

    Aguarde aproximadamente um minuto para que a reinicialização seja concluída.

  11. Conecte-se à VM usando a Área de trabalho remota e faça login usando um usuário do domínio que seja membro do grupo Administradores da empresa.

  12. Clique com o botão direito do mouse no botão Iniciar (ou pressione Win + X) e clique em Prompt de comando (administrador).

  13. Confirme a elevação do prompt clicando em Sim.

  14. No prompt de comando elevado, inicie uma sessão do PowerShell:

    powershell
    
  15. 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 do NetBIOS do seu domínio do Active Directory.

Os dois servidores de caixa de e-mails e o servidor de testemunha agora estão totalmente implantados, mas você ainda precisa adicioná-los a um grupo de disponibilidade de banco de dados.

Como criar um grupo de disponibilidade de banco de dados

Para criar um DAG, siga estas etapas:

  1. Conecte-se à VM de gerenciamento usando a Área de trabalho remota e faça login usando um usuário do domínio que seja membro do grupo Administradores da empresa.
  2. Clique com o botão direito do mouse no botão Iniciar (ou pressione Win + X) e clique em Prompt de comando (administrador).
  3. Confirme a elevação do prompt clicando em Sim.
  4. No prompt de comando elevado, inicie uma sessão do PowerShell:

    powershell
    
  5. Faça o download 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
    
  6. Para abrir a Central de administração do Exchange (EAC, na sigla em inglês), inicie o Chrome e navegue até o seguinte URL:

    https://mailbox-1-a/ecp/?ExchClientVer=15
    
  7. Faça login usando um usuário do domínio que seja membro do grupo Administradores da empresa.

  8. No menu "EAC", selecione servidores > grupos de disponibilidade do banco de dados.

  9. Clique em +.

  10. Na caixa de diálogo, insira as seguintes configurações para criar um grupo de disponibilidade de banco de dados:

    1. Nome do grupo de disponibilidade do banco de dados: mailbox
    2. Servidor de testemunha: witness
  11. Clique em Salvar.

  12. Clique no ícone Assinatura gerenciada do DAG.

  13. Na caixa de diálogo, clique em + para adicionar um servidor membro.

  14. Selecione mailbox-1-a e mailbox-1-b e clique em adicionar.

  15. Clique em OK.

  16. Clique em Salvar.

Se quiser, execute todas as tarefas de pós-instalação do Exchange Server.

Como configurar o balanceamento de carga

Para permitir que os clientes se conectem aos servidores de caixa de e-mails, crie um recurso de balanceador de carga interno:

  1. Volte para a sessão atual do Cloud Shell.
  2. 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
    
  3. 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
    
  4. 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
    
  5. 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
    
  6. Reserve um endereço IP estático para o balanceador de carga:

    gcloud compute addresses create mailbox-frontend \
      --region=$SUBNET_REGION \
      --subnet=$SUBNET_NAME
    
  7. 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
    
  8. Procure o endereço IP do balanceador de carga:

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

Como testar os servidores de caixa de correio

Para verificar se os servidores de caixa de e-mails foram implantados, siga estas etapas:

  1. Na VM de gerenciamento, abra o Chrome e navegue até https://<var>IP</var>/owa/, em que IP é o endereço IP do balanceador de carga que você pesquisou anteriormente.
  2. Faça login usando um usuário do domínio.

    Você verá a interface do usuário do Outlook Web Access.

Como implantar o papel de transporte de borda

Agora você implanta os servidores de transporte de borda. Os servidores de transporte de borda processam todo o fluxo de e-mails de entrada e saída.

Ao contrário dos servidores de caixa de correio, os servidores de transporte de borda são expostos à Internet. Em uma implantação local, é possível implantar servidores de transporte de borda em uma rede de perímetro que seja isolada da rede interna por firewalls.

No 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 e-mails, os servidores de transporte de borda não são membros do seu 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áquina maiores. Consulte a calculadora de requisitos de papéis do Exchange Server (em inglês) para uma análise mais detalhada das suas necessidades e dos requisitos do sistema.

Como implantar os servidores de transporte de borda

Para implantar os servidores de transporte de borda, siga estas etapas:

  1. Volte para a sessão atual do Cloud Shell.
  2. 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 instalar 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
    
  3. Crie uma instância de VM na primeira zona e transmita specialize-transport.ps1 como o script de especialização. Anexe o disco de instalação do Exchange no modo somente leitura para instalar posteriormente o papel 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
    
  4. 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
    
  5. 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 cinco minutos até ver a saída Instance setup finished e pressione Ctrl + C. Nesse momento, a instância de VM está pronta para ser usada.

  6. Para cada uma das duas instâncias de VM do servidor de transporte de borda, execute as seguintes etapas:

    1. Crie um nome de usuário e uma senha para a instância de VM.
    2. 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.
    3. Configure o sufixo DNS principal para corresponder ao nome de domínio DNS usado pelo domínio do Active Directory.
    4. Instale o papel de servidor de transporte de borda do Exchange Server usando o assistente de configuração ou o modo autônomo. Encontre a mídia de instalação do Exchange na unidade D:.

Como registrar os servidores de transporte de borda no DNS

Antes de configurar uma assinatura de borda para os servidores de transporte de borda, é necessário atribuir nomes de DNS ao servidor. Como os servidores de transporte de borda não são membros do seu domínio do Active Directory, você precisa atribuir esses nomes manualmente:

  1. No servidor de gerenciamento, abra um console do PowerShell.
  2. Crie um registro CNAME para transport-1-a e transport-1-b:

    Add-DnsServerResourceRecordCName `
      -ComputerName (Get-ADDomainController).Hostname `
      -HostNameAlias "transport-1-a.REGION-a.c.PROJECT-ID.internal." `
      -Name "transport-1-a" `
      -ZoneName "DOMAIN"
    
    Add-DnsServerResourceRecordCName `
      -ComputerName (Get-ADDomainController).Hostname `
      -HostNameAlias "transport-1-b.REGION-b.c.PROJECT-ID.internal." `
      -Name "transport-1-b" `
      -ZoneName "DOMAIN"
    

    Em que:

    • PROJECT-ID é o ID do projeto em que as instâncias de VM do Exchange são implantadas.
    • REGION é a região em que as instâncias de VM do Exchange são implantadas.
    • DOMAIN é o domínio DNS do domínio do Active Directory.

Como configurar 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, configure as assinaturas de borda.

  1. 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.
  2. Crie uma assinatura de borda:

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

    Agora você verá o arquivo de assinatura na área de trabalho.

  3. Exporte o certificado do servidor do Exchange AD LDS:

    1. Abra o Console de gerenciamento da Microsoft clicando em Iniciar > Executar, digitando mmc e selecionando OK.
    2. Selecione Arquivo > Adicionar/remover snap-in.
    3. Na lista de snap-ins, selecione Certificados e clique em Adicionar.
    4. Selecione Conta de serviço e clique em Avançar.
    5. Selecione Computador local e clique em Avançar.
    6. Selecione Microsoft Exchange ADAM e clique em Concluir.
    7. Clique em OK.
    8. No painel esquerdo, navegue até Certificados > ADAM_MSExchange\Personal > Certificados.
    9. Clique com o botão direito do mouse no certificado no painel direito e selecione Todas as tarefas > Exportar.
    10. Clique em Próxima.
    11. Selecione Não exportar a chave privada e clique em Avançar.
    12. Selecione X-509 (.cer) codificado em Base 64 e clique em Avançar.
    13. Selecione um local para salvar o certificado e clique em Avançar.
  4. Para cada uma das duas instâncias de VM do servidor de caixa de correio, execute as seguintes etapas:

    1. Copie o certificado do servidor do Exchange AD LDS dos dois servidores de transporte de borda para um local temporário.
    2. Copie os arquivos de assinatura dos dois servidores de transporte de borda para um local temporário.
    3. 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.
    4. Importe o certificado do servidor do Exchange AD LDS de transport-1-a:

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

      Substitua PATH pelo caminho do certificado do servidor Exchange AD LDS de transport-1-a.

    5. Importe o certificado do servidor do Exchange AD LDS de transport-1-b:

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

      Substitua PATH pelo caminho do certificado do servidor Exchange AD LDS de transport-1-b.

    6. Importe os arquivos de assinatura do Edge (em inglês) de transport-1-a e transport-1-b.

    7. Inicie manualmente o processo EdgeSync em um servidor de caixa de e-mails e verifique se a sincronização foi bem-sucedida (links em inglês).

Como configurar o balanceamento de carga para o fluxo de e-mails de entrada

Para ativar o fluxo de e-mail de entrada para os servidores de transporte de borda, crie um recurso de balanceador de carga de rede:

  1. Volte para a sessão atual do Cloud Shell.
  2. Crie um pool de destino:

    gcloud compute target-pools create transport-pool --region $SUBNET_REGION
    
  3. 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
    
  4. Reserve um endereço IP externo para o balanceador de carga:

    gcloud compute addresses create transport-frontend --region=$SUBNET_REGION
    
  5. Crie uma regra de encaminhamento:

    gcloud compute forwarding-rules create www-rule \
      --region $SUBNET_REGION \
      --ports 25 \
      --address transport-frontend \
      --target-pool transport-pool
    
  6. 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 e-mails na porta 25 desse endereço IP e passarão os e-mails para os servidores de caixa de correio.

  7. Verifique se a entrega de e-mails funciona seguindo as instruções em Usar o Telnet para testar a comunicação SMTP em servidores Exchange (em inglês).

  8. Para concluir a configuração dos seus servidores de transporte de borda, siga as etapas em Configurar o fluxo de e-mails e o acesso do cliente nos servidores Exchange (em inglês).

Como configurar o fluxo de e-mails de saída usando o SendGrid

Como o Google Cloud não permite conexões de saída na porta 25, agora você configura um conector de envio personalizado para lidar com e-mails de saída.

  1. Use o Google Cloud Marketplace para se inscrever no serviço de e-mail do SendGrid.
  2. No site do SendGrid, crie uma nova chave de API.
  3. Adicione os endereços IP públicos das instâncias de VM transport-1-a e transport-1-b à lista de endereços IP permitidos.

Como criar um conector de envio

Agora, crie um conector de envio de saída (em inglês) que use o SendGrid como host inteligente:

  1. Retorne à Central de administração do Exchange (EAC, na sigla em inglês).
  2. No menu da EAC, selecione fluxo de e-mail > enviar conectores.
  3. Clique em +.
  4. Na caixa de diálogo Novo conector de envio, insira as seguintes configurações:
    • Name: SendGrid
    • Tipo: Internet (por exemplo, para enviar e-mails da Internet)
  5. Clique em Próxima.
  6. Em Configurações de rede, selecione Rotear e-mail por hosts inteligentes e clique em +.
  7. Na página Adicionar host inteligente, digite smtp.sendgrid.net.
  8. Clique em Salvar.
  9. Clique em Próxima.
  10. Em Autenticação de host inteligente, selecione Autenticação básica.
  11. Digite as informações a seguir:
    • Nome do usuário: apikey
    • Senha: cole a chave da API criada no site do SendGrid
  12. Clique em Próxima.
  13. Em Espaço de endereço, clique em +.
  14. Digite as informações a seguir:
    • Tipo: SMTP
    • Nome de domínio qualificado completo (FQDN, na sigla em inglês): *
    • Custo: 1
  15. Clique em Próxima.
  16. Em Servidor de origem, clique em +.
  17. Selecione transport-1-a e transport-1-b e clique em OK.
  18. Clique em Concluir.

Como alterar a porta SMTP

Agora configure o conector de envio para usar uma porta personalizada:

  1. Em um dos servidores de caixa de e-mails, abra o shell de gerenciamento do Exchange clicando com o botão direito do mouse em Iniciar > Shell de gerenciamento do Exchange.
  2. Modifique o conector de envio para usar a porta 2525:

    Set-SendConnector -Identity "SendGrid" -port 2525
    
  3. Acione uma sincronização de borda para garantir que a alteração de configuração seja propagada para todos os servidores de transporte de borda:

    Start-EdgeSynchronization -ForceFullSync
    

Limpeza

Para evitar custos extras depois de concluir este tutorial, exclua as entidades que você criou.

Excluir o projeto do Google Cloud

  1. No Console do Google Cloud, acesse a página Gerenciar recursos.

    Acessar "Gerenciar recursos"

  2. Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
  3. Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.

A seguir