Para criar uma VM do Windows no Google Cloud, você precisa usar uma imagem de VM que tenha o Windows ou o Windows Server pré-instalado. O 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, na sigla em inglês), é necessário importar uma imagem atual ou criar uma imagem personalizada.
Neste guia, descrevemos como criar uma imagem personalizada usando as mesmas ferramentas e processos que o Google Cloud usa para criar as imagens públicas.
Para concluir este guia, você precisa ter:
- Um arquivo ISO que contém 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
-
Configure a autenticação, caso ainda não tenha feito isso.
A autenticação é
o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud.
Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se 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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Criação de 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 o Windows Setup para que ele seja executado sem necessidade e tornar o disco inicializável.
- Inicializar a partir do novo disco para executar a Instalação do Windows.
- Como instalar software adicional, incluindo o agente do SO convidado.
- Como criar uma imagem a partir 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
"em que
PROJECT_ID
é o ID do projeto do Google Cloud que você criou na seção anterior.Inicialize outra variável para que ela contenha o número do projeto:
$PROJECT_NUMBER = gcloud projects describe $PROJECT_ID --format=value`(projectNumber`)
- No computador local, abra uma janela de terminal.
Inicialize uma variável:
PROJECT_ID=
PROJECT_ID
em que
PROJECT_ID
é o ID do projeto do Google Cloud que você criou na seção anterior.Inicialize outra variável para que ela contenha o número do projeto:
PROJECT_NUMBER=`gcloud projects describe $PROJECT_ID --format=value\(projectNumber\)`
No computador local, faça o download dos 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 Leitor de objetos do Storage 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
Faça o upload do pacote de instalação do PowerShell:
gcloud storage cp
POWERSHELL_PACKAGE
gs://$PROJECT_ID-media/PowerShell.msiem que
POWERSHELL_PACKAGE
é o caminho para o pacote de instalação do PowerShell.Faça upload do pacote de instalação do .NET Framework:
gcloud storage cp
DOTNET_PACKAGE
gs://$PROJECT_ID-media/dotnet-sdk.exeem que
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.exeem que
CLOUDSDK_PACKAGE
é o caminho para o pacote de instalação da CLI gcloud.Faça o upload do arquivo ISO que contém a mídia de instalação do Windows:
gcloud storage cp
ISO
gs://$PROJECT_ID-media/em que
ISO
é o nome do arquivo ISO.Opcionalmente, faça upload de pacotes de atualização adicionais:
gcloud storage cp
UPDATE_DIR
/*.msu gs://$PROJECT_ID-media/updates/em que
UPDATE_DIR
é o diretório que contém os pacotes de atualização.No computador local, clone o repositório do Git que contém os fluxos de trabalho
daisy
para criar imagens do Windows:git clone https://github.com/GoogleCloudPlatform/compute-image-tools.git
Alterne 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 mais 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
Windows Server 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
Windows Server 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 mais se aproxima da versão do Windows que você quer instalar. Se necessário, altere as configurações do Windows (
edition
) e da chave de licença (product_key
) nos arquivos de fluxo de trabalho para que correspondam à mídia de instalação.Caso não tenha certeza sobre o nome correto, abra um prompt elevado do PowerShell e execute os seguintes comandos para listar todas as edições compatíveis com 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
Substitua:
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 compilação para o Cloud Build.
gcloud builds submit --project $PROJECT_ID --async
A compilação leva cerca de quatro horas para ser concluída. É possível acompanhar o status da build no console do Google Cloud em Cloud Build > Histórico.
- Verifique se você fez upload dos pacotes de instalação e do arquivo ISO corretos.
- Verifique se você selecionou um fluxo de trabalho que corresponde à versão do Windows do arquivo ISO.
- Verifique o registro de criação no Cloud Build e verifique se há mensagens de erro.
- Se a compilação parecer travada, analise 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 Mandale.
- Saiba mais sobre fluxos de trabalho simples para criar imagens.
- Saiba como trazer licenças atuais para o Compute Engine.
- Leia sobre as práticas recomendadas para trabalhar com famílias de imagens.
Entenda o processo de compilação
Para instalar o Windows do zero, uma abordagem comum é inicializar um computador de um arquivo DVD ou ISO que contenha os arquivos de instalação do Windows. Ao contrário de alguns hipervisores locais, o Compute Engine não permite a inicialização de um arquivo ISO.
Para instalar o Windows do zero, siga uma abordagem diferente que siga estas etapas:
Em vez de realizar essas etapas manualmente, este guia descreve como é possível usar o Cloud Build, a ferramenta
daisy
e os fluxos de trabalho de referência que estão 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 uma delas descreve uma operação do Compute Engine, como a criação de um disco ou o encerramento de uma instância de VM. Portanto, os fluxos de trabalho barulhentos são adequados para automatizar as etapas necessárias para criar uma imagem do Windows do zero.Os fluxos de trabalho da lei para criar imagens personalizadas do Windows criam duas instâncias de VM temporárias. A primeira instância de VM (prefixada
bootstrap
) executa as etapas necessárias para criar um disco inicializável. A segunda instância de VM, prefixadainstall
, executa a Configuração do Windows e executa todas as etapas restantes.Prepare o projeto para criar imagens
Para evitar que a ferramenta da ferramenta interfira na instância ou na infraestrutura de VM, crie um projeto dedicado para a criação de imagens:
As próximas etapas serão diferentes se você usar o Windows ou o Linux no computador local:
Windows
Linux
Faça upload de arquivos de instalação
Agora você coleta todos os arquivos de instalação necessários para a imagem personalizada e os envia para um bucket do Cloud Storage. Ao armazenar os arquivos em um bucket do Cloud Storage, você garante que os arquivos possam ser acessados por
daisy
e pelas instâncias de VM temporárias que odaisy
usa para criar a imagem.Agora você está pronto para criar a imagem personalizada.
Criar a imagem
A execução do fluxo de trabalho
daisy
para criar uma imagem personalizada leva até quatro horas. Em vez de executardaisy
localmente, crie uma configuração do Cloud Build para permitir que o Cloud Build execute o fluxo de trabalho em segundo plano.Usar a imagem personalizada
Após a conclusão da criação, é possível encontrar a imagem BYOL personalizada no console do Google Cloud em Compute Engine > Imagens.
Para ajudar a diferenciar entre várias versões da mesma imagem, o processo de criaçã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 exemplo,windows-server-2019
.Para criar uma instância de VM que usa a imagem BYOL personalizada, você precisa provisionar a instância de VM em um nó de locatário individual.
Solução de problemas
Se você suspeitar que o processo de compilação falhou ou não progrediu, use as seguintes abordagens para diagnosticar a situação:
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 2024-12-22 UTC.
-