Para criar uma VM do Windows em Google Cloud, você deverá usar uma imagem de VM que tenha o Windows ou o Windows Server pré-instalado. Google Cloud fornece imagens públicas para versões comumente usadas do Windows Server, mas essas imagens são adequadas apenas para licenciamento sob demanda . Para trazer sua própria licença do Windows (BYOL), você deve importar uma imagem existente ou criar uma imagem personalizada.
Este guia descreve como você pode criar uma imagem personalizada usando as mesmas ferramentas e processos que Google Cloud usa para criar as imagens públicas.
Para completar este guia, você precisa de:
- Um arquivo ISO contendo a mídia de instalação do Windows ou do Windows Server.
- Opcionalmente, um ou mais pacotes de atualização do Windows (no formato
.msu
) para aplicar à imagem.
Antes de começar
- Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar no Compute Engine selecionando uma das seguintes opções:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
- Criando um novo disco.
- Extraindo a imagem do Windows (
install.wim
da mídia de instalação) para o disco. - Adicionar os drivers necessários, configurar a Instalação do Windows para que funcione sem supervisão e tornar o disco inicializável.
- Inicializando a partir do novo disco para executar a Instalação do Windows.
- Instalação de software adicional, incluindo o agente do SO convidado.
- Criando uma imagem do disco.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine API, Cloud Build API, and Cloud Storage API APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine API, Cloud Build API, and Cloud Storage API APIs.
- No computador local, abra uma janela do Windows PowerShell.
Inicialize uma variável:
$PROJECT_ID = "
PROJECT_ID
"onde
PROJECT_ID
é o ID do projeto do Google Cloud que você criou na seção anterior.Inicialize outra variável para que contenha o número do projeto:
$PROJECT_NUMBER = gcloud projects describe $PROJECT_ID --format=value`(projectNumber`)
- No seu computador local, abra uma janela de terminal.
Inicialize uma variável:
PROJECT_ID=
PROJECT_ID
onde
PROJECT_ID
é o ID do projeto do Google Cloud que você criou na seção anterior.Inicialize outra variável para que contenha o número do projeto:
PROJECT_NUMBER=`gcloud projects describe $PROJECT_ID --format=value\(projectNumber\)`
No seu computador local, baixe os pacotes de instalação necessários:
Crie um novo bucket do Cloud Storage para armazenar os arquivos de instalação:
gcloud storage buckets create gs://$PROJECT_ID-media --project=$PROJECT_ID
Conceda o papel de visualizador de objetos de armazenamento ao Cloud Build para que ele possa ler os arquivos de instalação:
gcloud storage buckets add-iam-policy-binding gs://$PROJECT_ID-media --member=serviceAccount:$PROJECT_NUMBER@cloudbuild.gserviceaccount.com --role=roles/storage.objectViewer
Carregue o pacote de instalação do PowerShell:
gcloud storage cp
POWERSHELL_PACKAGE
gs://$PROJECT_ID-media/PowerShell.msionde
POWERSHELL_PACKAGE
é o caminho para o pacote de instalação do PowerShell.Carregue o pacote de instalação do .NET Framework:
gcloud storage cp
DOTNET_PACKAGE
gs://$PROJECT_ID-media/dotnet-sdk.exeonde
DOTNET_PACKAGE
é o caminho para o pacote de instalação do NET Framework.Faça upload do pacote de instalação da CLI gcloud:
gcloud storage cp
CLOUDSDK_PACKAGE
gs://$PROJECT_ID-media/GoogleCloudSDKInstaller.exeonde
CLOUDSDK_PACKAGE
é o caminho para o pacote de instalação da CLI gcloud.Carregue o arquivo ISO contendo sua mídia de instalação do Windows:
gcloud storage cp
ISO
gs://$PROJECT_ID-media/onde
ISO
é o nome do arquivo ISO.Opcionalmente, carregue pacotes de atualização adicionais:
gcloud storage cp
UPDATE_DIR
/*.msu gs://$PROJECT_ID-media/updates/onde
UPDATE_DIR
é o diretório que contém os pacotes de atualização.No computador local, clone o repositório Git que contém os fluxos de trabalho
daisy
para criar imagens do Windows:git clone https://github.com/GoogleCloudPlatform/compute-image-tools.git
Mude para o diretório
windows
:cd compute-image-tools/daisy_workflows/image_build/windows/
No diretório
windows
, você encontra uma seleção de arquivos com o sufixo.wf.json
. Esses arquivos contêm definições de fluxo de trabalho Daisy para versões do Windows comumente usadas:Versão do Windows Arquivo de fluxo de trabalho Windows Server Core 2022 (64 bits) windows-server-2022-dc-core-uefi-byol.wf.json
Servidor Windows 2019 (64 bits) windows-server-2019-dc-uefi-byol.wf.json
Windows Server Core 2019 (64 bits) windows-server-2019-dc-core-uefi-byol.wf.json
Servidor Windows 2016 (64 bits) windows-server-2016-dc-uefi-byol.wf.json
Windows Server Core 2016 (64 bits) windows-server-2016-dc-core-uefi-byol.wf.json
Windows 11 21H2 (64 bits) windows-11-21h2-ent-x64-uefi.wf.json
Windows 11 22H2 (64 bits) windows-11-22h2-ent-x64-uefi.wf.json
Windows 11 23H2 (64 bits) windows-11-23h2-ent-x64-uefi.wf.json
Windows 10 21H2 (64 bits) windows-10-21h2-ent-x64-uefi.wf.json
Windows 10 22H2 (64 bits) windows-10-22h2-ent-x64-uefi.wf.json
Abra o arquivo de fluxo de trabalho que melhor corresponda à versão do Windows que você deseja instalar. Se necessário, altere as configurações da edição do Windows (
edition
) e da chave de licença (product_key
) nos arquivos de fluxo de trabalho para que correspondam à sua mídia de instalação.Se você não tiver certeza sobre o nome correto da edição, abra um prompt elevado do PowerShell e execute os seguintes comandos para listar todas as edições suportadas pela sua mídia de instalação:
$IsoFile = "
ISO
" $Mount = Mount-DiskImage -ImagePath (Resolve-Path $IsoFile) $DriveLetter = ($Mount | Get-Volume).DriveLetter Get-WindowsImage -ImagePath "$($DriveLetter):\sources\install.wim" | select ImageName Dismount-DiskImage -InputObject $Mount | Out-NullSubstitua
ISO
pelo caminho local para a imagem ISO.No diretório
windows
, crie um novo arquivo chamadocloudbuild.yaml
e cole o seguinte código:timeout: 14400s # 4 hour timeout for entire build steps: - name: 'gcr.io/compute-image-tools/daisy' timeout: 14400s # 4 hour timeout for build step waitFor: ['-'] args: - -project=$PROJECT_ID - -zone=us-central1-a - -var:updates=gs://$PROJECT_ID-media/updates/ - -var:pwsh=gs://$PROJECT_ID-media/PowerShell.msi - -var:dotnet48=gs://$PROJECT_ID-media/dotnet-sdk.exe - -var:cloudsdk=gs://$PROJECT_ID-media/GoogleCloudSDKInstaller.exe - -var:media=gs://$PROJECT_ID-media/
ISO
-WORKFLOW
Substituir:
-
ISO
: nome do arquivo ISO no Cloud Storage. -
WORKFLOW
: nome do arquivo de fluxo de trabalho que corresponde à versão do Windows que você está usando.
-
Envie a versão para o Cloud Build:
gcloud builds submit --project $PROJECT_ID --async
A construção leva cerca de quatro horas para ser concluída. Você pode acompanhar o status do build no console do Google Cloud em Cloud Build > History .
- Verifique se você carregou os pacotes de instalação e o arquivo ISO corretos.
- Verifique se você selecionou um fluxo de trabalho que corresponda à versão do arquivo ISO para Windows.
- Revise o log de compilação no Cloud Build e verifique se há alguma mensagem de erro.
- Se a compilação parecer travada, revise a saída da porta serial da instância de VM criada pela compilação e verifique se há mensagens de erro.
- Saiba mais sobre a ferramenta margarida .
- Saiba mais sobre fluxos de trabalho em margarida para construção de imagens .
- Saiba como trazer licenças existentes para o Compute Engine .
- Leia sobre as práticas recomendadas para trabalhar com famílias de imagens .
Entenda o processo de construção
Para instalar o Windows do zero, uma abordagem comum é inicializar um computador a partir de um DVD ou arquivo ISO que contém os arquivos de instalação do Windows. Ao contrário de alguns hipervisores locais, o Compute Engine não permite inicializar a partir de um arquivo ISO.
Para instalar o Windows do zero, você deve seguir uma abordagem diferente que envolve as seguintes etapas:
Em vez de executar essas etapas manualmente, este guia descreve como você pode usar o Cloud Build , a ferramenta
daisy
e os fluxos de trabalho de referência disponíveis no GitHub para automatizar o processo.daisy
é uma ferramenta de linha de comando de código aberto que permite executar fluxos de trabalho. Os fluxos de trabalho são criados como arquivos JSON e contêm uma sequência de etapas. Cada etapa descreve uma operação do Compute Engine, por exemplo, criar um disco ou encerrar uma instância de VM. Os fluxos de trabalho Daisy são, portanto, adequados para automatizar as etapas necessárias para construir uma imagem do Windows do zero.Os fluxos de trabalho em série para criar imagens personalizadas do Windows criam duas instâncias de VM temporárias. A primeira instância de VM (
bootstrap
com prefixo) executa as etapas necessárias para criar um disco inicializável. A segunda instância de VM (install
com prefixo) executa a Instalação do Windows e executa todas as etapas restantes.Prepare o projeto para construção de imagens
Para evitar que a ferramenta margarida interfira nas instâncias ou infraestrutura de VM existentes, crie um projeto dedicado para criar imagens:
As próximas etapas variam dependendo se você usa Windows ou Linux em seu computador local:
Windows
Linux
Carregar arquivos de instalação
Agora você coleta todos os arquivos de instalação necessários para a imagem personalizada e faz upload deles para um bucket do Cloud Storage. Ao armazenar os arquivos em um bucket do Cloud Storage, você garante que os arquivos sejam acessíveis pelo
daisy
e pelas instâncias de VM temporárias quedaisy
usa para criar a imagem.Agora você está pronto para construir a imagem personalizada.
Construa a imagem
A execução do fluxo de trabalho
daisy
para criar uma imagem personalizada leva até quatro horas. Em vez de executardaisy
localmente, agora você cria uma configuração do Cloud Build para permitir que o Cloud Build execute o fluxo de trabalho em segundo plano.Use a imagem personalizada
Após a conclusão da compilação, você poderá encontrar a imagem BYOL personalizada no console do Google Cloud em Compute Engine > Images .
Para ajudar a diferenciar entre várias versões da mesma imagem, o processo de compilação incorpora um carimbo de data/hora no nome da imagem, por exemplo
windows-server-2019-dc-v1613488342
. Além disso, o processo associa a imagem a uma família de imagens personalizada, por exemplowindows-server-2019
.Para criar uma instância de VM que use a imagem BYOL personalizada, você deve provisionar a instância de VM em um nó de locatário individual .
Solução de problemas
Se você suspeitar que o processo de construção falhou ou não está progredindo, use as seguintes abordagens para diagnosticar a situação:
O que vem a seguir
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-04-21 UTC.
-