Resolução de problemas de registo do Ubuntu Pro

Ocasionalmente, o Compute Engine não consegue registar automaticamente as licenças do Ubuntu Pro com pagamento por utilização. Este documento descreve como resolver problemas que pode encontrar ao registar instâncias de máquinas virtuais (VMs) do Compute Engine com licenças Ubuntu Pro de pagamento conforme o uso (PAYG).

Verificar estado do registo

Para verificar se a sua licença está registada, estabeleça ligação à VM e execute o seguinte comando:

sudo ua status

Se o registo for bem-sucedido, vê um resultado semelhante ao seguinte e não é necessária nenhuma ação 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

Se o registo falhar e o Ubuntu Pro não estiver registado, é apresentada uma mensagem semelhante à seguinte:

This machine is not attached to an Ubuntu Pro subscription.

Registe manualmente a licença

Se o Compute Engine não conseguiu registar automaticamente a sua licença do Ubuntu Pro, pode registar manualmente a licença executando o seguinte comando:

sudo pro auto-attach

O resultado é semelhante ao seguinte:

  • Registo bem-sucedido:

    This machine is already attached to PROJECT_ID
    To use a different subscription first run: sudo pro detach.
    
  • Falha no registo:

    Internal Server Error
    

Resolva problemas de registo de licenças

Se não conseguiu registar manualmente uma licença do Ubuntu Pro, resolva o problema fazendo o seguinte:

  1. Valide se a VM consegue alcançar o servidor de metadados executando o seguinte comando para verificar o número de discos anexados à VM:

    curl "http://metadata.google.internal/computeMetadata/v1/instance/disks/" -H "Metadata-Flavor: Google"
    

    O resultado é semelhante ao seguinte, que mostra o número de discos anexados à VM:

    0/
    1/
    2/
    

    Se o resultado não mostrar o número de discos associados à VM, consulte o artigo Resolução de problemas de acesso ao servidor de metadados.

  2. Valide se o agente convidado da Google está em execução através do seguinte comando:

    systemctl status google-guest-agent.service
    

    O resultado é semelhante ao seguinte:

    ● 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)
    

    Se o agente convidado não estiver instalado ou tiver falhado, instale ou reinstale o ambiente convidado.

  3. Verifique se existe uma conta de serviço associada à VM executando o seguinte comando na sua estação de trabalho local:

    gcloud compute instances describe VM_NAME \
       --zone ZONE --format="table(serviceAccounts.email)"
    

    Substitua o seguinte:

    • VM_NAME: o nome da VM
    • ZONE: a zona onde a VM está localizada

    O resultado é semelhante ao seguinte:

    EMAIL: ['XXXXXXXX-compute@developer.gserviceaccount.com']
    

    Tome nota do email da conta de serviço.

  4. Verifique se a conta de serviço está ativada executando a seguinte consulta:

    gcloud logging read --freshness=90d "SERVICE_ACCOUNT_EMAIL protoPayload.methodName=google.iam.admin.v1.DisableServiceAccount"
    

    Substitua SERVICE_ACCOUNT_EMAIL pelo endereço de email associado à conta de serviço da VM.

    O resultado é semelhante ao seguinte:

    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'
    

    Se a conta de serviço não estiver ativada, ative-a novamente.

Depois de reativar a conta de serviço, tente registar a licença seguindo as instruções na secção Registar licença manualmente deste documento.