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 mudar licenças
Apenas algumas licenças de SO podem ser adicionadas, removidas ou substituídas. As mudanças de licença são compatíveis com Red Hat Enterprise Linux (RHEL), RHEL para SAP, SUSE Linux Enterprise Server (SLES), SLES para SAP, Ubuntu, Ubuntu Pro, Windows Server e SQL Server.
As mudanças permitidas são determinadas pelo proprietário da licença e estão sujeitas a alterações. Para validar as mudanças de licença permitidas na sua VM, consulte Analisar mudanças e restrições de licença.
Para mudar suas licenças do RHEL ou SLES entre pagamento por uso (PAYG) e traga sua própria assinatura (BYOS), consulte Alternar entre PAYG e BYOS.
Para mudar suas licenças do Windows Server de BYOL para PAYG, consulte Mudar do BYOL do Windows para o PAYG.
Para o Ubuntu LTS, se quiser fazer upgrade da sua licença 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 on demand 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.
Com isso, você confirma 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:
Selecione a guia para como planeja usar as amostras nesta página:
Console
Quando você usa o console Google Cloud para acessar serviços Google Cloud e APIs, não é necessário configurar a autenticação.
gcloud
-
Instale a CLI do Google Cloud. Após a instalação, inicialize a Google Cloud CLI executando o seguinte comando:
gcloud initAo usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
-
- 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 gcloud CLI.
Instale a CLI do Google Cloud.
Ao usar um provedor de identidade (IdP) externo, primeiro faça login na gcloud CLI com sua identidade federada.
Saiba mais em 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.
- Interrompa a instância. Desliga temporariamente a instância antes de atualizar a licença do disco.
- Desconecte o disco. Isso desanexa o disco da instância antes de atualizar a licença dele.
Ver as licenças associadas a uma VM
Para visualizar as licenças associadas a uma VM, use o console do Google Cloud , a CLI gcloud ou a API Compute Engine.
Console
No console do Google Cloud , acesse a página Instâncias de VM.
Clique no nome da VM para verificar a licença. A página Detalhes da instância é aberta.
Na parte de baixo da página Detalhes da instância, clique em Código equivalente.
Veja o campo
licensespara o disco de inicialização.
gcloud
Execute o comando
gcloud compute instances describea seguir.gcloud compute instances describe VM_NAME
Substitua
VM_NAMEpelo nome da VM.Veja a seção
disksda saída. O campolicensesmostra 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 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.
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 adicionar 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 disks.update v1:
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:
No console do Google Cloud , acesse a página Análise de registros.
Na barra de ferramentas, verifique se a opção Mostrar consulta está ativada.
Copie a expressão a seguir 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:*Substitua
PROJECT_NAMEpelo nome do projeto.Clique em Executar consulta.
A seguir
Saiba mais sobre os sistemas operacionais premium: