En ocasiones, Compute Engine no puede registrar automáticamente las licencias de Ubuntu Pro de PAYG. En este documento, se describe cómo resolver problemas que puedes encontrar cuando registras instancias de máquina virtual (VM) de Compute Engine que ejecutan licencias de Ubuntu de pago por uso (PAYG).
Comprobar el estado del registro
Para verificar si tu licencia está registrada, conéctate a la VM y ejecuta el siguiente comando:
sudo ua status
Si el registro se realizó correctamente, verás un resultado similar al siguiente y no se requiere ninguna acción adicional:
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 el registro falló y Ubuntu Pro no está registrado, verás un mensaje similar al siguiente:
This machine is not attached to an Ubuntu Pro subscription.
Registra la licencia de forma manual
Si Compute Engine no pudo registrar automáticamente tu licencia de Ubuntu Pro, puedes registrarla de forma manual ejecutando el siguiente comando:
sudo pro auto-attach
El resultado es similar a este:
Registro correcto:
This machine is already attached to PROJECT_ID To use a different subscription first run: sudo pro detach.
Error de registro:
Internal Server Error
Soluciona problemas de registro de licencias
Si no pudiste registrar manualmente una licencia de Ubuntu Pro, resuelve el problema de la siguiente manera:
Para verificar que la VM pueda acceder al servidor de metadatos, ejecuta el siguiente comando para comprobar la cantidad de discos conectados a la VM:
curl "http://metadata.google.internal/computeMetadata/v1/instance/disks/" -H "Metadata-Flavor: Google"
El resultado es similar al siguiente, que muestra la cantidad de discos conectados a la VM:
0/ 1/ 2/
Si el resultado no muestra la cantidad de discos conectados a la VM, consulta Soluciona problemas de acceso al servidor de metadatos.
Ejecuta el siguiente comando para verificar que el agente invitado de Google se esté ejecutando:
systemctl status google-guest-agent.service
El resultado es similar a este:
● 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 el agente invitado no está instalado o falló, instala o reinstala el entorno invitado.
Para verificar que una cuenta de servicio esté conectada a la VM, ejecuta el siguiente comando desde tu estación de trabajo local:
gcloud compute instances describe VM_NAME \ --zone ZONE --format="table(serviceAccounts.email)"
Reemplaza lo siguiente:
VM_NAME
: El nombre de la VMZONE
: La zona donde se ubica la VM.
El resultado es similar a este:
EMAIL: ['XXXXXXXX-compute@developer.gserviceaccount.com']
Toma nota del correo electrónico de la cuenta de servicio.
Para verificar si la cuenta de servicio está habilitada, ejecuta la siguiente consulta:
gcloud logging read --freshness=90d "SERVICE_ACCOUNT_EMAIL protoPayload.methodName=google.iam.admin.v1.DisableServiceAccount"
Reemplaza
SERVICE_ACCOUNT_EMAIL
por la dirección de correo electrónico asociada a la cuenta de servicio de la VM.El resultado es similar a este:
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 la cuenta de servicio no está habilitada, vuelve a habilitarla.
Después de volver a habilitar la cuenta de servicio, intenta registrar la licencia siguiendo las instrucciones de la sección Cómo registrar la licencia de forma manual de este documento.