Gerir licenças


Este documento explica como gerir as licenças associadas a uma instância do Compute Engine. Isto inclui como anexar, remover, substituir e ver o histórico de atualizações de licenças. Para mais informações sobre as licenças no Compute Engine, consulte o artigo Acerca das licenças.

Restrições para alterar licenças

Apenas determinadas licenças de SO são elegíveis para serem anexadas, removidas ou substituídas. As alterações de licenças são suportadas para o Red Hat Enterprise Linux (RHEL), o RHEL para SAP, o SUSE Linux Enterprise Server (SLES), o SLES para SAP, o Ubuntu e o Ubuntu Pro.

As alterações de licença permitidas são determinadas pelo proprietário da licença e estão sujeitas a alterações. Para validar as alterações de licença permitidas para a sua VM, consulte o artigo Reveja as alterações e as restrições de licenças.

Para alterar as suas licenças do RHEL ou SLES entre o pagamento por utilização (PAYG) e a sua própria subscrição (BYOS), consulte o artigo Alterne entre o PAYG e o BYOS.

Para o Ubuntu LTS, para atualizar a sua licença para o Ubuntu Pro e ativar a manutenção de segurança alargada (ESM), consulte o artigo Atualize do Ubuntu para o Ubuntu Pro.

Para atualizar a sua licença do RHEL a pedido para incluir apoio técnico alargado, consulte o artigo Anexe o suplemento de apoio técnico do ciclo de vida alargado (ELS) do RHEL à sua licença.

Antes de começar

  • Se ainda não o tiver feito, configure a autenticação. A autenticação valida a sua identidade para aceder a Google Cloud serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-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

    1. Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

    2. Set a default region and zone.

    REST

    Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.

      Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

    Para mais informações, consulte o artigo Autenticar para usar REST na Google Cloud documentação de autenticação.

Prepare-se para atualizar a licença de um disco

Para atualizar a licença do disco enquanto o disco está associado a uma instância em execução, primeiro, pare a instância ou desassocie o disco.

  • Pare a instância. Desliga temporariamente a instância antes de atualizar a licença do disco.
  • Desanexe o disco. Isto desassocia o disco da instância antes de atualizar a licença do disco.

Veja as licenças associadas a uma VM

Para ver as licenças associadas a uma VM, use a Google Cloud consola, a CLI gcloud ou a API Compute Engine.

Consola

  1. Na Google Cloud consola, aceda à página Instâncias de VM.

    Aceder às instâncias de VM

  2. Clique no nome da VM para verificar a licença. É apresentada a página Detalhes da instância.

  3. Na parte inferior da página Detalhes da instância, clique em Código equivalente.

  4. Veja o campo licenses para o disco de arranque.

gcloud

  1. Execute o seguinte gcloud compute instances describe comando:

    gcloud compute instances describe VM_NAME
    

    Substitua VM_NAME pelo nome da sua VM.

  2. Veja a secção disks do resultado. O campo licenses mostra as licenças associadas ao disco de arranque.

REST

Chame o método v1 instances.get:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instancesVM_NAME

Substitua o seguinte:

  • PROJECT: o nome do projeto
  • ZONE: a zona que contém a VM
  • VM_NAME: o nome da VM

A API Compute Engine devolve as licenças associadas ao disco de arranque na secção disks do campo licenses.

Anexe uma licença durante a importação de uma imagem

Para anexar uma licença durante o processo de importação de imagens, use o seguinte gcloud compute images import comando.

gcloud compute images import IMAGE_NAME \
  --source-file=SOURCE_FILE
  --os=OS

Substitua o seguinte:

  • IMAGE_NAME: o nome da imagem a criar.
  • SOURCE_FILE: um ficheiro local ou um URI do Cloud Storage do disco virtual a importar.
  • OS: o SO da imagem de disco a importar. A licença do SO é inferida a partir do valor desta flag. Não existe uma flag explícita para fornecer informações de licença durante a importação. Para ver uma lista dos valores suportados, consulte a flag --os.

Para mais informações sobre a importação de imagens, consulte o artigo Importar discos virtuais.

Anexe licenças quando criar uma imagem

Para anexar licenças ao criar uma imagem, use o seguinte comando gcloud compute images create.

gcloud compute images create IMAGE_NAME \
  --source-image=SOURCE_IMAGE \
  --licenses=LICENSES

Substitua o seguinte:

  • IMAGE_NAME: o nome da imagem a criar.
  • SOURCE_IMAGE: o nome da imagem a partir da qual criar a nova imagem.
  • LICENSES: uma lista separada por vírgulas de strings de licenças. Por exemplo, "license1", "license2".

Para mais informações sobre a criação de imagens, consulte os artigos Criar, eliminar e descontinuar imagens personalizadas e Criar uma imagem do Windows.

Para mais informações sobre a criação de imagens, consulte os artigos Criar, eliminar e descontinuar imagens personalizadas e Criar uma imagem do Windows.

Anexe licenças a um disco

Para anexar licenças associadas a uma VM, use a CLI gcloud ou a API Compute Engine.

gcloud

Para anexar licenças a um disco através de uma referência ou um código de licença, use o seguinte comando gcloud compute disks update.

gcloud compute disks update DISK_NAME \
--append-licenses=LICENSES

Substitua o seguinte:

  • DISK_NAME: o nome do disco a anexar.
  • LICENSES: uma lista separada por vírgulas de referências de licenças, por exemplo, "projects/rhel-cloud/global/licenses/rhel-9-server", "projects/rhel-cloud/global/licenses/rhel-8-server".

REST

Para anexar licenças a um disco através de uma referência ou um código de licença, chame o seguinte disks.update método v1:

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/disks/DISK_NAME?paths=licenses --data '{"name":"DISK_NAME", "licenses":["https://www.googleapis.com/compute/v1/LICENSES"]}'

Substitua o seguinte:

  • PROJECT: o nome do projeto
  • ZONE: a zona que contém a VM
  • DISK_NAME: o nome do disco
  • LICENSES: uma lista separada por vírgulas de referências de licenças, por exemplo, "projects/rhel-cloud/global/licenses/rhel-9-server", "projects/rhel-cloud/global/licenses/rhel-8-server".

Substitua licenças num disco

Para substituir as licenças associadas a uma VM, use a CLI gcloud ou a API Compute Engine.

gcloud

Para substituir uma licença num disco através de uma referência ou um código de licença, use o comando gcloud compute disks updateseguinte.

gcloud compute disks update DISK_NAME \
--replace-license=PREVIOUS_LICENSE,NEW_LICENSE

Substitua o seguinte:

  • DISK_NAME: o nome do disco a anexar.
  • PREVIOUS_LICENSE: a referência da licença anterior a ser substituída, por exemplo, "projects/rhel-cloud/global/licenses/rhel-9-server", "projects/rhel-cloud/global/licenses/rhel-8-server".
  • NEW_LICENSE: a nova referência da licença, por exemplo, "projects/rhel-cloud/global/licenses/rhel-9-server", "projects/rhel-cloud/global/licenses/rhel-8-server".

REST

Para substituir uma licença num disco através de uma referência ou um código de licença, chame o método disks.update v1 e substitua a licença anterior pela nova licença no corpo do pedido da seguinte forma:

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/disks/DISK_NAME?paths=licenses --data '{"name":"DISK_NAME", "licenses":["https://www.googleapis.com/compute/v1/NEW_LICENSE"]}'

Substitua o seguinte:

  • PROJECT: o nome do projeto
  • ZONE: a zona que contém a VM
  • DISK_NAME: o nome do disco
  • NEW_LICENSE: a nova referência da licença, por exemplo, "projects/rhel-cloud/global/licenses/rhel-9-server", "projects/rhel-cloud/global/licenses/rhel-8-server".

Remova licenças de um disco

Para remover licenças individuais associadas a uma VM, use a CLI gcloud e a API Compute Engine.

gcloud

Para remover licenças de um disco através de uma referência ou um código de licença, use o comando gcloud compute disks update.

gcloud compute disks update DISK_NAME \
--remove-licenses=LICENSES

Substitua o seguinte:

  • DISK_NAME: o nome do disco a remover.
  • LICENSES: uma lista separada por vírgulas de referências de licenças, por exemplo, "projects/rhel-cloud/global/licenses/rhel-9-server", "projects/rhel-cloud/global/licenses/rhel-8-server".

REST

Para remover uma licença, forneça um campo de licença vazio no pedido de chamada juntamente com o seletor de caminho chamando o seguinte disks.update método v1:

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/disks/DISK_NAME?paths=licenses --data '{"name":"DISK_NAME", "licenses":[]}'

Substitua o seguinte:

  • PROJECT: o nome do projeto
  • ZONE: a zona que contém a VM
  • DISK_NAME: o nome do disco
  • LICENSES: deixe em branco.

Veja o histórico de atualizações de licenças

Veja o histórico de atualizações de licenças para VMs num projeto através do seguinte procedimento:

  1. Na Google Cloud consola, aceda à página Explorador de registos.

    Aceda ao Explorador de registos

  2. Na barra de ferramentas, verifique se a opção Mostrar consulta está ativada.

  3. Copie a seguinte expressão para o editor de consultas:

    resource.type="gce_disk"
    logName="projects/PROJECT_NAME/logs/cloudaudit.googleapis.com%2Factivity"
    severity>=NOTICE
    protoPayload.request.@type="type.googleapis.com/compute.disks.update"
    protoPayload.request.licenses:*
    
  4. Substitua PROJECT_NAME pelo nome do projeto.

  5. Clique em Executar consulta.

O que se segue?