Ler em inglês

Compartilhar via


Ambientes de desenvolvimento/teste do Exchange no Azure

Este tópico orienta-o ao longo da criação de uma implementação de desenvolvimento/teste do Exchange 2016 ou Exchange 2019 no Microsoft Azure. Esta é a configuração resultante.

O ambiente de desenvolvimento/teste do Exchange concluído nos serviços de infraestrutura do Azure.

Esta configuração consiste num único servidor Exchange e num controlador de domínio Windows Server Active Directory (AD) numa sub-rede de uma rede virtual do Azure. Isto fornece uma base e um ponto de partida comum a partir do qual pode demonstrar o Exchange e desenvolver aplicações Exchange Server. Esta configuração destina-se apenas a testes internos de e-mail e aplicações no servidor Exchange. Não está configurado nenhum fluxo de e-mail externo.

Há três fases principais para configurar esse ambiente de desenvolvimento/teste:

  1. Configurar a rede virtual e o controlador de domínio (adVM).
  2. Adicione o servidor Exchange (exVM).
  3. Configurar o Exchange.

Se ainda não tiver uma subscrição do Azure, pode inscrever-se numa Avaliação Gratuita do Azure. Se tiver uma subscrição do MSDN ou do Visual Studio, veja Crédito mensal do Azure para subscritores do Visual Studio.

Observação

Uma vez que o Exchange efetua alterações ao esquema no Windows Server AD, esta configuração não pode utilizar Microsoft Entra Domain Services.

Fase 1: implantar a rede virtual e um controlador de domínio

Pode criar uma nova rede virtual do Azure com um controlador de domínio com Azure PowerShell. Pode executar os seguintes comandos do PowerShell a partir de uma linha de comandos Windows PowerShell ou no Ambiente de Script Integrado (ISE) do PowerShell. Se você não instalou o Azure PowerShell, confira Introdução aos cmdlets do Azure PowerShell.

Observação

Estes comandos destinam-se a Azure PowerShell 1.0.0 e posterior.

  1. Inicie sessão na sua conta do Azure.

    Connect-AzAccount
    
  2. Para obter o nome de sua assinatura, use este comando.

    Get-AZSubscription | Sort-Object Name | Select-Object Name
    
  3. Defina sua assinatura do Azure com os comandos a seguir. Defina a variável $subscrName ao substituir tudo dentro das aspas, incluindo os < carateres e > , pelo nome correto.

    $subscrName="<subscription name>"
    
    Select-AzSubscription -SubscriptionName $subscrName
    
  4. Crie um novo grupo de recursos. Para determinar um nome de grupo de recursos exclusivo, use este comando para listar os grupos de recurso existentes.

    Get-AZResourceGroup | Sort-Object ResourceGroupName | Select-Object ResourceGroupName
    

    Crie o novo grupo de recursos com estes comandos. Defina as variáveis ao substituir tudo dentro das aspas, incluindo os < carateres e > , pelos nomes corretos.

    $rgName="<resource group name>"
    
    $locName="<location name, such as West US>"
    
    New-AZResourceGroup -Name $rgName -Location $locName
    
  5. As máquinas virtuais baseadas no Gerenciador de Recursos exigem uma conta de armazenamento baseada no Gerenciador de Recursos. Tem de escolher um nome globalmente exclusivo para a sua conta de armazenamento que contenha apenas letras minúsculas e números. Você pode usar este comando para listar as contas de armazenamento existentes.

    Get-AZStorageAccount | Sort-Object StorageAccountName | Select-Object StorageAccountName
    

    Use este comando para testar se o nome proposto para a conta de armazenamento é exclusivo.

    Get-AZStorageAccountNameAvailability "<proposed name>"
    

    Crie uma nova conta de armazenamento para o seu novo ambiente de teste com estes comandos.

    $saName = "<storage account name>"
    
    New-AZStorageAccount -Name $saName -ResourceGroupName $rgName -Type Standard_LRS -Location $locName
    
  6. Crie a Rede Virtual exSrvrVnet do Azure que irá alojar a sub-rede EXSrvrSubnet e protegê-la com um grupo de segurança de rede.

    $exSubnet=New-AZVirtualNetworkSubnetConfig -Name EXSrvrSubnet -AddressPrefix 10.0.0.0/24
    
    New-AZVirtualNetwork -Name EXSrvrVnet -ResourceGroupName $rgName -Location $locName -AddressPrefix 10.0.0.0/16 -Subnet $exSubnet -DNSServer 10.0.0.4
    
    $rule1 = New-AZNetworkSecurityRuleConfig -Name "RDPTraffic" -Description "Allow RDP to all VMs on the subnet" -Access Allow -Protocol Tcp -Direction Inbound -Priority 100 -SourceAddressPrefix Internet -SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange 3389
    
    $rule2 = New-AZNetworkSecurityRuleConfig -Name "ExchangeSecureWebTraffic" -Description "Allow HTTPS to the Exchange server" -Access Allow -Protocol Tcp -Direction Inbound -Priority 101 -SourceAddressPrefix Internet -SourcePortRange * -DestinationAddressPrefix "10.0.0.5/32" -DestinationPortRange 443
    
    New-AZNetworkSecurityGroup -Name EXSrvrSubnet -ResourceGroupName $rgName -Location $locName -SecurityRules $rule1, $rule2
    
    $vnet=Get-AZVirtualNetwork -ResourceGroupName $rgName -Name EXSrvrVnet
    
    $nsg=Get-AZNetworkSecurityGroup -Name EXSrvrSubnet -ResourceGroupName $rgName
    
    Set-AZVirtualNetworkSubnetConfig -VirtualNetwork $vnet -Name EXSrvrSubnet -AddressPrefix "10.0.0.0/24" -NetworkSecurityGroup $nsg
    
    $vnet | Set-AzVirtualNetwork
    
  7. Crie a máquina virtual adVM no Azure. adVM é um controlador de domínio para o domínio corp.contoso.com Windows Server AD e um servidor DNS para as máquinas virtuais da rede virtual EXSrvrVnet.

    Em primeiro lugar, preencha o nome do grupo de recursos, a localização do Azure e o nome da conta de armazenamento e execute estes comandos na linha de comandos Azure PowerShell no computador local para criar uma máquina virtual do Azure para adVM.

    # Create an availability set for domain controller virtual machines
    New-AZAvailabilitySet -ResourceGroupName $rgName -Name dcAvailabilitySet -Location $locName -Sku Aligned -PlatformUpdateDomainCount 5 -PlatformFaultDomainCount 2
    
    # Create the domain controller virtual machine
    $vnet = Get-AZVirtualNetwork -Name EXSrvrVnet -ResourceGroupName $rgName
    
    $pip = New-AZPublicIpAddress -Name adVM-NIC -ResourceGroupName $rgName -Location $locName -AllocationMethod Dynamic
    
    $nic = New-AZNetworkInterface -Name adVM-NIC -ResourceGroupName $rgName -Location $locName -SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pip.Id -PrivateIpAddress 10.0.0.4
    
    $avSet=Get-AZAvailabilitySet -Name dcAvailabilitySet -ResourceGroupName $rgName
    
    $vm=New-AZVMConfig -VMName adVM -VMSize Standard_D1_v2 -AvailabilitySetId $avSet.Id
    
    $vm=Set-AZVMOSDisk -VM $vm -Name adVM-OS -DiskSizeInGB 128 -CreateOption FromImage -StorageAccountType "Standard_LRS"
    
    $diskConfig=New-AZDiskConfig -AccountType "Standard_LRS" -Location $locName -CreateOption Empty -DiskSizeGB 20
    
    $dataDisk1=New-AZDisk -DiskName adVM-DataDisk1 -Disk $diskConfig -ResourceGroupName $rgName
    
    $vm=Add-AZVMDataDisk -VM $vm -Name adVM-DataDisk1 -CreateOption Attach -ManagedDiskId $dataDisk1.Id -Lun 1
    
    $cred=Get-Credential -Message "Type the name and password of the local administrator account for adVM."
    
    $vm=Set-AZVMOperatingSystem -VM $vm -Windows -ComputerName adVM -Credential $cred -ProvisionVMAgent -EnableAutoUpdate
    
    $vm=Set-AZVMSourceImage -VM $vm -PublisherName MicrosoftWindowsServer -Offer WindowsServer -Skus 2012-R2-Datacenter -Version "latest"
    
    $vm=Add-AZVMNetworkInterface -VM $vm -Id $nic.Id
    
    New-AZVM -ResourceGroupName $rgName -Location $locName -VM $vm
    

    Ser-lhe-á pedido um nome de utilizador e palavra-passe. Este artigo irá referir-se a este nome de utilizador como ADMIN_NAME. Use uma senha forte e armazene ambos em um local seguro.

    Nota: a palavra-passe que especificar não pode ser "pass@word1". Ela deve ter entre 8 a 123 caracteres e atender a pelo menos três dos seguintes requisitos de complexidade de senha:

    • Contém uma letra maiúscula
    • Contém uma letra minúscula
    • Contém um dígito numérico
    • Contém um caractere especial

Pode levar alguns minutos para o Azure compilar a máquina virtual.

Ligar à máquina virtual do controlador de domínio com as credenciais da conta de administrador local

  1. No portal do Azure, clique em Grupos de Recursos o ><nome>> do grupo de recursos adVM > Connect.

  2. Execute o arquivo adVM.rdp baixado e clique em Conectar.

  3. Em Segurança do Windows, clique em Usar outra conta. Em Nome de utilizador, escreva **adVM**<ADMIN_NAME>.

  4. Em Senha, digite a senha da conta de ADMIN_NAME e clique em OK.

  5. Quando solicitado, clique em Sim.

  6. Adicione um disco de dados extra como um novo volume com a letra de unidade F: com estes comandos numa linha de comandos Windows PowerShell ao nível do administrador na adVM.

    $disk=Get-Disk | where {$_.PartitionStyle -eq "RAW"}
    
    $diskNumber=$disk.Number
    
    Initialize-Disk -Number $diskNumber
    
    New-Partition -DiskNumber $diskNumber -UseMaximumSize -AssignDriveLetter
    
    Format-Volume -DriveLetter F
    
  7. Configure adVM como controlador de domínio e servidor DNS para o domínio corp.contoso.com. Execute estes comandos em um prompt de comando do Windows PowerShell de nível de administrador no adVM.

    Install-WindowsFeature AD-Domain-Services -IncludeManagementTools
    
    Install-ADDSForest -DomainName corp.contoso.com -DatabasePath "F:\NTDS" -SysvolPath "F:\SYSVOL" -LogPath "F:\Logs"
    

Esses comandos podem levar alguns minutos para serem concluídos.

Após a reinicialização do adVM, reconecte-se à máquina virtual do adVM.

Conecte-se à máquina virtual do controlador de domínio usando as credenciais do domínio

  1. Na portal do Azure, clique em Grupos de Recursos ><no nome do novo grupo>> de recursos adVM > Connect.

  2. Execute o arquivo adVM.rdp baixado e clique em Conectar.

  3. Em Segurança do Windows, clique em Usar outra conta. Em Nome de utilizador, escreva **CORP**<ADMIN_NAME>.

  4. Em Senha, digite a senha da conta de ADMIN_NAME e clique em OK.

  5. Quando solicitado, clique em Sim.

  6. No ambiente de trabalho, abra uma linha de comandos ao nível do administrador Windows PowerShell e execute o seguinte comando:

    Add-WindowsFeature RSAT-ADDS-Tools
    

Este é o resultado da Fase 1.

Fase 1 do ambiente de desenvolvimento/teste do Exchange nos serviços de infraestrutura do Azure.

Fase 2: Criar a máquina virtual do Exchange

Nesta fase, vai criar uma máquina virtual do Exchange na rede virtual EXSrvrVNet e torná-la membro do domínio CORP.

Para criar a máquina virtual do Exchange com Azure PowerShell, inicie sessão primeiro no Azure com a sua conta do Azure a partir da linha de comandos Windows PowerShell (se necessário).

Connect-AzAccount

Tem de determinar um nome DNS globalmente exclusivo para a máquina virtual exVM. Tem de escolher um nome DNS globalmente exclusivo que contenha apenas letras minúsculas e números. Pode fazê-lo com os seguintes comandos do PowerShell:

$vmDNSName="<DNS name to test>"

$rgName="<resource group name>"

$locName=(Get-AZResourceGroup -Name $rgName).Location

Test-AZDnsAvailability -DomainQualifiedName $vmDNSName -Location $locName

Se vir "Verdadeiro", o nome proposto é globalmente exclusivo.

Em seguida, preencha os valores das variáveis e execute o bloco resultante na linha de comandos do PowerShell.

# Set up key variables
$subscrName="<name of your Azure subscription>"

$vmDNSName="<unique, public DNS name for the Exchange server>"

# Set the Azure subscription
Select-AzSubscription -SubscriptionName $subscrName

# Get the Azure location and storage account names
$locName=(Get-AZResourceGroup -Name $rgName).Location

$saName=(Get-AZStorageaccount | Where {$_.ResourceGroupName -eq $rgName}).StorageAccountName

# Create an availability set for Exchange virtual machines
New-AZAvailabilitySet -ResourceGroupName $rgName -Name exAvailabilitySet -Location $locName -Sku Aligned  -PlatformUpdateDomainCount 5 -PlatformFaultDomainCount 2

# Specify the virtual machine name and size
$vmName="exVM"

$vmSize="standard_d8s_v3"

$vnet=Get-AZVirtualNetwork -Name "EXSrvrVnet" -ResourceGroupName $rgName

$avSet=Get-AZAvailabilitySet -Name exAvailabilitySet -ResourceGroupName $rgName

$vm=New-AZVMConfig -VMName $vmName -VMSize $vmSize -AvailabilitySetId $avSet.Id

# Create the NIC for the virtual machine
$nicName=$vmName + "-NIC"

$pipName=$vmName + "-PublicIP"

$pip=New-AZPublicIpAddress -Name $pipName -ResourceGroupName $rgName -DomainNameLabel $vmDNSName -Location $locName -AllocationMethod Dynamic

$nic=New-AZNetworkInterface -Name $nicName -ResourceGroupName $rgName -Location $locName -SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pip.Id -PrivateIpAddress "10.0.0.5"

# Create and configure the virtual machine
$cred=Get-Credential -Message "Type the name and password of the local administrator account for exVM."

$vm=Set-AZVMOSDisk -VM $vm -Name ($vmName +"-OS") -DiskSizeInGB 128 -CreateOption FromImage -StorageAccountType "Standard_LRS"

$vm=Set-AZVMOperatingSystem -VM $vm -Windows -ComputerName $vmName -Credential $cred -ProvisionVMAgent -EnableAutoUpdate

$vm=Set-AZVMSourceImage -VM $vm -PublisherName MicrosoftWindowsServer -Offer WindowsServer -Skus 2019-Datacenter -Version "latest"

$vm=Add-AZVMNetworkInterface -VM $vm -Id $nic.Id

New-AZVM -ResourceGroupName $rgName -Location $locName -VM $vm

Observação

Este bloco de comandos utiliza uma conta de armazenamento padrão criada na fase 1 para reduzir os custos deste ambiente de desenvolvimento/teste. Para um servidor Exchange de produção, tem de utilizar uma conta de armazenamento premium.

A partir do portal do Azure, ligue-se à máquina virtual exVM com as credenciais da conta de administrador local.

Em seguida, associe a exVM ao domínio do Windows AD com estes comandos numa linha de Windows PowerShell.

Add-Computer -DomainName "corp.contoso.com"
Restart-Computer

Observe que você deve fornecer as credenciais de conta de domínio depois de inserir o comando Adicionar-Computador. Utilize a conta CORP\<ADMIN_NAME> e a palavra-passe.

Este é o resultado da Fase 2.

O ambiente de desenvolvimento/teste do Exchange concluído nos serviços de infraestrutura do Azure.

Fase 3: Configurar o Exchange

Nesta fase, vai configurar o Exchange em exVM e testar a entrega de correio entre duas caixas de correio.

Preparar Windows Server AD

  1. Na linha de comandos Windows PowerShell no computador local, execute o seguinte comando:

    Write-Host (Get-AZPublicIpaddress -Name "exVM-PublicIP" -ResourceGroup $rgName).DnsSettings.Fqdn
    
  2. Anote ou copie o nome DNS completo a partir da apresentação do comando. Este é o nome DNS da Internet da máquina virtual exVM. Esse valor será necessário posteriormente.

  3. Se necessário, ligue-se à máquina virtual adVM com o portal do Azure com a conta CORP\<ADMIN_NAME> e a palavra-passe.

  4. No prompt de comando do Windows PowerShell, execute o seguinte comando:

    Get-ADForest | Set-ADForest -UPNSuffixes @{Add="<DNS Name of Exchange>"}
    
  5. Feche a sessão de ambiente de trabalho remoto com adVM.

Instalar o Exchange

  1. Ligue-se à máquina virtual exVM com o portal do Azure através da conta CORP\<ADMIN_NAME> e da palavra-passe.

  2. A partir de exVM, abra uma linha de comandos Windows PowerShell ao nível do administrador e execute os seguintes comandos.

    Install-WindowsFeature NET-Framework-45-Core, NET-Framework-45-ASPNET, NET-WCF-HTTP-Activation45, NET-WCF-Pipe-Activation45, NET-WCF-TCP-Activation45, NET-WCF-TCP-PortSharing45, RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Clustering-CmdInterface, RSAT-Clustering-Mgmt, RSAT-Clustering-PowerShell, Web-Mgmt-Console, 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-Tools
    
    Restart-Computer
    
  3. Ligue-se à máquina virtual exVM com o portal do Azure através da conta CORP\<ADMIN_NAME> e da palavra-passe.

  4. Em Gerenciador do Servidor, clique em Servidor Local. Em Propriedades da exVM, clique em Ativado para Configuração de Segurança Avançada do IE. Na Internet Explorer Configuração de Segurança Avançada, clique em Desativado para Administradores e Utilizadores e, em seguida, clique em OK.

  5. No ecrã Início, clique em Internet Explorer e, em seguida, transfira a API Gerida de Comunicações Unificadas 4.0 Runtime a partir de https://www.microsoft.com/download/details.aspx?id=34992. Quando for solicitado, clique em Executar.

  6. Quando lhe for pedido com a Microsoft Unified Communications Managed API 4.0, Configuração do Runtime, clique em Seguinte.

  7. Clique em Li e aceito os termos de licenciamento e, em seguida, clique em Instalar. Na página Instalação concluída , clique em Concluir.

  8. A partir da Internet Explorer, transfira a versão mais recente do Exchange. Para obter mais informações, veja Atualizações para Exchange Server.

  9. Clique em Guardar para armazenar o ficheiro ISO na pasta Transferências.

  10. Clique em Abrir Pasta, clique com o botão direito do rato no ficheiro ISO do Exchange e, em seguida, clique em Montar.

  11. A partir de uma linha de comandos ao nível do administrador Windows PowerShell na exVM, execute o seguinte:

Observação

  • A opção /IAcceptExchangeServerLicenseTerms anterior não funcionará a partir das CUs (Atualizações Cumulativas) de setembro de 2021. Agora você deve usar /IAcceptExchangeServerLicenseTerms_DiagnosticDataON ou /IAcceptExchangeServerLicenseTerms_DiagnosticDataOFF para instalações autônomas e com script.

  • Os exemplos a seguir usam a opção /IAcceptExchangeServerLicenseTerms_DiagnosticDataON. Você pode alterar a opção para /IAcceptExchangeServerLicenseTerms_DiagnosticDataOFF.

e:

.\setup.exe /mode:Install /role:Mailbox /OrganizationName:Contoso /IAcceptExchangeServerLicenseTerms_DiagnosticDataON
Restart-Computer

Aguarde até que a configuração do Exchange seja concluída, o que pode demorar algum tempo e a exVM é reiniciada.

Adicionar duas caixas de correio ao servidor Exchange

  1. Ligue-se à máquina virtual exVM com o portal do Azure através da conta CORP\<ADMIN_NAME> e da palavra-passe.

  2. No ecrã Início, escreva Exchange e, em seguida, clique em Shell de Gestão do Exchange.

  3. Copie os seguintes comandos para o Bloco de Notas, insira o nome DNS da Internet da máquina virtual exVM para a variável $dnsName e, em seguida, copie e cole os comandos resultantes na Shell de Gestão do Exchange.

    $dnsName="<Internet DNS name of the exVM virtual machine>"
    
    $user1Name="chris@" + $dnsName
    
    $user2Name="janet@" + $dnsName
    
    $db=Get-MailboxDatabase
    
    $dbName=$db.Name
    
    $password = Read-Host "Enter password" -AsSecureString
    
  4. Registe a palavra-passe especificada num local seguro. Em seguida, execute estes comandos para criar duas caixas de correio.

    New-Mailbox -UserPrincipalName $user1Name -Alias chris -Database $dbName -Name ChrisAshton -OrganizationalUnit Users -Password $password -FirstName Chris -LastName Ashton -DisplayName "Chris Ashton"
    
    New-Mailbox -UserPrincipalName $user2Name -Alias janet -Database $dbName -Name JanetSchorr -OrganizationalUnit Users -Password $password -FirstName Janet -LastName Schorr -DisplayName "Janet Schorr"
    

Testar a entrega de e-mail entre caixas de correio

  1. A partir do browser no seu computador local, aceda ao site https://< Nem nome DNS da exVM virtual machine>/owa. Quando lhe for pedida uma página de erro para o certificado de segurança do site, clique em Continuar para este site. Na página de início de sessão do Outlook, utilize o nome da conta corp\chris com a respetiva palavra-passe.

  2. Quando lhe for pedido para especificar o idioma e o fuso horário, selecione o valor adequado para cada um e, em seguida, clique em Guardar.

  3. Na caixa de entrada de Chris Ashton, clique em Novo. Em Para, escreva janet e, em seguida, clique em Procurar diretório. Em Assunto, escreva Mensagem de teste e, em seguida, clique em Enviar.

  4. Clique no ícone de utilizador na parte superior direita da página Web Correio e, em seguida, clique em Terminar sessão.

  5. Na página de início de sessão do Outlook, utilize o nome da conta corp\janet com a respetiva palavra-passe. Quando lhe for pedido para especificar o idioma e o fuso horário, selecione o valor adequado para cada um e, em seguida, clique em Guardar.

  6. Verifique se a caixa de entrada contém a mensagem de teste de Chris Ashton. Clique no mesmo e, em seguida, clique em Responder a todos. No corpo da mensagem, escreva Respondeu e, em seguida, clique em Enviar.

  7. Clique no ícone de utilizador na parte superior direita da página Web Correio e, em seguida, clique em Terminar sessão.

  8. Na página de início de sessão do Outlook, utilize o nome da conta corp\chris com a respetiva palavra-passe. Verifique se a mensagem de e-mail de resposta enviada pela Janet está na caixa de entrada.

Está agora pronto para testar as funcionalidades ou aplicações do Exchange.

Parar e iniciar as máquinas virtuais

As máquinas virtuais do Azure geram um custo contínuo quando estão em execução. Para ajudar a minimizar o custo do seu ambiente de desenvolvimento/teste do Exchange, utilize estes comandos para parar as máquinas virtuais:

$rgName="<your resource group name>"

Stop-AZVM -Name exVM -ResourceGroupName $rgName -Force

Stop-AZVM -Name adVM -ResourceGroupName $rgName -Force

Para iniciá-las novamente, use estes comandos:

$rgName="<your resource group name>"

Start-AZVM -Name adVM -ResourceGroupName $rgName

Start-AZVM -Name exVM -ResourceGroupName $rgName

Confira também

Resolver problemas de conectividade do SMTP de saída no Azure

Implantar novas instalações do Exchange

Requisitos de sistema do Exchange Server

Exchange Server

Novidades no Exchange Server

Guias do Laboratório de Teste (TLGs) para adoção de nuvem


Recursos adicionais