Esegui l'upgrade da Ubuntu a Ubuntu Pro


Quando un'immagine Ubuntu LTS raggiunge la fine del suo ciclo di vita, non viene più supportata e non riceverà aggiornamenti della sicurezza. Con l'upgrade a Ubuntu Pro, continuerai a ricevere gli aggiornamenti della sicurezza per la durata del servizio Extended Security Maintenance (ESM).

Questo documento mostra come fare l'upgrade da Ubuntu a Ubuntu Pro intraprendendo per ogni VM le azioni riportate di seguito:

  1. Installazione di aggiornamenti e dipendenze
  2. Aggiunta della licenza Ubuntu Pro
  3. Convalida della licenza

Percorsi di upgrade supportati

La tabella seguente mostra i percorsi di upgrade supportati:

Versione iniziale Versione finale
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

Limitazioni

  • Devi arrestare una VM prima di aggiungere una licenza.

  • Puoi fare l'upgrade da Ubuntu LTS a Ubuntu Pro LTS solo se si tratta della stessa versione. Ad esempio, puoi fare l'upgrade da Ubuntu 16.04 LTS a Ubuntu Pro 16.04 LTS, ma non da Ubuntu 16.04 LTS a Ubuntu Pro 20.04 LTS.

Fatturazione

La fatturazione di Ubuntu Pro LTS avviene in base ai prezzi delle immagini premium.

Per ulteriori informazioni sulla fatturazione, consulta Fatturazione Cloud.

Prima di iniziare

  • Esegui i seguenti comandi su ogni VM, sostituendo VM_NAME con il nome della VM di cui desideri fare l'upgrade:

    1. Aggiorna l'indice dei pacchetti utilizzando il seguente comando:
      gcloud compute ssh VM_NAME --command "sudo apt update"
    2. Installa la versione più recente dei pacchetti utilizzando il seguente comando:
      gcloud compute ssh VM_NAME --command "sudo apt -f upgrade"
    3. Installa Ubuntu Pro utilizzando il seguente comando:
      gcloud compute ssh VM_NAME --command "sudo apt -f install ubuntu-advantage-pro"
  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è il processo mediante il quale la tua identità viene verificata per l'accesso a servizi e API di Google Cloud . Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:

    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. After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      2. Set a default region and zone.

Aggiungi la licenza

Aggiungi la licenza Ubuntu Pro seguendo la procedura riportata di seguito:

  1. Arresta la VM utilizzando il comando gcloud compute instances stop:

    gcloud compute instances stop VM_NAME \
       --zone=ZONE
    

    Sostituisci quanto segue:

    • VM_NAME: il nome della VM da arrestare
    • ZONE: la zona contenente la VM da arrestare
  2. Ottieni l'elenco dei dischi associati alla VM utilizzando il comando gcloud compute instances describe:

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

    Sostituisci quanto segue:

    • VM_NAME: il nome della VM da cui recuperare l'elenco dei dischi associati

    • ZONE: la zona contenente la VM da cui recuperare l'elenco di dischi associati

  3. Verifica che l'output sia simile al seguente:

    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
    

    Tieni presente che non è stato aggiunto alcun userLicenses.

  4. Recupera il nome del disco di avvio eseguendo il comando gcloud compute disks list:

    gcloud compute disks list
    
  5. Aggiorna il disco di avvio con l'URI della licenza Ubuntu Pro utilizzando il comando gcloud beta compute disks update:

    gcloud beta compute disks update BOOT_DISK_NAME \
       --zone=ZONE \
       --update-user-licenses="LICENSE_URI"
    

    Sostituisci quanto segue:

    • BOOT_DISK_NAME: il nome del disco di avvio a cui aggiungere la licenza.

    • ZONE: la zona contenente il disco di avvio a cui aggiungere la licenza.

    • LICENSE_URI: l'URI della licenza per la versione di Ubuntu Pro per cui stai facendo l'upgrade. La tabella seguente mostra l'URI della licenza per le versioni supportate di Ubuntu Pro:

      Versione di Ubuntu Pro URI della licenza
      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

Convalida la licenza

Convalida la licenza Ubuntu Pro seguendo la procedura riportata di seguito:

  1. Per informazioni sul disco di avvio, esegui il comando gcloud beta compute disks describe:

    gcloud beta compute disks describe BOOT_DISK_NAME \
       --zone=ZONE
    

    Sostituisci quanto segue:

    • BOOT_DISK_NAME: il nome del disco di avvio di cui desideri verificare la licenza

    • ZONE: la zona contenente il disco di avvio di cui desideri verificare la licenza

  2. Verifica che l'output sia simile al seguente:

    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
    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
    userLicenses:
    - https://www.googleapis.com/compute/v1/projects/ubuntu-os-pro-cloud/global/licenses/ubuntu-pro-1604-lts
    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. Verifica che la licenza Ubuntu Pro sia stata aggiunta al disco di avvio controllando il campo userLicenses della stringa della licenza appropriata nell'output del passaggio precedente.

    Se il campo userLicenses non contiene la stringa della licenza prevista, potrebbe essere necessario eliminare e aggiornare le licenze utente. Per ulteriori informazioni, consulta comando gcloud beta compute disks update.

  4. Avvia la VM utilizzando il comando gcloud compute instances start:

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

    Sostituisci quanto segue:

    • VM_NAME: il nome della VM da avviare

    • ZONE: la zona contenente la VM da avviare

    • ENCRYPTION_KEY: un flag facoltativo che specifica il percorso del file della chiave di crittografia fornita dal cliente (CSEK) nel caso in cui il disco di avvio è criptato

  5. Dopo l'avvio della VM, esegui il comando gcloud compute ssh per verificare che Ubuntu ESM goda dei diritti necessari e sia stato abilitato:

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

    Sostituisci quanto segue:

    • VM_NAME: il nome della VM da verificare

    • ZONE: la zona contenente la VM da verificare

  6. Verifica che Ubuntu ESM sia autorizzato e abilitato controllando che l'output sia simile al seguente:

    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
    

Visualizza log delle attività

Visualizza la cronologia degli aggiornamenti delle licenze per le VM presenti in un progetto utilizzando la seguente procedura:

  1. Nella console Google Cloud , vai alla pagina Esplora log.

    Vai a Esplora log

  2. Nella barra degli strumenti, assicurati che l'opzione Mostra query sia attivata.

  3. Copia la seguente espressione nell'Editor di query:

    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.userLicenses:*
    

    Sostituisci PROJECT_NAME con il nome del progetto.

  4. Fai clic su Esegui query.