Ubuntu Pro の登録のトラブルシューティング


Compute Engine で PAYG Ubuntu Pro ライセンスが自動的に登録されないことがあります。このドキュメントでは、従量課金制(PAYG)Ubuntu Pro ライセンスを実行している Compute Engine 仮想マシン(VM)インスタンスの登録で発生する可能性のある問題の解決方法について説明します。

登録ステータスを確認する

ライセンスが登録されているかどうかを確認するには、VM に接続して次のコマンドを実行します。

sudo ua status

登録に成功していると、次のような出力が表示されます。これ以上操作する必要はありません。

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

登録に失敗し、Ubuntu Pro が登録されていない場合は、次のようなメッセージが表示されます。

This machine is not attached to an Ubuntu Pro subscription.

ライセンスを手動で登録する

Compute Engine が Ubuntu Pro ライセンスの自動登録に失敗した場合は、次のコマンドを実行して手動でライセンスを登録できます。

sudo pro auto-attach

出力は次のようになります。

  • 登録成功:

    This machine is already attached to PROJECT_ID
    To use a different subscription first run: sudo pro detach.
    
  • 登録失敗:

    Internal Server Error
    

ライセンス登録のトラブルシューティング

Ubuntu Pro ライセンスを手動で登録できない場合は、次の手順で問題を解決します。

  1. 次のコマンドを実行して VM にアタッチされているディスクの数を確認することで、VM がメタデータ サーバーにアクセスできることを確認します。

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

    出力は次のようになります。これは、VM にアタッチされているディスクの数を示しています。

    0/
    1/
    2/
    

    VM にアタッチされているディスクの数が出力に表示されない場合は、メタデータ サーバーへのアクセスに関する問題のトラブルシューティングをご覧ください。

  2. 次のコマンドを実行して、Google ゲスト エージェントが実行されていることを確認します。

    systemctl status google-guest-agent.service
    

    出力は次のようになります。

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

    ゲスト エージェントがインストールされていないか、インストールに失敗した場合は、ゲスト環境をインストールまたは再インストールします。

  3. ローカル ワークステーションから次のコマンドを実行して、サービス アカウントが VM に接続されていることを確認します。

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

    次のように置き換えます。

    • VM_NAME: VM の名前
    • ZONE: VM を配置するゾーン

    出力は次のようになります。

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

    サービス アカウントのメールアドレスをメモします。

  4. 次のクエリを実行して、サービス アカウントが有効かどうかを確認します。

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

    SERVICE_ACCOUNT_EMAIL は、VM のサービス アカウントに関連付けられているメールアドレスに置き換えます。

    出力は次のようになります。

    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'
    

    サービス アカウントが有効になっていない場合は、再度有効にします。

サービス アカウントを再度有効にしたら、このドキュメントのライセンスの手動登録の手順に沿ってライセンスの登録を試します。