Use uma imagem de máquina para armazenar todas as configurações, metadados, permissões e dados de um ou mais discos para uma instância de VM em execução no Compute Engine. Para obter informações sobre quando e como usar imagens de máquina, consulte Imagens de máquina .
Este documento descreve as etapas para importar uma imagem de máquina de um dispositivo virtual .
Antes de começar
- Se o projeto no qual você deseja importar a imagem de máquina tiver uma política de imagem confiável definida, adicione
projects/compute-image-import
eprojects/compute-image-tools
à lista permitida de editores. - Se você estiver importando um dispositivo virtual de um projeto diferente, consulte Importação entre projetos .
- Revise os requisitos de VM de origem e arquivo OVF no guia de importação de dispositivos virtuais do Compute Engine.
- Para saber como atender aos requisitos antes de importar imagens de máquina, consulte Pré-requisitos para importar e exportar imagens de VM .
- 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:
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.
- Você pode compartilhar uma imagem de máquina entre projetos. No entanto, as redes VPC compartilhadas não são compatíveis.
- Este recurso não é compatível com projetos protegidos pelo VPC Service Controls .
- As imagens de máquina não podem ser criadas a partir de VMs de origem que tenham mais de 200 TB de discos anexados.
-
MACHINE_IMAGE_NAME
: nome da imagem da máquina que deseja importar. -
SOURCE_URI
: caminho para seu arquivo OVA ou OVF no Cloud Storage. -
OS
: sistema operacional do arquivo OVA. Este sinalizador é opcional por padrão, mas pode ser obrigatório em alguns casos. Recomendamos que você forneça esse sinalizador. Faça upload do dispositivo virtual para o Cloud Storage .
Envie uma solicitação
POST
para o métodoprojects.builds.create
.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout": "7200s", "steps":[ { "args":[ "-machine-image-name=MACHINE_IMAGE_NAME", "-ovf-gcs-path=SOURCE_URI", "-os=OS", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":"gce-ovf-machine-image-import" }
Substitua o seguinte:
-
PROJECT_ID
: ID do projeto para o qual você deseja importar o arquivo OVA. -
MACHINE_IMAGE_NAME
: nome da imagem da máquina a ser importada. Por exemplo,my-machine-image
. -
SOURCE_URI
: URI do arquivo OVA ou de um diretório que contém pacotes OVF armazenados no Cloud Storage. Por exemplo,gs://my-bucket/my-instance.ova
. -
OS
: sistema operacional do arquivo OVA. Por exemplo,ubuntu-1604
. Este sinalizador é opcional por padrão, mas pode ser obrigatório em alguns casos. Recomendamos que você forneça esse sinalizador.
Para valores
args
adicionais que podem ser fornecidos, consulte a seção de sinalizadores opcionais da página de importação do OVF do Compute Engine no GitHub .-
- Sistema operacional:
Ubuntu 1404
- CPU:
2 CPUs
- Memória:
2048 MB
- Sistema operacional:
Ubuntu 1404
- CPU:
2 CPUs
- Memória:
2048 MB
- Sistema operacional:
Ubuntu 1404
- Rede:
custom-vpc-network
- Sub-rede:
company-vpc-us-east1-c
- Zona:
us-east1-c
- Sistema operacional:
Ubuntu 1404
- Rede:
custom-vpc-network
- Sub-rede:
company-vpc-us-east1-c
- Zona:
us-central1-c
Adicione o dispositivo virtual ao Cloud Storage .
O processo de importação requer que os gerenciadores de pacotes sejam instalados no sistema operacional da imagem da máquina. Esses gerenciadores de pacotes podem precisar fazer solicitações a repositórios de pacotes que estão fora Google Cloud. Para permitir o acesso a essas atualizações, você precisa configurar o Cloud NAT. Para obter mais informações, consulte Criar uma configuração NAT usando o Cloud Router .
Configurar o acesso privado do Google . Para obter mais informações, consulte Configurando o acesso privado do Google .
Importe a imagem da máquina usando a CLI do Google Cloud ou a API Cloud Build.
Ao importar uma imagem de máquina de um dispositivo virtual, VMs temporárias são criadas no seu projeto. Para garantir que essas VMs temporárias não recebam endereços IP externos, você deve especificar um sinalizador ou argumento adicional.
Para obter mais informações sobre o sinalizador ou argumento necessário, clique nas seguintes guias:
-
MACHINE_IMAGE_NAME
: nome da imagem da máquina que deseja importar. -
SOURCE_URI
: URI do arquivo OVA ou OVF no Cloud Storage. Por exemplo,gs://my-bucket/Ubuntu.ova
. -
OS
: sistema operacional do arquivo OVA. Este sinalizador é opcional por padrão, mas pode ser obrigatório em alguns casos. Recomendamos que você forneça esse sinalizador. Para obter uma lista de valores compatíveis, consulte opções de sinalização--os
para o comandogcloud compute machine-images import
. -
ZONE
: a zona na qual importar a imagem da máquina. Se deixado em branco, será usada a zona padrão do projeto. -
PROJECT_ID
: o ID do projeto para o qual você deseja importar a imagem da máquina. -
MACHINE_IMAGE_NAME
: o nome da imagem de máquina a ser importada. Por exemplo,my-machine-image
. -
SOURCE_URI
: o URI do arquivo OVA armazenado no Cloud Storage. Por exemplo,gs://my-bucket/my-machine.ova
. -
OS
: o sistema operacional do arquivo OVA. Por exemplo,ubuntu-1604
. Este sinalizador é opcional por padrão, mas pode ser obrigatório em alguns casos. Recomendamos que você forneça esse sinalizador. Para obter uma lista de valores compatíveis, consulte opções de sinalização--os
para o comandogcloud compute instances import
. -
ZONE
: a zona na qual importar a imagem da máquina. Adicione o dispositivo virtual ao Cloud Storage .
Crie uma conta de serviço e atribua os papéis mínimos. Para obter mais informações sobre como criar contas de serviço, consulte Criação e gerenciamento de contas de serviço .
No mínimo, a conta de serviço especificada do Compute Engine precisa ter os seguintes papéis atribuídos:
-
roles/compute.storageAdmin
-
roles/storage.objectViewer
Essas funções mínimas são necessárias para a conta de serviço especificada para a sinalização
--compute-service-account
. Para mais informações, consulte Conceder papéis necessários à conta de serviço do Compute Engine .-
Use o comando
gcloud compute machine-images import
para importar uma imagem de máquina de dispositivos virtuais.gcloud compute machine-images import MACHINE_IMAGE_NAME \ --source-uri=gs:SOURCE_URI \ --os=OS \ --compute-service-account=TEMP_SERVICE_ACCOUNT_EMAIL \ --service-account=SERVICE_ACCOUNT_EMAIL \ --scopes=SCOPES
Substitua o seguinte:
-
MACHINE_IMAGE_NAME
: nome da imagem da máquina que deseja importar. -
SOURCE_URI
: caminho para seu arquivo OVA ou OVF no Cloud Storage. -
OS
: sistema operacional do arquivo OVA. Este sinalizador é opcional por padrão, mas pode ser obrigatório em alguns casos. Recomendamos que você forneça esse sinalizador. -
TEMP_SERVICE_ACCOUNT_EMAIL
: o endereço de e-mail associado à conta de serviço personalizada criada na etapa anterior. Esta conta de serviço é usada pelas VMs temporárias. Se não for especificado, a VM usará a conta de serviço padrão do Compute Engine. -
SERVICE_ACCOUNT_EMAIL
: o endereço de e-mail associado à conta de serviço personalizada que será anexada a qualquer VM criada a partir desta imagem de máquina. Não há restrições de permissão para esta conta de serviço. Você pode personalizá-la conforme necessário. Se não for especificado, a conta de serviço padrão do Compute Engine será anexada à VM. -
SCOPES
: especifique o nível de acesso para a opção--service-account
. Se não for especificado, os escopos padrão serão usados. Para obter mais informações, revise o sinalizador--scopes
.
-
Adicione o dispositivo virtual ao Cloud Storage .
Crie uma conta de serviço e atribua os papéis mínimos. Para obter mais informações sobre como criar contas de serviço, consulte Criar contas de serviço .
No mínimo, a conta de serviço especificada do Compute Engine precisa ter os seguintes papéis atribuídos:
-
roles/compute.storageAdmin
-
roles/storage.objectViewer
Essas funções mínimas são necessárias para a conta de serviço especificada para o argumento
-compute-service-account
. Para mais informações, consulte Conceder papéis necessários à conta de serviço do Compute Engine .-
Envie uma solicitação
POST
para o métodoprojects.builds.create
usando a API Cloud Build.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout":"7200s", "steps":[ { "args":[ "-machine-image-name=MACHINE_IMAGE_NAME", "-ovf-gcs-path=SOURCE_URI", "-os=OS", "-zone=ZONE", "-compute-service-account=TEMP_SERVICE_ACCOUNT_EMAIL", "-service-account=SERVICE_ACCOUNT_EMAIL", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":"gce-ovf-machine-image-import" }
Substitua o seguinte:
-
PROJECT_ID
: o ID do projeto para o qual você deseja importar a imagem da máquina. -
MACHINE_IMAGE_NAME
: o nome da imagem de máquina a ser importada. Por exemplo,my-machine-image
. -
SOURCE_URI
: o URI do arquivo OVA armazenado no Cloud Storage. Por exemplo,gs://my-bucket/my-machine.ova
. -
OS
: o sistema operacional do arquivo OVA. Por exemplo,ubuntu-1604
. Este sinalizador é opcional por padrão, mas pode ser obrigatório em alguns casos. Recomendamos que você forneça esse sinalizador. Para obter uma lista de valores compatíveis, consulte opções de sinalização--os
para o comandogcloud compute instances import
. -
ZONE
: a zona na qual importar a imagem da máquina. -
TEMP_SERVICE_ACCOUNT_EMAIL
: o endereço de e-mail associado à conta de serviço personalizada criada na etapa anterior. Esta conta de serviço é usada pelas VMs temporárias. Se não for especificado, a VM usará a conta de serviço padrão do Compute Engine. -
SERVICE_ACCOUNT_EMAIL
: o endereço de e-mail associado à conta de serviço personalizada que será anexada a qualquer VM criada a partir desta imagem de máquina. Não há restrições de permissão para esta conta de serviço. Você pode personalizá-la conforme necessário. Se não for especificado, a conta de serviço padrão do Compute Engine será anexada à VM. -
SCOPES
: especifique o nível de acesso para a opção--service-account
. Se não for especificado, os escopos padrão serão usados. Para obter mais informações, revise o sinalizador--scopes
.
-
- Saiba mais sobre imagens de máquina
- Crie instâncias de VM a partir de imagens de máquina
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
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.
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Limitações e restrições
Sistemas operacionais suportados
Para obter suporte ao sistema operacional, consulte Detalhes do sistema operacional .
Importar imagens de máquinas
Você pode importar imagens de máquina de dispositivos virtuais usando a CLI do Google Cloud ou a API Cloud Build .
gcloud
Use o comando
gcloud compute machine-images import
para importar uma imagem de máquina de dispositivos virtuais.gcloud compute machine-images import MACHINE_IMAGE_NAME \ --source-uri=gs:SOURCE_URI \ --os=OS
Substitua o seguinte:
Exemplo
Por exemplo, você pode usar o seguinte comando
gcloud
para importar uma imagem de máquina chamadamy-machine-image
de um arquivo OVA de origem chamadomy-ova
que está armazenado no diretóriogs://my-bucket
e executacentos-7
:gcloud compute machine-images import my-machine-image \ --source-uri=gs://my-bucket/my-ova/ \ --os=centos-7
DESCANSAR
Importe imagens de máquina com substituições de OVF
Ao importar uma imagem de máquina de um dispositivo virtual, você pode substituir as configurações no arquivo OVF. Por exemplo, você pode alterar a configuração da CPU ou da memória ou usar uma rede personalizada.
CPU e memória personalizadas
Para substituir a configuração de CPU ou memória especificada no arquivo OVF, conclua as etapas a seguir:
gcloud
Para substituir a configuração de CPU ou memória especificada no arquivo OVF, siga as etapas da CLI do Google Cloud para importar uma imagem de máquina e especificar os sinalizadores
--custom-cpu
e--custom-memory
.Exemplo
Uma imagem de máquina chamada
my-machine-image
tem as seguintes substituições aplicadas às configurações do arquivo OVF:Para importar
my-machine-image
com essas substituições, execute o seguinte comando:gcloud compute machine-images import my-machine-image \ --os=ubuntu-1404 --source-uri=gs://my-bucket/Ubuntu.ova \ --custom-cpu=2 --custom-memory=2048MB
DESCANSAR
Para substituir a configuração de CPU ou memória especificada no arquivo OVF, siga as etapas da API Compute Engine para importar uma imagem de máquina e especificar o argumento
-machine-type
. Este-machine-type
representa um tipo de máquina predefinido ou personalizado da série N1 a ser usado.Exemplo
Uma imagem de máquina chamada
my-machine-image
no projetomy-project
tem as seguintes substituições aplicadas às configurações no arquivo OVF:Para importar
my-machine-image
com essas substituições, faça a solicitação a seguir à API Cloud Build.POST https://cloudbuild.googleapis.com/v1/projects/my-project/builds { "timeout":"7200s", "steps":[ { "args":[ "-machine-image-name=my-machine-image", "-ovf-gcs-path=gs://my-bucket/Ubuntu.ova", "-os=ubuntu-1404", "-machine-type=custom-2-2048", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":"gce-ovf-machine-image-import" }
Redes personalizadas
Para substituir a configuração de rede especificada no arquivo OVF, conclua as etapas a seguir:
gcloud
Para configurar uma rede personalizada, siga as etapas da CLI do Google Cloud para importar uma imagem de máquina e especificar uma sinalização
--network
. Se a rede estiver configurada com um modo de sub-rede personalizado, você também deverá especificar os sinalizadores--subnet
e--zone
.Exemplo
Uma imagem de máquina chamada
my-machine-image
tem as seguintes substituições aplicadas às configurações do arquivo OVF:Para importar
my-machine-image
com essas substituições, execute o seguinte comando de exemplo:gcloud compute machine-images import my-machine-image \ --os=ubuntu-1404 \ --source-uri=gs://my-bucket/Ubuntu.ova \ --network=custom-vpc-network \ --subnet=company-vpc-us-east1-c \ --zone=us-east1-c
DESCANSAR
Para usar uma rede personalizada, siga as etapas REST para importar uma imagem de máquina e especificar um argumento
-network
. Se a rede estiver configurada com um modo de sub-rede personalizado, você também deverá especificar os argumentos-subnet
e-zone
.Exemplo
Uma imagem de máquina chamada
my-machine-image
tem as seguintes substituições aplicadas às configurações do arquivo OVF:Para importar
my-machine-image
com essas modificações, faça a solicitação a seguir à API Compute Engine.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout":"7200s", "steps":[ { "args":[ "-machine-image-name=my-machine-image", "-ovf-gcs-path=gs://my-bucket/Ubuntu.ova", "-os=ubuntu-1404", "-zone=us-central1-c", "-network=custom-vpc-network", "-subnet=company-vpc-us-east1-c", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUsILD_ID" ] } ], "tags":"gce-ovf-machine-image-import" }
Substitua
PROJECT_ID
pelo ID do seu projeto.Importe uma imagem de máquina dentro de uma rede que não permite IP externo
Para importar uma imagem de máquina usando uma rede que não permite endereços IP externos, execute as seguintes etapas:
gcloud
Use o comando
gcloud compute machine-images import
com a sinalização--no-address
.gcloud compute machine-images import MACHINE_IMAGE_NAME \ --source-uri=SOURCE_URI \ --os=OS \ --zone=ZONE \ --no-address
Substitua o seguinte:
DESCANSAR
Envie uma solicitação
POST
para o métodoprojects.builds.create
usando a API Cloud Build . Especifique o argumento-no-external-ip
.POST https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/builds { "timeout":"7200s", "steps":[ { "args":[ "-machine-image-name=MACHINE_IMAGE_NAME", "-ovf-gcs-path=SOURCE_URI", "-os=OS", "-zone=ZONE", "-no-external-ip", "-client-id=api", "-timeout=7000s" ], "name":"gcr.io/compute-image-tools/gce_ovf_import:release", "env":[ "BUILD_ID=$BUILD_ID" ] } ], "tags":"gce-ovf-machine-image-import" }
Substitua o seguinte:
Importe uma imagem de máquina usando contas de serviço personalizadas
Durante uma importação de imagem de máquina, instâncias temporárias de máquina virtual (VM) são criadas em seu projeto. A ferramenta de importação nessas VMs temporárias deve ser autenticada.
Uma conta de serviço é uma identidade anexada a uma VM. Os tokens de acesso à conta de serviço podem ser acessados por meio do servidor de metadados da VM e usados para autenticar a ferramenta de importação na VM.
Por padrão, o processo de importação usa a conta de serviço padrão do Compute Engine . No entanto, se a conta de serviço padrão do Compute Engine estiver desativada no seu projeto ou se você quiser usar uma conta de serviço personalizada do Compute Engine, será necessário criar uma conta de serviço e especificá-la para o processo de importação.
gcloud
DESCANSAR
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.
-