Atualize do Ubuntu para o Ubuntu Pro


Quando uma imagem do Ubuntu LTS atinge o respetivo fim de vida, deixa de ser suportada e não recebe atualizações de segurança. Se atualizar para o Ubuntu Pro, continua a receber atualizações de segurança durante a manutenção de segurança alargada (ESM).

Este documento mostra como atualizar do Ubuntu para o Ubuntu Pro fazendo o seguinte para cada VM:

  1. Instale atualizações e dependências.
  2. Substitua a licença do Ubuntu pela licença do Ubuntu Pro.
  3. Valide a licença.

Caminhos de atualização suportados

A tabela seguinte mostra os caminhos de atualização suportados:

Versão inicial Versão final
Ubuntu 16.04 LTS Ubuntu Pro 16.04 LTS
Ubuntu 18.04 LTS Ubuntu Pro 18.04 LTS
Ubuntu 20.04 LTS Ubuntu Pro 20.04 LTS
Ubuntu 22.04 LTS Ubuntu Pro 22.04 LTS
Ubuntu 24.04 LTS Ubuntu Pro 24.04 LTS

Limitações

  • Tem de parar uma VM antes de substituir uma licença.

  • Só pode atualizar do Ubuntu LTS para o Ubuntu Pro LTS se forem a mesma versão. Por exemplo, pode fazer a atualização do Ubuntu 16.04 LTS para o Ubuntu Pro 16.04 LTS, mas não pode fazer a atualização do Ubuntu 16.04 LTS para o Ubuntu Pro 20.04 LTS.

Faturação

A faturação do Ubuntu Pro LTS é feita de acordo com os preços das imagens premium.

Para mais informações sobre a faturação, consulte a Faturação do Google Cloud.

Antes de começar

  • Execute os seguintes comandos em cada VM, substituindo VM_NAME pelo nome da VM a atualizar:

    1. Atualize o índice de pacotes através do seguinte comando:
      gcloud compute ssh VM_NAME --command "sudo apt update"
    2. Instale a versão mais recente dos pacotes através do seguinte comando:
      gcloud compute ssh VM_NAME --command "sudo apt -f upgrade"
    3. Instale o Ubuntu Pro com o seguinte comando:
      gcloud compute ssh VM_NAME --command "sudo apt -f install ubuntu-advantage-pro"
  • 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.

Substitua a licença

Substitua a licença do Ubuntu pela licença do Ubuntu Pro através do seguinte procedimento:

  1. Pare a VM com o comando gcloud compute instances stop:

    gcloud compute instances stop VM_NAME \
       --zone=ZONE
    

    Substitua o seguinte:

    • VM_NAME: o nome da VM a parar
    • ZONE: a zona que contém a VM a parar
  2. Obtenha a lista de discos associados à VM através do comando gcloud compute instances describe:

    gcloud compute instances describe VM_NAME \
       --zone=ZONE \
       --format="yaml(disks)"
    

    Substitua o seguinte:

    • VM_NAME: o nome da VM a partir da qual obter a lista de discos associados

    • ZONE: a zona que contém a VM para obter a lista de discos associados

  3. Verifique se o resultado é semelhante ao seguinte:

    disks:
    - autoDelete: true
      boot: true
      deviceName: ubuntu
      diskSizeGb: '10'
      guestOsFeatures:
      - type: VIRTIO_SCSI_MULTIQUEUE
      - type: SEV_CAPABLE
      - type: UEFI_COMPATIBLE
      - type: GVNIC
      index: 0
      interface: SCSI
      kind: compute#attachedDisk
      licenses:
      - https://www.googleapis.com/compute/v1/projects/ubuntu-os-cloud/global/licenses/ubuntu-1604-xenial
      mode: READ_WRITE
      shieldedInstanceInitialState:
        dbxs:
        - content: ...
          fileType: BIN
      source: https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/disks/VM_NAME
      type: PERSISTENT
    

    Tenha em atenção que não foram substituídos Licenses.

  4. Obtenha o nome do disco de arranque executando o comando gcloud compute disks list:

    gcloud compute disks list
    
  5. Atualize o disco de arranque com o URI da licença do Ubuntu Pro através do comando gcloud compute disks update:

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

    Substitua o seguinte:

    • DISK_NAME: o nome do disco de arranque para substituir a licença.

    • ZONE: a zona que contém o disco de arranque para substituir a licença.

    • PREVIOUS_LICENSE: o URI da licença para a versão do Ubuntu

    • NEW_LICENSE: o URI da nova licença do Ubuntu Pro.

    A tabela seguinte mostra o URI da licença para as versões suportadas do Ubuntu Pro:

Versão Ubuntu Pro URI da licença
Ubuntu Pro 16.04 LTS https://www.googleapis.com/compute/v1/projects/ubuntu-os-pro-cloud/global/licenses/ubuntu-pro-1604-lts
Ubuntu Pro 18.04 LTS https://www.googleapis.com/compute/v1/projects/ubuntu-os-pro-cloud/global/licenses/ubuntu-pro-1804-lts
Ubuntu Pro 20.04 LTS https://www.googleapis.com/compute/v1/projects/ubuntu-os-pro-cloud/global/licenses/ubuntu-pro-2004-lts
Ubuntu Pro 22.04 LTS https://www.googleapis.com/compute/v1/projects/ubuntu-os-pro-cloud/global/licenses/ubuntu-pro-2204-lts
Ubuntu Pro 24.04 LTS https://www.googleapis.com/compute/v1/projects/ubuntu-os-pro-cloud/global/licenses/ubuntu-pro-2404-lts

Valide a licença

Valide a licença do Ubuntu Pro através do seguinte procedimento:

  1. Execute o comando gcloud compute disks describe para obter informações sobre o disco de arranque:

    gcloud compute disks describe DISK_NAME \
       --zone=ZONE
    

    Substitua o seguinte:

    • DISK_NAME: o nome do disco de arranque para validar a licença

    • ZONE: a zona que contém o disco de arranque para validar a licença de

  2. Valide um resultado semelhante ao seguinte:

    creationTimestamp: '2021-10-20T17:20:26.616-07:00'
    guestOsFeatures:
    - type: VIRTIO_SCSI_MULTIQUEUE
    - type: SEV_CAPABLE
    - type: UEFI_COMPATIBLE
    - type: GVNIC
    id: '7008232787326864549'
    kind: compute#disk
    labelFingerprint: 42WmSpB8rSM=
    lastAttachTimestamp: '2021-10-20T17:20:26.617-07:00'
    licenseCodes:
    - '1000201'
    - '8045211386737108299'
    licenses:
    - https://www.googleapis.com/compute/v1/projects/ubuntu-os-cloud/global/licenses/ubuntu-1604-xenial
    - https://www.googleapis.com/compute/v1/projects/ubuntu-os-pro-cloud/global/licenses/ubuntu-pro-1604-lts
    name: ubuntu
    physicalBlockSizeBytes: '4096'
    selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/disks/DISK_NAME
    sizeGb: '10'
    sourceImage: https://www.googleapis.com/compute/v1/projects/IMAGE_PROJECT/global/images/IMAGE
    sourceImageId: '1233998915439563944'
    status: READY
    type: https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/diskTypes/DISK_TYPE
    users:
    - https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/VM_NAME
    zone: https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE
    
  3. Valide se a licença do Ubuntu Pro foi adicionada ao disco de arranque verificando o resultado do passo anterior no campo licenses para a string de licença adequada.

    Se o campo licenses não contiver a string de licença pretendida, pode ter de limpar e atualizar as licenças. Para mais informações, consulte o comando gcloud compute disks update.

  4. Inicie a VM com o comando gcloud compute instances start:

    gcloud compute instances start VM_NAME \
       --zone=ZONE \
       [--csek-key-file ENCRYPTION_KEY]
    

    Substitua o seguinte:

    • VM_NAME: o nome da VM a iniciar

    • ZONE: a zona que contém a VM a iniciar

    • ENCRYPTION_KEY: Opcional: especifica o caminho para o ficheiro da chave de encriptação fornecida pelo cliente (CSEK) se o disco de arranque estiver encriptado

  5. Depois de arrancar a VM, execute o comando gcloud compute ssh para verificar se o Ubuntu ESM tem autorização e está ativado:

    gcloud compute ssh VM_NAME --command "sudo ua status --wait" \
       --zone=ZONE
    

    Substitua o seguinte:

    • VM_NAME: o nome da VM a validar

    • ZONE: a zona que contém a VM a validar

  6. Verifique se o Ubuntu ESM tem direitos e está ativado, confirmando se o resultado é semelhante ao seguinte:

    SERVICE       ENTITLED  STATUS    DESCRIPTION
    cis           yes       disabled  Center for Internet Security Audit Tools
    esm-apps      yes       enabled   UA Apps: Extended Security Maintenance (ESM)
    esm-infra     yes       enabled   UA Infra: Extended Security Maintenance (ESM)
    fips          yes       n/a       NIST-certified core packages
    fips-updates  yes       n/a       NIST-certified core packages with priority security updates
    livepatch     yes       n/a       Canonical Livepatch service
    

Veja registos de atividade

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 seu projeto.

  5. Clique em Executar consulta.