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 ライセンスを手動で登録できない場合は、次の手順で問題を解決します。
次のコマンドを実行して VM にアタッチされているディスクの数を確認することで、VM がメタデータ サーバーにアクセスできることを確認します。
curl "http://metadata.google.internal/computeMetadata/v1/instance/disks/" -H "Metadata-Flavor: Google"
出力は次のようになります。これは、VM にアタッチされているディスクの数を示しています。
0/ 1/ 2/
VM にアタッチされているディスクの数が出力に表示されない場合は、メタデータ サーバーへのアクセスに関する問題のトラブルシューティングをご覧ください。
次のコマンドを実行して、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)
ゲスト エージェントがインストールされていないか、インストールに失敗した場合は、ゲスト環境をインストールまたは再インストールします。
ローカル ワークステーションから次のコマンドを実行して、サービス アカウントが VM に接続されていることを確認します。
gcloud compute instances describe VM_NAME \ --zone ZONE --format="table(serviceAccounts.email)"
次のように置き換えます。
VM_NAME
: VM の名前ZONE
: VM を配置するゾーン
出力は次のようになります。
EMAIL: ['XXXXXXXX-compute@developer.gserviceaccount.com']
サービス アカウントのメールアドレスをメモします。
次のクエリを実行して、サービス アカウントが有効かどうかを確認します。
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' サービス アカウントが有効になっていない場合は、再度有効にします。
サービス アカウントを再度有効にしたら、このドキュメントのライセンスの手動登録の手順に沿ってライセンスの登録を試します。