Passer d'Ubuntu à Ubuntu Pro


Lorsqu'une image Ubuntu LTS arrive en fin de vie, elle n'est plus compatible et ne reçoit plus de mises à jour de sécurité. Si vous passez à Ubuntu Pro, vous continuerez à recevoir des mises à jour de sécurité pendant la période de maintenance de sécurité étendue (ESM).

Ce document explique comment passer d'Ubuntu à Ubuntu Pro en procédant comme suit pour chaque VM :

  1. Installez les mises à jour et les dépendances.
  2. Remplacez la licence Ubuntu par la licence Ubuntu Pro.
  3. Validez la licence.

Chemins de mise à niveau compatibles

Le tableau suivant indique les chemins de mise à niveau compatibles :

Version initiale Version 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

Limites

  • Vous devez arrêter une VM avant de remplacer une licence.

  • Vous ne pouvez passer d'Ubuntu LTS à Ubuntu Pro LTS que s'il s'agit de la même version. Par exemple, vous pouvez passer d'Ubuntu 16.04 LTS à Ubuntu Pro 16.04 LTS, mais ne pouvez pas passer d'Ubuntu 16.04 LTS à Ubuntu Pro 20.04 LTS.

Facturation

Ubuntu Pro LTS vous est facturé conformément aux tarifs des images payantes.

Pour en savoir plus sur la facturation, consultez la page Cloud Billing.

Avant de commencer

  • Exécutez les commandes suivantes sur chaque VM en remplaçant VM_NAME par le nom de la VM à mettre à niveau :

    1. Mettez à jour l'index du package à l'aide de la commande suivante :
      gcloud compute ssh VM_NAME --command "sudo apt update"
    2. Installez la dernière version des packages à l'aide de la commande suivante :
      gcloud compute ssh VM_NAME --command "sudo apt -f upgrade"
    3. Installez Ubuntu Pro à l'aide de la commande suivante :
      gcloud compute ssh VM_NAME --command "sudo apt -f install ubuntu-advantage-pro"
  • Si ce n'est pas déjà fait, configurez l'authentification. L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud . Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine en sélectionnant l'une des options suivantes :

    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.

Remplacer la licence

Remplacez la licence Ubuntu par la licence Ubuntu Pro en procédant comme suit :

  1. Arrêtez la VM à l'aide de la commande gcloud compute instances stop :

    gcloud compute instances stop VM_NAME \
       --zone=ZONE
    

    Remplacez les éléments suivants :

    • VM_NAME : nom de la VM à arrêter.
    • ZONE : zone contenant la VM à arrêter.
  2. Obtenez la liste des disques associés à la VM à l'aide de la commande gcloud compute instances describe :

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

    Remplacez les éléments suivants :

    • VM_NAME : nom de la VM à partir de laquelle obtenir la liste des disques associés

    • ZONE : zone contenant la VM à partir de laquelle obtenir la liste des disques associés

  3. Vérifiez que le résultat ressemble à ceci :

    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
    

    Notez qu'aucun élément Licenses n'a été remplacé.

  4. Obtenez le nom du disque de démarrage en exécutant la commande gcloud compute disks list suivante :

    gcloud compute disks list
    
  5. Mettez à jour le disque de démarrage avec l'URI de licence Ubuntu Pro à l'aide de la commande gcloud compute disks update :

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

    Remplacez les éléments suivants :

    • DISK_NAME : nom du disque de démarrage dont vous souhaitez remplacer la licence.

    • ZONE : zone contenant le disque de démarrage dont vous souhaitez remplacer la licence.

    • PREVIOUS_LICENSE : URI de licence pour la version Ubuntu

    • NEW_LICENSE : nouvel URI de licence Ubuntu Pro.

    Le tableau suivant indique l'URI de licence pour les versions compatibles d'Ubuntu Pro :

Version d'Ubuntu Pro URI de licence
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

Valider la licence

Validez la licence Ubuntu Pro en procédant comme suit :

  1. Obtenez des informations sur le disque de démarrage en exécutant la commande gcloud compute disks describe :

    gcloud compute disks describe DISK_NAME \
       --zone=ZONE
    

    Remplacez les éléments suivants :

    • DISK_NAME : nom du disque de démarrage dont vous souhaitez valider la licence

    • ZONE : zone contenant le disque de démarrage dont vous souhaitez valider la licence

  2. Vérifiez que le résultat ressemble à ceci :

    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. Vérifiez que la licence Ubuntu Pro est ajoutée au disque de démarrage en vérifiant la sortie de l'étape précédente du champ licenses pour la chaîne de licence appropriée.

    Si le champ licenses ne contient pas la chaîne de licence prévue, vous devrez peut-être effacer les licences, puis les mettre à jour. Pour en savoir plus sur cette commande, consultez la section gcloud compute disks update.

  4. Arrêtez la VM à l'aide de la commande gcloud compute instances start :

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

    Remplacez les éléments suivants :

    • VM_NAME : nom de la VM à démarrer.

    • ZONE : zone contenant la VM à démarrer.

    • ENCRYPTION_KEY : facultatif, spécifie le chemin d'accès au fichier de clé de chiffrement fournie par le client (CSEK, Customer-Supplied Encryption Key) si le disque de démarrage est chiffré

  5. Une fois la VM démarrée, exécutez la commande gcloud compute ssh pour vérifier qu'Ubuntu ESM est autorisé et activé :

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

    Remplacez les éléments suivants :

    • VM_NAME : nom de la VM à vérifier

    • ZONE : zone contenant la VM à vérifier

  6. Vérifiez qu'Ubuntu ESM est autorisé et activé et que le résultat ressemble à ceci :

    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
    

Afficher les journaux d'activité

Pour afficher l'historique des mises à jour des licences des VM d'un projet, procédez comme suit :

  1. Dans la console Google Cloud , accédez à la page Explorateur de journaux.

    Accéder à l'explorateur de journaux

  2. Dans la barre d'outils, vérifiez que l'option Afficher la requête est activée.

  3. Copiez l'expression suivante dans l'éditeur de requête :

    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. Remplacez PROJECT_NAME par le nom de votre projet.

  5. Cliquez sur Exécuter la requête.