Como importar dispositivos virtuais

Um dispositivo virtual é um pacote que contém imagens de disco e configuração de hardware para uma máquina virtual (VM, na sigla em inglês).

Um formato amplamente utilizado para dispositivos virtuais é o OVF (em inglês). Quando você empacota dispositivos virtuais nesse formato, você gera um pacote OVF. Um pacote OVF é uma pasta que contém um arquivo descritor .ovf e uma coleção de outros recursos, como discos. Quando esse pacote é arquivado em um único arquivo, ele é referido como um arquivo OVA.

É possível importar máquinas virtuais no formato OVF, seja um pacote OVF ou um arquivo único OVA, para o Compute Engine. Para verificar se o uso de um dispositivo virtual é a melhor opção para seu caso de uso, consulte Como escolher um método de importação.

Quando você importa um dispositivo virtual, o processo de importação usa as informações armazenadas no arquivo descritor para criar e iniciar uma instância de VM no Compute Engine.

Antes de começar

Ativar a API Cloud Build

A ferramenta de importação do dispositivo virtual usa o Cloud Build.

Na maioria dos casos, gcloud compute images import tenta conceder essas permissões à conta de serviço do Cloud Build. No entanto, é possível concedê-las manualmente para garantir que as permissões necessárias estejam aplicadas.

Console

  1. Ative a API Cloud Build.

    Ativar a API Cloud Build (em inglês)

    Ao ativar a API Cloud Build a partir do Console, o Compute Engine concede à conta de serviço do Cloud Build os papéis a seguir para que o serviço possa importar instâncias para o Compute Engine:

    • roles/iam.serviceAccountTokenCreator
    • roles/compute.admin
    • roles/iam.serviceAccountUser

    A ferramenta de importação também usa a conta de serviço padrão do Compute Engine. Por padrão, a conta de serviço do Compute Engine tem o papel de editor de projetos do Cloud IAM. Se esse papel for removido, o processo de importação poderá falhar. Para adicionar o papel novamente à conta de serviço, consulte Como conceder acesso. Para mais informações sobre a conta de serviço padrão do Compute Engine, consulte a página relacionada.

gcloud

Para configurar o serviço Cloud Build usando a ferramenta de linha de comando gcloud, siga estas etapas:

  1. Ative o Cloud Build.

    gcloud services enable cloudbuild.googleapis.com

    A ferramenta de importação também usa a conta de serviço padrão do Compute Engine. Por padrão, a conta de serviço do Compute Engine tem o papel de editor de projetos do Cloud IAM. Se esse papel for removido, o processo de importação poderá falhar. Para adicionar o papel novamente à conta de serviço, consulte Como conceder acesso. Para mais informações sobre a conta de serviço padrão do Compute Engine, consulte Conta de serviço padrão do Compute Engine.

  2. Adicione o papel compute.admin à conta de serviço da API Cloud Build.

    gcloud projects add-iam-policy-binding project-id \
       --member serviceAccount:project-num@cloudbuild.gserviceaccount.com \
       --role roles/compute.admin
    
  3. Adicione o papel iam.serviceAccountUser à conta de serviço da API Cloud Build.

    gcloud projects add-iam-policy-binding project-id \
       --member serviceAccount:project-num@cloudbuild.gserviceaccount.com \
       --role roles/iam.serviceAccountUser
    
  4. Adicione o papel iam.serviceAccountTokenCreator à conta de serviço da API Cloud Build.

    gcloud projects add-iam-policy-binding project-id \
       --member serviceAccount:project-num@cloudbuild.gserviceaccount.com \
       --role roles/iam.serviceAccountTokenCreator
    

    Substitua as seguintes informações:

Requisitos

Requisitos da VM de origem

Os requisitos a seguir precisam ser atendidos pela VM usada para criar o arquivo OVF:

  • Os discos virtuais precisam estar nos formatos VMDK ou VHD.
  • Os discos virtuais precisam ser configurados com inicialização MBR. UEFI não é compatível.
  • Os discos virtuais não podem estar criptografados.

Para verificar se sua máquina virtual atende aos requisitos, execute a ferramenta de pré-verificação (em inglês).

Requisitos para arquivos OVF

O arquivo OVF precisa seguir os critérios abaixo:

  • Os arquivos OVF precisam fornecer portabilidade Level 1, conforme descrito neste documento (em inglês). Os dispositivos virtuais que atendem à portabilidade Level 2 podem ser importados, mas quaisquer extensões personalizadas, como detalhes específicos do hipervisor de origem, são ignoradas durante o processo de importação.
  • O arquivo OVF pode conter apenas uma máquina virtual. Se houver mais de uma máquina virtual, somente a primeira será importada.
  • O primeiro disco no arquivo OVF precisa ser inicializável.

Configurações importadas pela ferramenta

O padrão OVF (em inglês) especifica o processo de empacotamento de dispositivos virtuais de uma maneira que não depende do provedor de virtualização. Os pacotes de dispositivos virtuais OVF contêm um arquivo de descritor .ovf e uma coleção de outros recursos, como discos virtuais.

Ao importar um dispositivo virtual OVF para o Compute Engine, as seguintes configurações do arquivo descritor são processadas e importadas:

  • Informações de discos virtuais recuperadas do elemento DiskSection do pacote OVF.
  • CPU e memória recuperadas de ResourceAllocationSection do pacote OVF.

    Se as configurações de CPU ou memória estiverem fora dos limites do intervalo compatível com o Compute Engine, o processo de importação redefinirá os valores para o máximo suportado.

  • Detalhes do disco de inicialização recuperados do elemento BootDeviceSection do pacote OVF.

  • Detalhes do SO convidado recuperados do elemento OperatingSystemSection do pacote OVF.

    As informações do Sistema Operacional Convidado são usadas para instalar os drivers corretos e os pacotes de ambiente de convidado na instância importada. Se as informações do SO convidado encontradas no OVF estiverem incorretas, a importação falhará. É possível usar a sinalização --os para modificar as informações do sistema operacional convidado.

As instâncias importadas são sempre criadas com um único adaptador de rede, sem nenhum IP externo. Esse adaptador é usado independentemente das configurações de rede especificadas no arquivo OVF.

Limitações

Ao importar um dispositivo virtual, as seguintes seções do arquivo descritor não serão importadas:

  • NetworkSection
  • AnnotationSection
  • ProductSection
  • EulaSection
  • StartupSection
  • DeploymentOptionSection
  • InstallSection
  • EnvironmentFilesSection
  • SharedDiskSection
  • ScaleOutSection
  • PlacementGroupSection
  • PlacementSection
  • EncryptionSection

Sistemas operacionais compatíveis

Especifique um dos sistemas operacionais a seguir na OperatingSystemSection do seu arquivo descritor:

Distribuições e versões do Linux

  • CentOS 6, CentOS 7
  • Debian 8, Debian 9
  • Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 7
  • Ubuntu 14,04 LTS, Ubuntu 16,04 LTS

Para todas as distribuições do Linux, o disco de inicialização precisa ter o GRUB instalado.

Versões do Windows

  • Windows Server 2008 R2 SP1
  • Windows Server 2012, Windows Server 2012 R2, Windows Server 2012 R2 Core
  • Windows Server 2016, Windows Server 2016 Core
  • Windows Server 2019, Windows Server 2019 Core
  • Windows 7 SP1 (32 e 64 bits, somente para BYOL)
  • Windows 8.1 (32 e 64 bits, somente BYOL)
  • Windows 10, versões 1709, 1803, 1903, 1909 (32 e 64 bits, somente BYOL)

Para todos os sistemas operacionais Windows, é preciso instalar o PowerShell versão 3 ou mais recente. As versões do PowerShell anteriores à 3.0 podem causar problemas com os scripts de inicialização e desligamento usados no processo de importação.

Compatível com BYOL

Por padrão, os arquivos OVF que usam sistemas operacionais Windows Server e Red Hat Enterprise Linux (RHEL) são importados e configurados para usar o faturamento SO premium sob demanda, que gera mais cobranças.

Se você preferir usar suas próprias assinaturas de software para o RHEL, poderá importar dispositivos virtuais como dispositivos com licença "traga sua própria licença" (BYOL, na sigla em inglês).

Para importar dispositivos como dispositivos com licença BYOL, especifique um dos valores de BYOL a seguir para a sinalização [--os] ao executar o comando de importação.

  • rhel-6-byol
  • rhel-7-byol
  • windows-2008r2-byol
  • windows-2012-byol
  • windows-2012r2-byol
  • windows-2016-byol
  • windows-2019-byol
  • windows-7-x64-byol
  • windows-7-x86-byol
  • windows-8-x64-byol
  • windows-8-x86-byol
  • windows-10-x64-byol
  • windows-10-x86-byol

Como importar um arquivo OVA

  1. Adicione o dispositivo virtual ao Cloud Storage.
  2. Para importar um arquivo OVA do Cloud Storage para o Compute Engine, use o comando gcloud compute instances import.

    gcloud compute instances import instance-name \
       --source-uri=gs:path-to-OVA-file
    

    Substitua as seguintes informações:

    • instance-name: o nome da instância a ser criada
    • path-to-OVA-file: o caminho para o arquivo OVA no Cloud Storage

    Por exemplo, para importar um arquivo OVA Ubuntu.ova e criar uma instância denominada my-instance, execute o comando a seguir:

    gcloud compute instances import my-instance \
        --source-uri=gs://my-bucket/Ubuntu.ova
    

    Em alguns casos, talvez seja solicitado um valor para o sistema operacional. Para especificar o sistema operacional, use a sinalização --os. Por exemplo, para importar um arquivo OVA Ubuntu.ova e criar uma instância chamada my-instance que executa o Ubuntu 16.04, execute o comando a seguir:

    gcloud compute instances import my-instance \
        --os=ubuntu-1604
        --source-uri=gs://my-bucket/Ubuntu.ova
    

Como importar um arquivo OVF

  1. Adicione o dispositivo virtual ao Cloud Storage.
  2. Para importar um arquivo OVF do Cloud Storage para o Compute Engine, use o comando gcloud compute instances import.

    Se o diretório contiver apenas um arquivo OVF, será possível fornecer o caminho para o arquivo descritor ou o caminho para o diretório que contém o arquivo OVF.

    • Para importar um arquivo OVF usando o caminho para o arquivo descritor, execute o seguinte comando:

      gcloud compute instances import instance-name \
       --source-uri=gs:path-to-OVF-file
      
    • Para importar um arquivo OVF usando o caminho do diretório, execute o comando a seguir:

      gcloud compute instances import instance-name \
       --source-uri=gs:path-to-OVF-directory
      

    Substitua as seguintes informações:

    • instance-name: o nome da instância a ser criada
    • path-to-OVF-file o caminho para o arquivo OVF no Cloud Storage
    • path-to-OVF-directory: o caminho para o diretório que contém o arquivo OVF no Cloud Storage

    Por exemplo:

    • Para importar um arquivo OVF Ubuntu.ovf no diretório my-ovf-directory, que cria uma instância chamada my-instance, execute o seguinte comando:

      gcloud compute instances import my-instance \
       --source-uri=gs://my-bucket/my-ovf-directory/Ubuntu.ovf
      
    • Para importar um arquivo OVF do diretório my-ovf-directory, que cria uma instância chamada my-instance, execute o seguinte comando:

      gcloud compute instances import my-instance \
       --source-uri=gs://my-bucket/my-ovf-directory
      

    Em alguns casos, talvez seja solicitado um valor para o sistema operacional. Para especificar o sistema operacional, use a sinalização --os. Por exemplo, para importar um arquivo OVF Ubuntu.ovf e criar uma instância chamada my-instance que executa o Ubuntu 16.04, execute o comando a seguir:

    gcloud compute instances import my-instance \
       --os=ubuntu-1604 \
       --source-uri=gs://my-bucket/my-ovf-directory/Ubuntu.ovf
    

Como importar com configurações personalizadas

CPU e memória personalizadas

Para substituir a configuração de CPU ou memória especificada no arquivo OVF, especifique as sinalizações --custom-cpu e --custom-memory.

Por exemplo, para importar uma instância denominada my-instance, que executa o Ubuntu 1404 e tem 2 CPUs e 2.048 MB de memória, execute o comando a seguir:

gcloud compute instances import my-instance \
    --os=ubuntu-1404 --source-uri=gs://my-bucket/Ubuntu.ova \
    --custom-cpu=2 --custom-memory=2048MB

Redes personalizadas

Caso seu projeto esteja configurado para usar redes personalizadas, você precisará especificar uma sinalização --network. Se a rede estiver configurada com o modo de sub-rede personalizado, você precisará especificar também as sinalizações --subnet e --zone.

Por exemplo, para importar uma instância com as propriedades a seguir:

  • Nome da instância: my-instance
  • Sistema operacional: Ubuntu 1404
  • Rede: custom-vpc network
  • Sub-rede company-vpc-us-east1-c
  • Zona: us-east1-c

Execute o seguinte comando:

gcloud compute instances import my-instance --os ubuntu-1404 \
    --source-uri=gs://my-bucket/Ubuntu.ova \
    --network company-vpc \
    --subnet company-vpc-us-east1-c \
    --zone us-east1-c

A seguir

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

Enviar comentários sobre…

Documentação do Compute Engine