Este tutorial é a primeira parte de uma série que ajuda você a implantar uma arquitetura Windows altamente disponível no Google Cloud com o Microsoft Active Directory, o SQL Server e o Internet Information Services (IIS). Neste tutorial, você configurará um par redundante de controladores de domínio do Windows com o Active Directory usando uma nova rede de nuvem privada virtual (VPC) e várias sub-redes.
A série consiste nestes tutoriais:
- Como implantar um ambiente do Microsoft Active Directory tolerante a falhas (este documento)
- Como implantar um SQL Server de várias sub-redes
- Como implantar servidores da Web do IIS com balanceamento de carga
Em cada tutorial, nos baseamos na infraestrutura que você criou no anterior.
Também é possível usar este tutorial para aprender a definir uma configuração do Active Directory para uso em outras arquiteturas. Este guia não abrange a replicação de um ambiente remoto do Active Directory para o novo ambiente do Active Directory baseado no Google Cloud, embora isso seja possível com o Cloud VPN e a configuração extra do Active Directory.
Arquitetura
Objetivos
- Criar uma rede VPC personalizada com duas sub-redes abrangendo duas zonas.
- Crie instâncias virtuais do Windows Server e ative os Serviços de Domínio do Active Directory.
- Configurar um novo domínio com o Active Directory.
- Mesclar as novas instâncias do Windows Server com o novo domínio.
- Configurar regras de firewall para permitir o tráfego para as máquinas virtuais.
- Testar a configuração.
Custos
Neste tutorial, há componentes faturáveis do Google Cloud, entre eles:
A calculadora de preços estima o custo desse ambiente em cerca de US$ 4 por dia.
Antes de começar
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Enable the Compute Engine API.
Inicializar variáveis comuns
Você precisa definir muitas variáveis de ambiente para controlar onde os elementos da infraestrutura são implantados.
Acesse o Cloud Shell.
No Cloud Shell, crie as variáveis de ambiente a seguir para definir valores de que você precisará posteriormente no tutorial.
Os comandos definem a região como
us-east-1
. Use uma região diferente, mas lembre-se da região usada para usar a mesma região nos tutoriais subsequentes.export region=us-east1 export zone_1=${region}-b export zone_2=${region}-c export vpc_name=webappnet export project_id=your-project-id
Substitua your-project-id pelo ID do projeto do Google Cloud que você está usando.
Execute os comandos a seguir para definir a região padrão e o ID do projeto para que não seja preciso especificar esses valores em cada comando subsequente:
gcloud config set compute/region ${region} gcloud config set project ${project_id}
Como criar a infraestrutura de rede
Depois de definir as variáveis de infraestrutura, é hora de criar a rede e as sub-redes que o Active Directory usará.
No Cloud Shell, execute o seguinte comando para criar a rede VPC:
gcloud compute networks create ${vpc_name} \ --description "VPC network to deploy Active Directory" \ --subnet-mode custom
O seguinte aviso aparecerá, mas ele pode ser ignorado, porque você criará essas regras de firewall em etapas posteriores.
Instances on this network will not be reachable until firewall rules are created.
Adicione duas sub-redes à rede VPC:
gcloud compute networks subnets create private-ad-zone-1 \ --network ${vpc_name} \ --range 10.1.0.0/24 gcloud compute networks subnets create private-ad-zone-2 \ --network ${vpc_name} \ --range 10.2.0.0/24
Crie uma regra de firewall interna para permitir o tráfego entre sub-redes:
gcloud compute firewall-rules create allow-internal-ports-private-ad \ --network ${vpc_name} \ --allow tcp:1-65535,udp:1-65535,icmp \ --source-ranges 10.1.0.0/24,10.2.0.0/24
Crie uma regra de firewall para permitir uma conexão RDP na porta
3389
a partir de qualquer local:gcloud compute firewall-rules create allow-rdp \ --network ${vpc_name} \ --allow tcp:3389 \ --source-ranges 0.0.0.0/0
Como criar o primeiro controlador de domínio
Agora, você criará um controlador de domínio com as seguintes propriedades:
- Nome:
ad-dc1
- Endereço IP:
10.1.0.100
Crie uma instância do Compute Engine do Windows Server 2016 para usar como o primeiro controlador de domínio:
gcloud compute instances create ad-dc1 --machine-type n1-standard-2 \ --boot-disk-type pd-ssd \ --boot-disk-size 50GB \ --image-family windows-2016 --image-project windows-cloud \ --network ${vpc_name} \ --zone ${zone_1} --subnet private-ad-zone-1 \ --private-network-ip=10.1.0.100
Aguarde aproximadamente um minuto e crie uma senha para a instância
ad-dc1
do Windows:gcloud compute reset-windows-password ad-dc1 --zone ${zone_1} --quiet
O nome de usuário é o mesmo da sua conta do Google. Anote o nome de usuário e a senha para uso futuro.
Use o RDP para se conectar à instância do controlador de domínio com as credenciais criadas na etapa anterior.
Abra um terminal do PowerShell como administrador. Clique em Iniciar, digite PowerShell e pressione Shift+Ctrl+Enter.
Defina as credenciais do Windows para a conta de administrador:
net user Administrator *
Será necessário criar uma senha. Use uma senha forte e a armazene em local seguro para uso futuro.
A conta de administrador se tornará uma conta de administrador de domínio depois que você criar a floresta do Active Directory com ela.
Ative a conta:
net user Administrator /active:yes
Instale o Active Directory Domain Services, incluindo as ferramentas de gerenciamento:
Install-WindowsFeature -Name AD-Domain-Services -IncludeManagementTools
Configure as seguintes variáveis:
$DomainName = "example-gcp.com" $DomainMode = "7" $ForestMode = "7" $DatabasePath = "C:\Windows\NTDS" $SysvolPath = "C:\Windows\SYSVOL" $LogPath = "C:\Logs"
Instale a nova configuração de floresta do Active Directory no modo Windows Server 2016:
Install-ADDSForest -CreateDnsDelegation:$false ` -DatabasePath $DatabasePath ` -LogPath $LogPath ` -SysvolPath $SysvolPath ` -DomainName $DomainName ` -DomainMode $DomainMode ` -ForestMode $ForestMode ` -InstallDNS:$true ` -NoRebootOnCompletion:$true ` -Force:$true
Quando for solicitado, digite uma senha de administrador do modo seguro. Armazene a senha em um local seguro para uso futuro.
Descarte os avisos a seguir. Cada aviso aparecerá duas vezes, uma vez durante a verificação dos pré-requisitos e uma segunda vez durante o processo de instalação.
WARNING: Windows Server 2016 domain controllers have a default for the security setting named Allow cryptography algorithms compatible with Windows NT 4.0 that prevents weaker cryptography algorithms when establishing security channel sessions.
For more information about this setting, see Knowledge Base article 942564 (http://go.microsoft.com/fwlink/?LinkId=104751).WARNING: This computer has at least one physical network adapter that does not have static IP address(es) assigned to its IP Properties. If both IPv4 and IPv6 are enabled for a network adapter, both IPv4 and IPv6 static IP addresses should be assigned to both IPv4 and IPv6 Properties of the physical network adapter. Such static IP address(es) assignment should be done to all the physical network adapters for reliable Domain Name System (DNS) operation.
WARNING: A delegation for this DNS server cannot be created because the authoritative parent zone cannot be found or it does not run Windows DNS server. If you are integrating with an existing DNS infrastructure, you should manually create a delegation to this DNS server in the parent zone to ensure reliable name resolution from outside the domain "example-gcp.com". Otherwise, no action is required.
Reinicie a máquina virtual:
Restart-Computer
Use o RDP para se conectar ao controlador de domínio
ad-dc1
com as credenciais de administrador definidas durante a instalação da floresta do Active Directory. Lembre-se de adicionar o nome de domínio como prefixo, como emEXAMPLE-GCP\Administrator
.Abra um terminal do PowerShell como administrador.
Configure as seguintes variáveis:
$DNSPrimary = "10.2.0.100" $DNSSecondary = "127.0.0.1" $LocalStaticIp = "10.1.0.100" $DefaultGateway = "10.1.0.1"
Defina o endereço IP e o gateway padrão:
netsh interface ip set address name=Ethernet static ` $LocalStaticIp 255.255.255.0 $DefaultGateway 1
Configure o servidor DNS primário:
netsh interface ip set dns Ethernet static $DNSPrimary
O servidor DNS
ad-dc2
estará disponível somente depois que o segundo controlador de domínio for implantado. Portanto, é possível ignorar a seguinte mensagem de erro:The configured DNS server is incorrect or does not exist.
Configure o servidor DNS secundário:
netsh interface ip add dns Ethernet $DNSSecondary index=2
A entrada do servidor DNS desse controlador de domínio,
ad-dc1
, precisa ser a segunda na lista para evitar que o Active Directory perca com frequência a conexão com o outro controlador. Use o segundo controlador de domínio,ad-dc2
, como o servidor DNS principal. O controlador de domínioad-dc2
será criado na próxima seção. Se você não seguir esse padrão, os erros a seguir aparecerão em Server Manager > Active Directory Domain Services:The DFS Replication service failed to update configuration in Active Directory Domain Services. The service will retry this operation periodically.
Talvez você veja erros no servidor
ad-dc1
antes de ambos serem configurados. Esses erros podem ser ignorados.
Como criar o segundo controlador de domínio
Em seguida, crie um segundo controlador de domínio em uma zona diferente para fornecer tolerância a falhas. O segundo controlador de domínio tem as seguintes propriedades:
- Nome:
ad-dc2
- Endereço IP:
10.2.0.100
Se a janela do Cloud Shell tiver expirado, abra uma nova instância do Cloud Shell e redefina as variáveis anteriores. Para fazer isso, edite o script a seguir para especificar o ID do projeto e a região que você usou anteriormente.
region=us-east1 zone_2=${region}-c zone_1=${region}-b vpc_name=webappnet project_id=your-project-id gcloud config set compute/region ${region} gcloud config set project ${project_id}
Substitua your-project-id pelo ID do projeto do Google Cloud que você está usando.
Copie o script para a janela do Cloud Shell e o execute.
Use o Cloud Shell para criar a segunda instância do controlador de domínio:
gcloud compute instances create ad-dc2 --machine-type n1-standard-2 \ --boot-disk-size 50GB \ --boot-disk-type pd-ssd \ --image-family windows-2016 --image-project windows-cloud \ --can-ip-forward \ --network ${vpc_name} \ --zone ${zone_2} \ --subnet private-ad-zone-2 \ --private-network-ip=10.2.0.100
Aguarde aproximadamente um minuto e crie uma senha para a instância
ad-dc2
do Windows:gcloud compute reset-windows-password ad-dc2 --zone ${zone_2} --quiet
O nome de usuário é o mesmo da sua conta do Google. Anote o nome de usuário e a senha para uso futuro.
Use o RDP para se conectar à instância do controlador de domínio com as credenciais criadas na etapa anterior.
Abra um terminal do PowerShell como administrador.
Instale o Active Directory Domain Services, incluindo as ferramentas de gerenciamento:
Install-WindowsFeature -Name AD-Domain-Services -IncludeManagementTools
Configure as seguintes variáveis:
$DomainName = "example-gcp.com" $DomainPrefix = "EXAMPLE-GCP" $DNSPrimary = "10.1.0.100" $DNSSecondary = "127.0.0.1" $LocalStaticIp = "10.2.0.100" $DefaultGateway = "10.2.0.1" $DatabasePath = "C:\Windows\NTDS" $SysvolPath = "C:\Windows\SYSVOL" $LogPath = "C:\Logs"
Configure o servidor DNS primário:
netsh interface ip set dns Ethernet static $DNSPrimary
Configure o segundo servidor para que ele atue como seu próprio servidor DNS secundário:
netsh interface ip add dns Ethernet $DNSSecondary index=2
O servidor DNS
ad-dc2
estará disponível somente depois quead-dc2
for mesclado ao domínio como um controlador de domínio. Como o servidor ainda não foi mesclado, você verá a mensagem a seguir, que pode ser ignorada:The configured DNS server is incorrect or does not exist.
Defina o endereço IP e o gateway padrão:
netsh interface ip set address name=Ethernet static ` $LocalStaticIp 255.255.255.0 $DefaultGateway 1
Execute o script do PowerShell a seguir, que o informará quando o primeiro controlador de domínio se tornar operacional. Aguarde até ver a mensagem
Domain controller is reachable
.$DomainIsReady=$False For ($i=0; $i -le 30; $i++) { nltest /dsgetdc:$DomainName if($LASTEXITCODE -ne 0) { Write-Host "Domain not ready, wait 1 more minute, then retry" Start-Sleep -s 60 } else { $DomainIsReady=$True Write-Host "Domain controller is reachable" break } } if($DomainIsReady -eq $False) { Write-Host "Domain not ready. Check if it was deployed ok" }
Adicione a máquina virtual à floresta como um segundo controlador de domínio:
Install-ADDSDomainController ` -Credential (Get-Credential "$DomainPrefix\Administrator") ` -CreateDnsDelegation:$false ` -DatabasePath $DatabasePath ` -DomainName $DomainName ` -InstallDns:$true ` -LogPath $LogPath ` -SysvolPath $SysvolPath ` -NoGlobalCatalog:$false ` -SiteName 'Default-First-Site-Name' ` -NoRebootOnCompletion:$true ` -Force:$true
Quando for solicitado que você forneça uma senha para a conta de administrador, use as credenciais de administrador definidas durante a instalação da floresta do Active Directory. Adicione o nome de domínio como um prefixo, como em
EXAMPLE-GCP\Administrator
.Quando for necessário inserir uma senha de administrador do modo de segurança, use a mesma senha usada para o primeiro controlador de domínio.
Ignore os avisos a seguir. Cada aviso aparece duas vezes: uma vez durante a verificação dos pré-requisitos e uma segunda vez durante o processo de instalação.
WARNING: Windows Server 2016 domain controllers have a default for the security setting named "Allow cryptography algorithms compatible with Windows NT 4.0" that prevents weaker cryptography algorithms when establishing security channel sessions.
For more information about this setting, see Knowledge Base article 942564 (http://go.microsoft.com/fwlink/?LinkId=104751).WARNING: A delegation for this DNS server cannot be created because the authoritative parent zone cannot be found or it does not run Windows DNS server. If you are integrating with an existing DNS infrastructure, you should manually create a delegation to this DNS server in the parent zone to ensure reliable name resolution from outside the domain "example-gcp.com". Otherwise, no action is required.
Reinicie a máquina virtual:
Restart-Computer
Como testar a instalação
Aguarde de 5 a 10 minutos para garantir que os dois controladores de domínio estejam operacionais e replicando informações.
Usando o RDP, conecte-se à primeira instância do controlador de domínio com as credenciais de administrador definidas durante a instalação do primeiro controlador de domínio. Adicione o nome de domínio como um prefixo, como em
EXAMPLE-GCP\Administrator
.Abra um terminal do PowerShell como administrador.
Teste e verifique se a replicação está funcionando:
repadmin /replsum
A saída será semelhante a esta, sem erros ou falhas:
Se o controlador de domínio não estiver disponível, você verá uma mensagem como esta:
Beginning data collection for replication summary, this may take awhile:
.... Source DSA largest delta fails/total %% error
Destination DSA largest delta fails/total %% errorSe você vir essa mensagem, aguarde alguns minutos e tente o comando novamente.
Limpeza
Se você quiser continuar para o próximo tutorial desta série, Como implantar um SQL Server de várias sub-redes, mantenha os recursos criados neste tutorial. No entanto, se você não pretende usar o ambiente do Active Directory criado neste tutorial, limpe os recursos criados no Google Cloud para não ser cobrado por eles. Nas seções a seguir, você aprenderá a excluir e desativar esses recursos.
Excluir o projeto
O jeito mais fácil de evitar cobranças é excluindo o projeto que você criou para o tutorial.
Para excluir o 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.
Excluir instâncias
Para excluir uma instância do Compute Engine:
- In the Google Cloud console, go to the VM instances page.
- Select the checkbox for the instance that you want to delete.
- To delete the instance, click More actions, click Delete, and then follow the instructions.
Como excluir redes VPC
Para excluir a rede VPC, sub-redes e regras de firewall:
No console do Google Cloud, acesse a página "Redes VPC".
Selecione a rede VPC que você criou.
Clique no botão Excluir na parte superior da página.
A seguir
- Prossiga para o próximo tutorial desta série:
- Saiba mais sobre os padrões de uso do Active Directory em um ambiente híbrido.
- Consulte as práticas recomendadas para gerenciar identidade e acesso.
- Confira arquiteturas de referência, diagramas e práticas recomendadas do Google Cloud. Confira o Centro de arquitetura do Cloud.