Gerenciar licenças


Neste documento, explicamos como gerenciar licenças associadas a uma instância do Compute Engine. Isso inclui como anexar, remover, substituir e ver o histórico de atualizações de licença. Para mais informações sobre licenças no Compute Engine, consulte Sobre licenças.

Restrições para gerenciar licenças:

  • Só é possível adicionar uma licença a um disco se AppendableToDisk for true.
  • Só é possível remover (sem substituição) se RemovableFromDisk for true.
  • Só é possível substituir uma licença por uma das opções listadas em AllowedReplacementLicenses.

Para fazer upgrade da sua licença do Ubuntu LTS para o Ubuntu Pro e ativar a manutenção de segurança estendida (ESM), consulte Fazer upgrade do Ubuntu para o Ubuntu Pro.

Para atualizar sua licença do RHEL sob demanda e incluir suporte estendido, consulte Anexar o complemento de suporte de ciclo de vida estendido (ELS) do RHEL à sua licença.

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

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

      gcloud init

      Se você estiver usando um provedor de identidade externo (IdP), primeiro faça login na CLI gcloud com sua identidade federada.

    2. Set a default region and zone.

    REST

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

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

      gcloud init

      Se você estiver usando um provedor de identidade externo (IdP), primeiro faça login na CLI gcloud com sua identidade federada.

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

Preparar para atualizar a licença de um disco

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

Ver as licenças associadas a uma VM

Para visualizar as licenças associadas a uma VM, use o Google Cloud console, a CLI gcloud ou a API Compute Engine.

Console

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

    Acessar instâncias de VM

  2. Clique no nome da VM para verificar a licença. A página Detalhes da instância é aberta.

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

  4. Veja o campo licenses para o disco de inicialização.

gcloud

  1. Execute o seguinte comando gcloud compute instances describe:

    gcloud compute instances describe VM_NAME
    

    Substitua VM_NAME pelo nome da VM.

  2. Veja a seção disks da saída. O campo licenses mostra as licenças associadas ao disco de inicialização.

REST

Chame o método instances.get v1:

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

Substitua:

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

A API Compute Engine retorna as licenças associadas ao disco de inicialização na seção disks do campo licenses.

Adicionar uma licença ao final durante a importação de uma imagem

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

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

Substitua:

  • IMAGE_NAME: o nome da imagem a ser criada.
  • SOURCE_FILE: um arquivo local ou o URI do Cloud Storage do disco virtual a ser importado.
  • OS: o SO da imagem de disco a ser importada. A licença do SO é inferida a partir do valor dessa sinalização. Não há uma sinalização explícita para fornecer informações de licença durante a importação. Para uma lista de valores compatíveis, consulte a sinalização --os.

Para mais informações sobre como importar imagens, consulte Como importar discos virtuais.

Incluir licenças ao criar uma imagem

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

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

Substitua:

  • IMAGE_NAME: o nome da imagem a ser criada.
  • SOURCE_IMAGE: o nome da imagem a partir da qual a nova imagem vai ser criada.
  • LICENSES: uma lista separada por vírgulas de strings de licença. Exemplo: "license1", "license2".

Para mais informações sobre como criar imagens, consulte Como criar, excluir e suspender o uso de imagens personalizadas e Como criar uma imagem do Windows.

Para mais informações sobre como criar imagens, consulte Como criar, excluir e suspender o uso de imagens personalizadas e Como criar uma imagem do Windows.

Anexar licenças a um disco

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

gcloud

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

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

Substitua:

  • DISK_NAME: o nome do disco a ser anexado.
  • LICENSES: uma lista separada por vírgulas de referências de licença, 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 usando uma referência ou um código de licença, chame o seguinte método disks.update 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:

  • 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ça, por exemplo, "projects/rhel-cloud/global/licenses/rhel-9-server", "projects/rhel-cloud/global/licenses/rhel-8-server".

Substituir licenças em um 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 em um disco usando uma referência ou um código de licença, use o seguinte comando gcloud compute disks update.

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

Substitua:

  • DISK_NAME: o nome do disco a ser anexado.
  • PREVIOUS_LICENSE: a referência de licença anterior que está sendo 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 de 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 em um disco usando 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 no corpo da solicitação 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:

  • 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 de licença, por exemplo, "projects/rhel-cloud/global/licenses/rhel-9-server", "projects/rhel-cloud/global/licenses/rhel-8-server".

Remover 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 usando 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:

  • DISK_NAME: o nome do disco a ser removido.
  • LICENSES: uma lista separada por vírgulas de referências de licença, 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 na solicitação de chamada junto com o seletor de caminho chamando o seguinte método v1 disks.update:

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

Substitua:

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

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

Veja o histórico de atualizações de licença para VMs em um projeto usando o procedimento a seguir:

  1. No console do Google Cloud , acesse a página Análise de registros.

    Acessar o Explorador de registros

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

  3. Copie a seguinte expressão no 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.

A seguir