Actualizar de Ubuntu a Ubuntu Pro


Cuando una imagen de Ubuntu LTS llega al final de su ciclo de vida, deja de ser compatible y no recibe actualizaciones de seguridad. Si actualizas a Ubuntu Pro, seguirás recibiendo actualizaciones de seguridad durante el mantenimiento de seguridad ampliado (ESM).

En este documento se explica cómo actualizar de Ubuntu a Ubuntu Pro haciendo lo siguiente en cada máquina virtual:

  1. Instala las actualizaciones y las dependencias.
  2. Sustituye la licencia de Ubuntu por la de Ubuntu Pro.
  3. Valida la licencia.

Rutas de actualización admitidas

En la siguiente tabla se muestran las rutas de actualización admitidas:

Versión inicial Versión 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

Limitaciones

  • Debes detener una VM antes de sustituir una licencia.

  • Solo puedes actualizar de Ubuntu LTS a Ubuntu Pro LTS si son la misma versión. Por ejemplo, puedes actualizar de Ubuntu 16.04 LTS a Ubuntu Pro 16.04 LTS, pero no de Ubuntu 16.04 LTS a Ubuntu Pro 20.04 LTS.

Facturación

Se te facturará Ubuntu Pro LTS según los precios de las imágenes premium.

Para obtener más información sobre la facturación, consulta Facturación de Cloud.

Antes de empezar

  • Ejecuta los siguientes comandos en cada máquina virtual y sustituye VM_NAME por el nombre de la máquina virtual que quieras actualizar:

    1. Actualiza el índice de paquetes con el siguiente comando:
      gcloud compute ssh VM_NAME --command "sudo apt update"
    2. Instala la versión más reciente de los paquetes con el siguiente comando:
      gcloud compute ssh VM_NAME --command "sudo apt -f upgrade"
    3. Instala Ubuntu Pro con el siguiente comando:
      gcloud compute ssh VM_NAME --command "sudo apt -f install ubuntu-advantage-pro"
  • Si aún no lo has hecho, configura la autenticación. La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o ejemplos desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:

    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. Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:

      gcloud init

      Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

    2. Set a default region and zone.

Sustituir la licencia

Sustituye la licencia de Ubuntu por la de Ubuntu Pro siguiendo este procedimiento:

  1. Detén la VM con el comando gcloud compute instances stop:

    gcloud compute instances stop VM_NAME \
       --zone=ZONE
    

    Haz los cambios siguientes:

    • VM_NAME: el nombre de la VM que se va a detener
    • ZONE: la zona que contiene la VM que se va a detener
  2. Para obtener la lista de discos asociados a la VM, usa el comando gcloud compute instances describe:

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

    Haz los cambios siguientes:

    • VM_NAME: nombre de la VM de la que se va a obtener la lista de discos asociados

    • ZONE: la zona que contiene la VM de la que se va a obtener la lista de discos asociados

  3. Verifica que el resultado sea similar al siguiente:

    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
    

    Ten en cuenta que no se ha sustituido ningún Licenses.

  4. Para obtener el nombre del disco de arranque, ejecuta el comando gcloud compute disks list:

    gcloud compute disks list
    
  5. Actualiza el disco de arranque con el URI de la licencia de Ubuntu Pro mediante el comando gcloud compute disks update:

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

    Haz los cambios siguientes:

    • DISK_NAME: el nombre del disco de arranque al que se va a sustituir la licencia.

    • ZONE: la zona que contiene el disco de arranque para sustituir la licencia.

    • PREVIOUS_LICENSE: el URI de la licencia de la versión de Ubuntu

    • NEW_LICENSE: el nuevo URI de la licencia de Ubuntu Pro.

    En la siguiente tabla se muestra el URI de licencia de las versiones compatibles de Ubuntu Pro:

Versión de Ubuntu Pro URI de la licencia
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

Validar la licencia

Valida la licencia de Ubuntu Pro siguiendo este procedimiento:

  1. Para obtener información sobre el disco de arranque, ejecuta el comando gcloud compute disks describe:

    gcloud compute disks describe DISK_NAME \
       --zone=ZONE
    

    Haz los cambios siguientes:

    • DISK_NAME: el nombre del disco de arranque para validar la licencia.

    • ZONE: la zona que contiene el disco de arranque para validar la licencia.

  2. Verifica que el resultado sea similar al siguiente:

    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. Valida que la licencia de Ubuntu Pro se ha añadido al disco de arranque comprobando el resultado del paso anterior en el campo licenses de la cadena de licencia adecuada.

    Si el campo licenses no contiene la cadena de licencia que quieres, puede que tengas que borrar y actualizar las licencias. Para obtener más información, consulta el comando gcloud compute disks update.

  4. Inicia la VM con el comando gcloud compute instances start:

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

    Haz los cambios siguientes:

    • VM_NAME: el nombre de la VM que se va a iniciar

    • ZONE: la zona que contiene la VM que se va a iniciar

    • ENCRYPTION_KEY: opcional. Especifica la ruta al archivo de la clave de cifrado proporcionada por el cliente (CSEK) si el disco de arranque está cifrado.

  5. Una vez que se haya iniciado la VM, ejecuta el comando gcloud compute ssh para verificar que Ubuntu ESM tiene derechos y está habilitado:

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

    Haz los cambios siguientes:

    • VM_NAME: el nombre de la VM que se va a verificar

    • ZONE: la zona que contiene la VM que se va a verificar

  6. Comprueba que Ubuntu ESM tiene derechos y está habilitado verificando que el resultado sea similar al siguiente:

    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
    

Ver registros de actividad

Para ver el historial de actualizaciones de licencias de las VMs de un proyecto, sigue este procedimiento:

  1. En la Google Cloud consola, ve a la página Explorador de registros.

    Ir a Explorador de registros

  2. En la barra de herramientas, comprueba que la opción Mostrar consulta esté habilitada.

  3. Copia la siguiente expresión en el 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. Sustituye PROJECT_NAME por el nombre de tu proyecto.

  5. Haz clic en Realizar una consulta.