Solução de problemas no registro do Ubuntu Pro


Às vezes, o Compute Engine não registra licenças do PAYG Ubuntu Pro automaticamente. Neste documento, descrevemos como resolver problemas ao registrar instâncias de máquina virtual (VM) do Compute Engine que executam licenças do Ubuntu Pro com pagamento por uso (PAYG, na sigla em inglês).

Verificar status do registro

Para verificar se a licença está registrada, conecte-se à VM e execute o seguinte comando:

sudo ua status

Se o registro for bem-sucedido, você verá uma saída semelhante a esta, e nenhuma outra ação será necessária:

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 registro falhar e o Ubuntu Pro não estiver registrado, você verá uma mensagem semelhante a esta:

This machine is not attached to an Ubuntu Pro subscription.

Registrar licença manualmente

Se o Compute Engine falhar ao registrar automaticamente sua licença do Ubuntu Pro, registre-a manualmente executando o seguinte comando:

sudo pro auto-attach

O resultado será assim:

  • Registro realizado:

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

    Internal Server Error
    

Resolver problemas com o registro de licenças

Se não foi possível registrar manualmente uma licença do Ubuntu Pro, resolva o problema fazendo o seguinte:

  1. Para verificar se a VM pode acessar o servidor de metadados, executando o comando a seguir para verificar o número de discos anexados a ela:

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

    A saída é semelhante à seguinte, que mostra o número de discos anexados à VM:

    0/
    1/
    2/
    

    Se a saída não mostrar o número de discos anexados à VM, consulte Solução de problemas de acesso ao servidor de metadados.

  2. Para verificar se o agente convidado do Google está em execução, execute o seguinte comando:

    systemctl status google-guest-agent.service
    

    O resultado será assim:

    ● 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 para convidado.

  3. Verifique se a conta de serviço está anexada à 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:

    • VM_NAME: o nome da VM
    • ZONE: é a zona em que a VM está localizada

    O resultado será assim:

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

    Anote o e-mail 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 e-mail associado à conta de serviço da VM.

    O resultado será assim:

    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, reative-a.

Depois de reativar a conta de serviço, tente registrar a licença seguindo as instruções na seção Registrar licença manualmente deste documento.