Criar uma instância usando uma imagem compartilhada

Este documento explica como criar uma instância do Compute Engine com base em uma imagem personalizada compartilhada por outro projeto.

Uma instância contém um carregador de inicialização, um sistema de arquivos de inicialização e uma imagem do SO. É possível criar imagens personalizadas com base em discos, imagens, snapshots ou imagens de origem armazenados no Cloud Storage e usá-las para criar instâncias. Por padrão, uma imagem personalizada pertence apenas ao projeto em que foi criada. Se outro usuário compartilhou uma imagem com você, use-a para criar uma instância.

Antes de começar

  • Ao criar instâncias de imagens usando a Google Cloud CLI ou a API Compute Engine, há um limite de 20 instâncias por segundo. Se você precisar criar um número maior de instâncias por segundo, solicite um ajuste de cota para o recurso Imagens.
  • Configure a autenticação, caso ainda não tenha feito isso. Com isso, você confirma sua identidade para acesso a Cloud de Confiance by S3NS serviços e APIs do. Para executar código ou amostras de um ambiente de desenvolvimento local, autentique-se no Compute Engine com uma destas opções:

    Selecione a guia para como planeja usar as amostras nesta página:

    Console

    Quando você usa o Cloud de Confiance console para acessar Cloud de Confiance by S3NS serviços e APIs, não é necessário configurar a autenticação.

    gcloud

    1. Instale a Google Cloud CLI e faça login na CLI gcloud com sua identidade federada. Depois de fazer login, inicialize a Google Cloud CLI executando o seguinte comando:

      gcloud init
  • Defina uma região e uma zona padrão.
  • REST

    Para usar as amostras da API REST desta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.

      Instale a Google Cloud CLI e faça login na CLI gcloud com sua identidade federada.

    Saiba mais em Autenticar para usar REST na documentação de autenticação do Cloud de Confiance .

Funções exigidas

Para receber as permissões necessárias para criar uma instância de uma imagem compartilhada, peça ao administrador para conceder a você o papel do IAM de Administrador da instância do Compute (v1) (roles/compute.instanceAdmin.v1) no projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esse papel predefinido contém as permissões necessárias para criar uma instância de uma imagem compartilhada. Para acessar as permissões exatas que são necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As permissões a seguir são necessárias para criar uma instância de uma imagem compartilhada:

  • compute.instances.create no projeto
  • Para usar uma imagem compartilhada para criar a instância: compute.images.useReadOnly na imagem

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Criar uma instância de uma imagem compartilhada

Para criar uma instância de uma imagem compartilhada, siga estas etapas:

Console

  1. No Cloud de Confiance console, acesse a página Criar uma instância.

    Acesse "Criar uma instância"

    Se solicitado, selecione o projeto e clique em Continuar.

    A página Criar uma instância aparece e mostra o painel Configuração da máquina.

  2. No painel Configuração da máquina, faça o seguinte:

    1. No campo Nome, especifique um nome para a instância. Saiba mais em Convenção de nomenclatura de recursos .
    2. Opcional: no campo Zona, selecione uma zona para essa instância.

      A seleção padrão é Qualquer uma. Se você não mudar essa seleção padrão, o Google vai escolher automaticamente uma zona com base no tipo de máquina e na disponibilidade.

    3. Selecione a família de máquinas para a instância. O Cloud de Confiance console do então mostra as séries de máquinas disponíveis para a família de máquinas selecionada. As seguintes opções de família de máquinas estão disponíveis:

      • Uso geral
      • Otimizado para computação
      • Otimização de memória
      • Otimizado para armazenamento
      • GPUs

    4. Na coluna Série, selecione a série de máquinas para a instância.

      Se você selecionou GPUs como a família de máquinas na etapa anterior, selecione o Tipo de GPU desejado. A série de máquinas será selecionada automaticamente para o tipo de GPU selecionado.

    5. Na seção Tipo de máquina, selecione o tipo de máquina para a instância.

  3. No menu de navegação, clique em SO e armazenamento. No painel Sistema operacional e armazenamento que aparece, configure o disco de inicialização fazendo o seguinte:

    1. Clique em Alterar. O painel Disco de inicialização aparece e mostra a guia Imagens públicas.
    2. Clique em Imagens personalizadas. A guia Imagens personalizadas aparece.
    3. Para selecionar o projeto de imagem, clique em Alterar e selecione o projeto que contém a imagem.
    4. Na lista Imagem, selecione a imagem que você quer importar.
    5. Na lista Tipo de disco de inicialização, selecione o tipo de disco de inicialização.
    6. No campo Tamanho (GB), especifique o tamanho do disco de inicialização.
    7. Opcional: para discos de inicialização Hyperdisk Balanceado, especifique valores para os campos IOPS provisionadas e Capacidade de processamento provisionada.
    8. Opcional: para ver as opções avançadas de configuração, expanda a Mostrar configurações avançadas seção.
    9. Para confirmar as opções do disco de inicialização e retornar ao painel Sistema operacional e armazenamento, clique em Selecionar.
  4. No menu de navegação, clique em Rede. No painel Rede que aparece, faça o seguinte:

    1. Acesse a seção Firewall.
    2. Para permitir o tráfego HTTP ou HTTPS para a instância, selecione Permitir tráfego HTTP ou Permitir tráfego HTTPS.

      O Compute Engine adiciona uma tag de rede à instância e cria a regra de firewall de entrada correspondente que permite todo o tráfego de entrada em tcp:80 (HTTP) ou tcp:443 (HTTPS). A tag de rede associa a regra de firewall à instância. Para mais informações, consulte Visão geral das regras de firewall na documentação do Cloud Next Generation Firewall.

  5. Opcional: especifique outras opções de configuração. Para mais informações, consulte Opções de configuração durante a criação da instância.

  6. Para criar e iniciar a instância, clique em Criar.

gcloud

  1. No Cloud de Confiance console do, ative o Cloud Shell.

    Ativar o Cloud Shell

    Na parte de baixo do Cloud de Confiance console do, uma Cloud Shell sessão é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a Google Cloud CLI já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.

  2. Crie uma instância usando o gcloud compute instances create command, e use o --image e --image-project para especificar o nome da imagem e o projeto onde a imagem reside:

    gcloud compute instances create INSTANCE_NAME \
    --image=IMAGE \
    --image-project=IMAGE_PROJECT
    

    Substitua:

    • INSTANCE_NAME: o nome para a nova instância
    • IMAGE: o nome da imagem.
    • IMAGE_PROJECT: o projeto que contém a imagem

    Se o comando for bem-sucedido, gcloud vai responder com as propriedades da nova instância, como no exemplo a seguir:

    Created [https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-b/instances/example-instance].
    NAME                 ZONE           MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP    STATUS
    example-instance     us-central1-b  e2-standard-2               10.240.0.4   104.198.53.60  RUNNING
    

Terraform

O processo de criação de uma instância com uma imagem compartilhada na Terraform é semelhante à criação de uma instância com uma imagem disponível publicamente.

  1. No Cloud de Confiance console do, acesse a página Instâncias de VM.

    Acessar instâncias de VM

  2. Clique em Criar instância.
  3. Especifique os parâmetros desejados.
  4. Na parte superior ou inferior da página, clique em Código equivalente e, em seguida, clique na guia Terraform para ver o código do Terraform.

REST

O processo de criação de uma instância com uma imagem compartilhada na API é semelhante à criação de uma instância com uma imagem disponível publicamente.

Para criar a instância de uma imagem compartilhada, use o instances.insert método.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances

{
   "machineType":"zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE",
   "name":"VM_NAME",
   
   "disks":[
      {
         "initializeParams":{
            "sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE"
         },
         "boot":true
      }
   ],
   
   
   "networkInterfaces":[
      {
         "network":"global/networks/NETWORK_NAME"
      }
   ],
   
  
   "shieldedInstanceConfig":{
      "enableSecureBoot":"ENABLE_SECURE_BOOT"
   }
}

Substitua:

  • PROJECT_ID: ID do projeto em que a VM será criada
  • ZONE: zona em que a VM será criada
  • MACHINE_TYPE_ZONE: a zona que contém o tipo de máquina que será usado para a nova VM.
  • MACHINE_TYPE: tipo de máquina, predefinida ou personalizada, para a nova VM.
  • VM_NAME: nome da nova VM.
  • IMAGE_PROJECT: o nome do projeto que contém a imagem compartilhada
  • IMAGE: especifique uma das seguintes opções:
    • IMAGE: o nome da imagem compartilhada. Por exemplo, "sourceImage": "projects/finance-project-1234/global/images/finance-debian-image-v2".
    • IMAGE_FAMILY: se a imagem compartilhada for criada como parte de uma família de imagens personalizadas, especifique essa família de imagens personalizadas.

      Isso cria a VM a partir da imagem do SO mais recente e não descontinuada da família de imagens personalizada. Por exemplo, se você especificar "sourceImage": "projects/finance-project-1234/global/images/family/finance-debian-family", o Compute Engine criará uma VM usando a versão mais recente da imagem do SO na família de imagens personalizadas finance-debian-family.

  • NETWORK_NAME: a rede VPC que você quer usar para a VM. Você pode especificar default para usar sua rede padrão.
  • ENABLE_SECURE_BOOT: opcional: se você escolher uma imagem compatível com recursos da VM protegida, o Compute Engine ativa, por padrão, o módulo de plataforma virtual confiável (vTPM) e o monitoramento de integridade. Por padrão, o Compute Engine não ativa a Inicialização segura.

    true Se você especificar enableSecureBoot para , o Compute Engine criará uma VM com todos os três recursos da VM protegida já ativados. Depois que o Compute Engine iniciar a VM, será preciso interrompê-la se você quiser modificar as opções de VM protegida.

A seguir