Memecahkan Masalah Pendaftaran Ubuntu Pro


Terkadang, Compute Engine gagal mendaftarkan lisensi PAYG Ubuntu Pro secara otomatis. Dokumen ini menjelaskan cara menyelesaikan masalah yang mungkin Anda alami saat mendaftarkan instance virtual machine (VM) Compute Engine yang menjalankan lisensi bayar sesuai penggunaan (PAYG) Ubuntu Pro.

Periksa status pendaftaran

Untuk memeriksa apakah lisensi Anda sudah terdaftar, hubungkan ke VM dan jalankan perintah berikut

sudo ua status

Jika pendaftaran berhasil, Anda akan melihat output yang mirip dengan berikut ini dan tidak ada tindakan lebih lanjut yang diperlukan:

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

Jika pendaftaran gagal dan Ubuntu Pro tidak terdaftar, Anda akan melihat pesan yang mirip dengan berikut ini:

This machine is not attached to an Ubuntu Pro subscription.

Daftarkan lisensi secara manual

Jika Compute Engine gagal mendaftarkan lisensi Ubuntu pro secara otomatis, Anda dapat mendaftarkan lisensi tersebut secara manual dengan menjalankan perintah berikut:

sudo pro auto-attach

Outputnya mirip dengan hal berikut ini:

  • Pendaftaran berhasil:

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

    Internal Server Error
    

Memecahkan masalah pendaftaran lisensi

Jika Anda tidak dapat mendaftarkan lisensi Ubuntu Pro secara manual, selesaikan masalah ini dengan melakukan langkah berikut:

  1. Pastikan bahwa VM dapat menjangkau server metadata dengan menjalankan perintah berikut untuk memeriksa jumlah disk yang terpasang ke VM:

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

    Outputnya mirip dengan berikut ini, yang menunjukkan jumlah disk yang terpasang ke VM:

    0/
    1/
    2/
    

    Jika output tidak menampilkan jumlah disk yang terpasang ke VM, lihat Memecahkan masalah akses server metadata.

  2. Pastikan agen tamu Google berjalan dengan menjalankan perintah berikut:

    systemctl status google-guest-agent.service
    

    Outputnya mirip dengan hal berikut ini:

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

    Jika agen tamu tidak diinstal atau gagal, instal atau instal ulang lingkungan tamu.

  3. Pastikan Akun layanan terhubung ke VM dengan menjalankan perintah berikut dari workstation lokal Anda:

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

    Ganti kode berikut:

    • VM_NAME: nama VM
    • ZONE: zona tempat VM berada

    Outputnya mirip dengan hal berikut ini:

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

    Catat email akun layanan.

  4. Periksa apakah akun layanan diaktifkan dengan menjalankan kueri berikut:

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

    Ganti SERVICE_ACCOUNT_EMAIL dengan alamat email yang terkait dengan akun layanan VM.

    Outputnya mirip dengan hal berikut ini:

    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'
    

    Jika akun layanan tidak diaktifkan, aktifkan kembali.

Setelah Anda mengaktifkan kembali akun layanan, coba daftarkan lisensi dengan mengikuti petunjuk di bagian daftar lisensi secara manual dalam dokumen ini.