Como criar e gerenciar instâncias do Windows Server

O Google Compute Engine fornece imagens públicas com o Windows Server que podem ser usadas para criar instâncias. Para instruções sobre como criar uma instância do Windows Server com o SQL Server pré-instalado, consulte Como criar instâncias do SQL Server.

Para mais informações sobre as instâncias do Windows Server e os aplicativos do Windows que podem ser executados no Compute Engine, consulte Windows no Compute Engine.

Antes de começar

Como criar uma instância do Windows Server

Para criar uma instância com o Windows Server, especifique a família de imagens para a versão específica do Windows de que você precisa. O Compute Engine oferece várias versões do Windows Server, a maioria delas disponível como imagens regulares e de VM protegida. As imagens de VMs protegidas oferecem recursos de segurança como firmware compatível com UEFI, inicialização segura e inicialização medida e segura de vTPM. Se você escolher o armazenamento SSD para sua instância, não poderá usar os recursos de monitoramento de integridade da VM protegida e não poderá usar o vTPM para proteger os dados. Para uma lista das famílias de imagens disponíveis, consulte imagens públicas.

Como criar uma instância do Windows Server que usa um IP externo para ser ativada

Esta seção descreve como criar uma instância do Windows Server que tenha um endereço IP externo. Sua rede VPC precisa ser configurada para permitir acesso a kms.windows.googlecloud.com.

Como criar a instância do Windows Server

Console

Para criar uma instância básica do Windows:

  1. No Console do GCP, acesse a página "Instâncias de VM".

    Acessar a página "Instâncias da VM"

  2. Clique em Criar instância.
  3. Na seção Disco de inicialização, clique em Alterar para iniciar a configuração do disco de inicialização.
  4. Na guia Imagens do SO, escolha uma imagem do Windows.

  5. Clique em Selecionar.
  6. Clique em Criar para criar a instância.

Para criar uma instância VM protegida do Windows, siga estas etapas:

  1. Acesse a página "Instâncias de VM".

    Acessar a página "Instâncias de VM"

  2. Clique em Criar instância.
  3. Na seção Disco de inicialização, clique em Alterar para configurar o disco de inicialização.
  4. Na guia Imagens do SO, escolha uma imagem do Windows.
    Selecione Mostrar imagens com recursos de VM protegida para ver apenas imagens de VM protegida.

  5. Clique em Selecionar.

  6. Opcionalmente, altere as configurações da instância da VM protegida:

    1. Clique na guia Segurança na seção Gerenciamento, segurança, discos, rede.
    2. Se você quiser desativar a Inicialização segura, desmarque Ativar a inicialização segura. A inicialização segura ajuda a proteger as instâncias de VM contra malware e rootkits nos níveis de inicialização e kernel. Para ver mais informações, consulte Inicialização segura.
    3. Se você quiser desativar o módulo de plataforma confiável virtual (vTPM, na sigla em inglês), desmarque a opção Ativar vTPM. O vTPM ativa a Inicialização medida, que valida a pré-inicialização da VM e a integridade da inicialização. Para mais informações, consulte Módulo da plataforma virtual confiável (vTPM).

    4. Se você quiser desativar o monitoramento de integridade, desmarque Ativar monitoramento de integridade. O monitoramento de integridade permite monitorar a integridade da inicialização das instâncias de VM protegida usando o Stackdriver. Para mais informações, consulte Monitoramento de integridade.

  7. Clique em Criar para criar a instância.

gcloud

Use o comando compute images list para ver a lista de imagens disponíveis do Windows Server:

Use o seguinte comando para ver as imagens VM não protegidas disponíveis no Windows Server:

gcloud compute images list --project windows-cloud --no-standard-images

Use o seguinte comando para ver uma lista de imagens de VM protegida disponíveis, incluindo imagens do Windows:

gcloud compute images list --project gce-uefi-images --no-standard-images

Use o comando compute instances create para criar uma nova instância e especifique a família de imagens para uma das imagens públicas do Windows Server.

gcloud compute instances create [INSTANCE_NAME] \
    --image-project windows-cloud \
    --image-family [IMAGE_FAMILY] \
    --machine-type [MACHINE_TYPE] \
    --boot-disk-size [BOOT_DISK_SIZE] \
    --boot-disk-type [BOOT_DISK_TYPE]

em que:

  • [INSTANCE_NAME] é o nome da nova instância;
  • [IMAGE_FAMILY] é uma das famílias de imagem pública das imagens do Windows Server;
  • [MACHINE_TYPE] é um dos tipos de máquina disponíveis;
  • [BOOT_DISK_SIZE] é o tamanho do disco de inicialização em GB. Discos permanentes maiores têm capacidade mais alta;
  • [BOOT_DISK_TYPE] é o tipo de disco de inicialização da instância. Especifique pd-ssd para usar um disco permanente SSD mais rápido ou pd-standard para usar um disco permanente HDD padrão.

Se for escolhida uma imagem compatível com a VM protegida, é possível alterar as configurações de VM protegida da instância usando uma das sinalizações a seguir:

  • --no-shielded-vm-secure-boot: desativa a inicialização segura. A inicialização segura ajuda a proteger as instâncias de VM de malware e rootkits nos níveis de inicialização e kernel. Para ver mais informações, consulte Inicialização segura.
  • --no-shielded-vm-vtpm: desative o módulo de plataforma confiável virtual (vTPM, na sigla em inglês). O vTPM permite a inicialização segura, que valida a pré-inicialização da VM e a integridade da inicialização. Para ver mais informações, consulte Módulo da plataforma virtual confiável (vTPM).

  • --no-shielded-vm-integrity-monitoring: desative o monitoramento de integridade. O monitoramento de integridade permite monitorar a integridade da inicialização das instâncias de VM protegida usando o Stackdriver. Para mais informações, consulte Monitoramento de integridade.

O exemplo a seguir cria uma instância de VM protegida do Windows 2012 com a inicialização segura desativada:

 gcloud compute instances create my-instance \
 --image-family windows-2012-r2 --image-project gce-uefi-images \
 --no-shielded-vm-secure-boot

API

Para criar uma instância com a API, inclua a propriedade initializeParams na solicitação de criação da instância e especifique uma imagem do Windows. Por exemplo, o corpo da solicitação pode ter a seguinte aparência:

instance = {
  "name": "[INSTANCE_NAME]",
  "machineType": "zones/[ZONE]/machineTypes/[MACHINE_TYPE]",
  "disks": [{
      "boot": "true",
      "type": "PERSISTENT",
      "initializeParams": {
         "diskName": "[DISK_NAME]",
         "sourceImage": "https://www.googleapis.com/compute/v1/projects/windows-cloud/global/images/family/[IMAGE_FAMILY]",
         "diskSizeGb": "[BOOT_DISK_SIZE]",
         "diskType": "[BOOT_DISK_TYPE]",
       }
    }],
  "networkInterfaces": [{
    "accessConfigs": [{
      "type": "ONE_TO_ONE_NAT",
      "name": "External NAT"
     }],
    "network": "global/networks/default"
  }],
  "serviceAccounts": [{
       "email": DEFAULT_SERVICE_EMAIL,
       "scopes": DEFAULT_SCOPES
  }]
}

em que:

  • [INSTANCE_NAME] é o nome da nova instância;
  • [IMAGE_FAMILY] é uma das famílias de imagens públicas das imagens do Windows Server ou do SQL Server;
  • [ZONE] é a zona da instância;
  • [MACHINE_TYPE] é um dos tipos de máquina disponíveis;
  • [BOOT_DISK_SIZE] é o tamanho do disco de inicialização em GB. Discos permanentes maiores têm capacidade mais alta;
  • [BOOT_DISK_TYPE] é o tipo de disco de inicialização da instância. Especifique pd-ssd para usar um disco permanente SSD mais rápido ou pd-standard para usar um disco permanente HDD padrão.

Se você tiver escolhido uma imagem compatível com VM protegida, será possível alterar as configurações da VM protegida da instância usando os itens do corpo da solicitação booleana a seguir:

  • enableSecureBoot: ative ou desative a inicialização segura. A inicialização segura ajuda a proteger as instâncias de VM contra malware e rootkits nos níveis de inicialização e kernel. Para mais informações, consulte Inicialização segura.
  • enableVtpm: ative ou desative o módulo de plataforma confiável virtual (vTPM, na sigla em inglês). O vTPM permite a inicialização segura, que valida a pré-inicialização da VM e a integridade da inicialização. Para mais informações, consulte Módulo da plataforma virtual confiável (vTPM).

  • enableIntegrityMonitoring: ativa ou desativa o monitoramento de integridade. O monitoramento de integridade permite monitorar e verificar a integridade da inicialização do tempo de execução das instâncias de VM protegidas usando os relatórios do Stackdriver. Para mais informações, consulte Monitoramento de integridade.

Para mais informações sobre como criar uma instância, leia a documentação de instances.insert().

Depois de criar a instância do Windows ou do SQL Server, defina a senha inicial da instância para se conectar a ela pelo RDP.

Como criar uma instância do Windows Server que usa um endereço IP interno para ser ativada

Antes de criar uma instância do Windows Server que tenha apenas um endereço IP interno, é preciso verificar ou configurar rotas e regras de firewall em sua rede VPC para permitir o acesso a kms.windows.googlecloud.com. Além disso, você precisa ativar o Acesso privado do Google para sub-redes em sua rede VPC que contenham instâncias do Windows apenas com endereços IP internos.

Quando você cria uma nova instância usando a linha de comando gcloud, é possível usar a sinalização --no-address para garantir que não seja atribuído um endereço IP externo:

gcloud compute instances create [INSTANCE_NAME] --network [NETWORK_NAME] \
   --subnet [SUBNET_NAME] \
   --no-address \
   --zone [ZONE] \
   --image-project windows-cloud \
   --image-family [IMAGE_FAMILY] \
   --machine-type [MACHINE_TYPE] \
   --boot-disk-size [BOOT_DISK_SIZE] \
   --boot-disk-type [BOOT_DISK_TYPE]

Substitua os seguintes marcadores por valores válidos:

  • [INSTANCE_NAME] é o nome da nova instância;
  • [SUBNET_NAME] é o nome da sub-rede na rede VPC que a instância usará. A sub-rede precisa estar na mesma região que a zona escolhida para a instância;
  • [IMAGE_FAMILY] é uma das famílias de imagem pública das imagens do Windows Server;
  • [MACHINE_TYPE] é um dos tipos de máquina disponíveis;
  • [BOOT_DISK_SIZE] é o tamanho do disco de inicialização em GB. Discos permanentes maiores têm mais capacidade;
  • [BOOT_DISK_TYPE] é o tipo de disco de inicialização da instância. Especifique pd-ssd para usar um disco permanente SSD mais rápido ou pd-standard para usar um disco permanente HDD padrão.

Como essa instância não tem um endereço IP externo, não é possível se conectar diretamente a ela pela Internet. É possível se conectar a partir de outra rede conectada à sua rede VPC usando o Cloud Interconnect ou o Cloud VPN. Outra possibilidade é se conectar a uma instância bastion por meio do RDP e se conectar à instância que tem apenas um endereço IP interno.

Como configurar o acesso a kms.windows.googlecloud.com

Para ativação e renovação do Windows, sua rede VPC precisa atender aos requisitos a seguir de roteamento e regras de firewall.

Requisitos de roteamento

Suas instâncias do Windows precisam ser capazes de acessar kms.windows.googlecloud.com (35.190.247.13) por meio de uma rota que tenha o gateway de Internet padrão definido como próximo salto. Não é possível ativar instâncias do Windows usando um gateway NAT baseado em instância ou o Cloud NAT porque kms.windows.googlecloud.com rejeita solicitações de ativação de endereços IP que não são confirmados como instâncias do Compute Engine.

É possível usar a rota padrão em sua rede VPC para direcionar o tráfego diretamente para kms.windows.googlecloud.com. Se você remover essa rota ou se planeja fazer isso no futuro, crie uma rota estática personalizada com o destino 35.190.247.13 e o próximo salto definido como gateway de Internet padrão:

gcloud compute routes create [ROUTE_NAME] \
    --destination-range=35.190.247.13/32 \
    --network=[NETWORK] \
    --next-hop-gateway=default-internet-gateway

Substitua [ROUTE_NAME] por um nome para esta rota e [NETWORK] pelo nome da sua rede VPC.

A rota padrão ou uma rota estática personalizada, conforme descrito acima, permitirá que instâncias com endereços IP externos alcancem kms.windows.googlecloud.com. Se você tiver instâncias do Windows sem endereços IP externos, também precisará ativar o Acesso privado do Google para que instâncias apenas com endereços IP internos possam enviar tráfego para o endereço IP externo para kms.windows.googlecloud.com. Esse endereço IP, 35.190.247.13, está incluído na lista de endereços IP para APIs e serviços do Google.

Requisitos de regra de firewall

A regra de firewall de permissão de saída implícita permite que as instâncias façam solicitações e recebam respostas estabelecidas. A menos que você tenha criado regras de firewall personalizadas que negam a saída, suas instâncias do Windows podem se comunicar com kms.windows.googlecloud.com.

Se você personalizar as regras de firewall, uma boa prática é criar uma regra de permissão de saída de alta prioridade que permita explicitamente a comunicação com 35.190.247.13. Dessa forma, ao modificar as regras do firewall, você não desativará acidentalmente a ativação do Windows.

Os seguintes exemplos de gcloud criam a regra de permissão de saída recomendada com a prioridade mais alta:

gcloud compute firewall-rules create [RULE_NAME] \
    --direction=EGRESS \
    --network=[NETWORK] \
    --action=ALLOW \
    --rules=tcp:1688 \
    --destination-ranges=35.190.247.13/32 \
    --priority=0

Substitua [RULE_NAME] por um nome para esta regra de firewall e [NETWORK] pelo nome da sua rede VPC.

Como verificar se uma instância foi iniciada

As instâncias do Windows têm um tempo de inicialização mais longo por causa do processo sysprep. No Console do GCP, talvez a instância apareça em execução mesmo que o processo sysprep ainda não tenha sido concluído. Para confirmar se ela foi inicializada e está pronta para ser usada, verifique a saída da porta serial com o seguinte comando:

gcloud compute instances get-serial-port-output [INSTANCE_NAME]

em que [INSTANCE_NAME] é o nome da instância que você quer verificar.

...[snip]...
Running schtasks with arguments /run /tn GCEStartup
-->  SUCCESS: Attempted to run the scheduled task "GCEStartup".
-------------------------------------------------------------
Instance setup finished. [INSTANCE_NAME] is ready to use.
-------------------------------------------------------------

Como desativar atualizações automáticas de componentes

Se há instâncias do Windows com versões de imagem v20170509 e posterior ou com versão de agente 4.1.0 e posterior, os componentes fornecidos pelo Google, como agente, metadados e scripts sysprep, são atualizados automaticamente usando uma tarefa programada. A tarefa agendada é configurada pelo pacote google-compute-engine-auto-updater.

Para gerenciar atualizações manualmente ou usando um sistema alternativo, desative essas atualizações automáticas do componente removendo o pacote google-compute-engine-auto-updater:

  1. Na instância do Windows Server, abra um terminal do PowerShell como administrador.
  2. Execute o comando googet remove para remover o pacote:

    PS C:\\> googet remove google-compute-engine-auto-updater
    

Se quiser, reinstale o pacote para ativar atualizações automáticas do componente:

  1. Na instância do Windows Server, abra um terminal do PowerShell como administrador.
  2. Execute o comando googet install para instalar o pacote:

    PS C:\\> googet install google-compute-engine-auto-updater
    

Se preferir, desative as atualizações definindo o valor disable-agent-updates como true nos metadados personalizados do projeto ou da instância. O valor de metadados desativa atualizações sem remover o pacote ou a tarefa.

Como ativar e desativar recursos de instância do Windows

Quando há instâncias do Windows com versões de imagem v20170509 e posteriores ou com a versão de agente 4.1.0 e posterior, é possível definir a configuração da instância em um arquivo de configuração ou nos metadados personalizados do projeto ou da instância. O arquivo de configuração está no formato INI e está localizado no seguinte caminho:

C:\Program Files\Google\Compute Engine\instance_configs.cfg

O sistema substitui as definições de configuração na seguinte ordem de prioridade, da prioridade mais alta à mais baixa:

  1. parâmetros de configuração que você definiu no arquivo de configuração
  2. parâmetros de configuração definidos nos metadados personalizados da instância
  3. parâmetros de configuração definidos nos metadados personalizados do projeto

Por exemplo, se você ativa o recurso accountManager em um arquivo de configuração, a instância ignora os parâmetros configurados nos metadados personalizados para desativar esse recurso.

Um benefício de definir esses parâmetros no arquivo de configuração é que essas configurações persistem quando você cria uma imagem personalizada para uma instância do Windows Server. Metadados personalizados de nível de instância não persistem após o fim da vida útil da instância.

Desative diferentes recursos da instância do Windows usando os exemplos a seguir.

Desative o administrador da conta:

  • Arquivo de configuração:

    [accountManager]
    disable=true
    
  • Em metadados personalizados, defina disable-account-manager como true nos metadados.

Desative o administrador de endereços:

  • Entrada do arquivo de configuração:

    [addressManager]
    disable=true
    
  • Em metadados personalizados, defina disable-address-manager como true nos metadados.

Cluster de failover do Windows Server

Ative o agente do cluster de failover do Windows Server:

  • Entrada do arquivo de configuração:

    [wsfc]
    enable=true
    
  • Nos metadados personalizados, defina enable-wsfc como true em metadados.

Como usar diversos balanceadores de carga internos

Especifique o endereço IP da instância de balanceamento de carga interno para o cluster de failover. Esta é uma configuração avançada que não precisa ser configurada para um cluster de failover dedicado.

Geralmente, uma instância de balanceamento de carga interno é usada para direcionar o tráfego de rede para uma instância de VM de cada vez. Quando uma segunda instância de balanceamento de carga interno que usa as instâncias de VM de cluster de failover é adicionada como parte de um back-end do site com balanceamento de carga, você tem dois endereços IP de balanceamento de carga internos. Se o cluster de failover usar 10.0.0.10 e o balanceador de carga do site usar 10.0.0.11, é preciso especificar o endereço IP do balanceador de carga usado para o cluster de failover. Isso desambigua o endereço que está sendo usado para o cluster.

  • Entrada do arquivo de configuração:

    [wsfc]
    addresses=10.0.0.10
    
  • Nos metadados personalizados, configure wsfc-addrs como um 10.0.0.10.

Como alterar a porta do agente de cluster

Configure a porta do agente do cluster de failover. A porta padrão é 59998. Especifique uma porta apenas quando quiser usar uma porta diferente:

  • Entrada do arquivo de configuração:

    [wsfc]
    port=12345
    
  • Nos metadados personalizados, configure wsfc-agent-port como o número da porta.

Notas sobre a versão da imagem

Imagens mais antigas não usam um arquivo de configuração e só têm um subconjunto de recursos. Versões de imagem entre a versão v20160112 e v20170509 ou versão de agente do Windows entre 3.2.1.0 e 4.0.0 exigem que você use os seguintes valores de metadados personalizados:

  • Defina disable-account-manager como true nos metadados da instância para desativar o gerenciador de contas.
  • Defina disable-address-manager como true nos metadados da instância para desativar o gerenciador de endereços.

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Compute Engine