Il arrive parfois que Compute Engine ne parvienne pas à enregistrer automatiquement les licences PAYG Ubuntu Pro. Ce document explique comment résoudre les problèmes que vous pouvez rencontrer lors de l'enregistrement d'instances de machines virtuelles (VM) Compute Engine exécutant des licences Ubuntu Pro avec paiement à l'usage (PAYG).
Vérifier l'état de l'enregistrement
Pour vérifier si votre licence est enregistrée, connectez-vous à la VM et exécutez la commande suivante :
sudo ua status
Si l'enregistrement a réussi, un résultat semblable à ce qui suit s'affiche, et aucune autre action n'est requise :
SERVICE ENTITLED STATUS DESCRIPTION cc-eal yes disabled Common Criteria EAL2 Provisioning Packages cis yes disabled Security compliance and audit tools esm-apps yes enabled Expanded Security Maintenance for Applications esm-infra yes enabled Expanded Security Maintenance for Infrastructure fips yes disabled NIST-certified core packages fips-updates yes disabled NIST-certified core packages with priority security updates livepatch yes enabled Canonical Livepatch service
Si l'enregistrement a échoué et qu'Ubuntu Pro n'est pas enregistré, un message semblable à celui-ci s'affiche :
This machine is not attached to an Ubuntu Pro subscription.
Enregistrer manuellement une licence
Si Compute Engine n'a pas réussi à enregistrer automatiquement votre licence Ubuntu Pro, vous pouvez l'enregistrer manuellement en exécutant la commande suivante :
sudo pro auto-attach
Le résultat ressemble à ce qui suit :
Enregistrement réussi :
This machine is already attached to PROJECT_ID To use a different subscription first run: sudo pro detach.
Échec de l'enregistrement :
Internal Server Error
Résoudre les problèmes d'enregistrement des licences
Si vous ne parvenez pas à enregistrer manuellement une licence Ubuntu Pro, résolvez le problème en procédant comme suit :
Vérifiez que la VM peut accéder au serveur de métadonnées en exécutant la commande suivante pour vérifier le nombre de disques associés à la VM :
curl "http://metadata.google.internal/computeMetadata/v1/instance/disks/" -H "Metadata-Flavor: Google"
Le résultat ressemble à ce qui suit, indiquant le nombre de disques associés à la VM :
0/ 1/ 2/
Si le résultat n'affiche pas le nombre de disques associés à la VM, consultez la section Résoudre les problèmes d'accès au serveur de métadonnées.
Vérifiez que l'agent invité Google est en cours d'exécution en exécutant la commande suivante :
systemctl status google-guest-agent.service
Le résultat ressemble à ce qui suit :
● google-guest-agent.service - Google Compute Engine Guest Agent Loaded: loaded (/lib/systemd/system/google-guest-agent.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2023-04-20 16:35:11 PDT; 2h 12min ago Main PID: 4582 (google_guest_ag) Tasks: 10 (limit: 9525)
Si l'agent invité n'est pas installé ou a échoué, installez ou réinstallez l'environnement invité.
Vérifiez qu'un compte de service est associé à la VM en exécutant la commande suivante à partir de votre poste de travail local :
gcloud compute instances describe VM_NAME \ --zone ZONE --format="table(serviceAccounts.email)"
Remplacez les éléments suivants :
VM_NAME
: nom de la VMZONE
: zone où se trouve la VM
Le résultat ressemble à ce qui suit :
EMAIL: ['XXXXXXXX-compute@developer.gserviceaccount.com']
Notez l'adresse e-mail du compte de service.
Vérifiez si le compte de service est activé en exécutant la requête suivante :
gcloud logging read --freshness=90d "SERVICE_ACCOUNT_EMAIL protoPayload.methodName=google.iam.admin.v1.DisableServiceAccount"
Remplacez
SERVICE_ACCOUNT_EMAIL
par l'adresse e-mail associée au compte de service de la VM.Le résultat ressemble à ce qui suit :
insertId: 1ne5thkf13sxec logName: projects/testproject/logs/cloudaudit.googleapis.com%2Factivity protoPayload: '@type': type.googleapis.com/google.cloud.audit.AuditLog authenticationInfo: principalEmail: principalemail@google.com principalSubject: user:pricipalemail@google.com authorizationInfo: granted: true permission: iam.serviceAccounts.disable resource: projects/-/serviceAccounts/XXXXXXXXXXXXXX resourceAttributes: name: projects/-/serviceAccounts/XXXXXXXXXXXXXXXX methodName: google.iam.admin.v1.DisableServiceAccount request: '@type': type.googleapis.com/google.iam.admin.v1.DisableServiceAccountRequest name: projects/testproject/serviceAccounts/
-compute@developer.gserviceaccount.com requestMetadata: destinationAttributes: {} requestAttributes: auth: {} time: '2024-01-25T21:37:55.748811275Z' resourceName: projects/-/serviceAccounts/XXXXXXXXXX response: '@type': type.googleapis.com/google.protobuf.Empty serviceName: iam.googleapis.com status: {} receiveTimestamp: '2024-01-25T21:37:56.409675900Z' resource: labels: email_id: -compute@developer.gserviceaccount.com project_id: testproject unique_id: 'XXXXXXXXXXXXXXXX' type: service_account severity: NOTICE timestamp: '2024-01-25T21:37:55.721215307Z' Si le compte de service n'est pas activé, réactivez-le.
Après avoir réactivé le compte de service, essayez d'enregistrer la licence en suivant les instructions de la section Enregistrer manuellement la licence de ce document.