Ubuntu から Ubuntu Pro にアップグレードする


Ubuntu LTS イメージのサポートが終了すると、サポートが終了し、セキュリティ アップデートは受信できなくなります。Ubuntu Pro にアップグレードすると、拡張セキュリティ メンテナンス(ESM)で引き続きセキュリティ アップデートを受け取ることができます。

このドキュメントでは、各 VM に対して、Ubuntu を Ubuntu Pro にアップグレードする方法について説明します。

  1. アップデートと依存関係のインストール
  2. Ubuntu Pro ライセンスの追加
  3. ライセンスの検証

サポートされているアップグレード パス

次の表に、サポートされているアップグレード パスを示します。

初期バージョン 最終バージョン
Ubuntu 16.04 LTS Ubuntu Pro 16.04 LTS
Ubuntu 18.04 LTS Ubuntu Pro 18.04 LTS
Ubuntu 20.04 LTS Ubuntu Pro 20.04 LTS

制限事項

  • ライセンスを追加する前に、VM を停止する必要があります。

  • Ubuntu LTS から Ubuntu Pro LTS にアップグレードできるのは、Ubuntu LTS と同じバージョンに限られます。たとえば、Ubuntu 16.04 LTS から Ubuntu Pro 16.04 LTS にアップグレードできますが、Ubuntu 16.04 LTS から Ubuntu Pro 20.04 LTS にアップグレードすることはできません。

課金

Ubuntu Pro LTS はプレミアム イメージの料金に従って課金されます。

課金の詳細については、Cloud Billing をご覧ください。

始める前に

  • 各 VM で次のコマンドを実行します。VM_NAME は、アップグレードする VM の名前に置き換えます。

    1. 次のコマンドを使用してパッケージ インデックスを更新します。
      gcloud compute ssh VM_NAME --command "sudo apt update"
    2. 次のコマンドを使用して、最新バージョンのパッケージをインストールします。
      gcloud compute ssh VM_NAME --command "sudo apt -f upgrade"
    3. 次のコマンドを使用して Ubuntu Pro をインストールします。
      gcloud compute ssh VM_NAME --command "sudo apt -f install ubuntu-advantage-pro"
  • まだ設定していない場合は、認証を設定します。認証とは、Google Cloud のサービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のいずれかのオプションを選択して Compute Engine に対する認証を行います。

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.

ライセンスを追加する

次の手順で Ubuntu Pro のライセンスを追加します。

  1. gcloud compute instances stop コマンドを使用して VM を停止します。

    gcloud compute instances stop VM_NAME \
       --zone=ZONE
    

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

    • VM_NAME: 停止する VM の名前
    • ZONE: 停止する VM があるゾーン
  2. gcloud compute instances describe コマンドを使用して、VM に関連付けられたディスクのリストを取得します。

    gcloud compute instances describe VM_NAME \
       --zone=ZONE \
       --format="yaml(disks)"
    

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

    • VM_NAME: 関連付けられているディスクのリストを取得する VM の名前

    • ZONE: 関連ディスクのリストを取得する VM があるゾーン

  3. 次のような内容が出力されていることを確認します。

    disks:
    - autoDelete: true
      boot: true
      deviceName: ubuntu
      diskSizeGb: '10'
      guestOsFeatures:
      - type: VIRTIO_SCSI_MULTIQUEUE
      - type: SEV_CAPABLE
      - type: UEFI_COMPATIBLE
      - type: GVNIC
      index: 0
      interface: SCSI
      kind: compute#attachedDisk
      licenses:
      - https://www.googleapis.com/compute/v1/projects/ubuntu-os-cloud/global/licenses/ubuntu-1604-xenial
      mode: READ_WRITE
      shieldedInstanceInitialState:
        dbxs:
        - content: ...
          fileType: BIN
      source: https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/disks/VM_NAME
      type: PERSISTENT
    

    userLicenses は追加されていないことに注意してください。

  4. gcloud compute disks list コマンドを実行して、ブートディスクの名前を取得します。

    gcloud compute disks list
    
  5. gcloud beta compute disks update コマンドを使用して、Ubuntu Pro ライセンス URI でブートディスクを更新します。

    gcloud beta compute disks update BOOT_DISK_NAME \
       --zone=ZONE \
       --update-user-licenses="LICENSE_URI"
    

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

    • BOOT_DISK_NAME: ライセンスを追加するブートディスクの名前。

    • ZONE: ライセンスを追加するブートディスクを含むゾーン

    • LICENSE_URI: アップグレード先の Ubuntu Pro のライセンス URI次の表に、サポートされている Ubuntu Pro バージョンのライセンス URI を示します。

      Ubuntu Pro のバージョン ライセンス URI
      Ubuntu Pro 16.04 LTS https://www.googleapis.com/compute/v1/projects/ubuntu-os-pro-cloud/global/licenses/ubuntu-pro-1604-lts
      Ubuntu Pro 18.04 LTS https://www.googleapis.com/compute/v1/projects/ubuntu-os-pro-cloud/global/licenses/ubuntu-pro-1804-lts
      Ubuntu Pro 20.04 LTS https://www.googleapis.com/compute/v1/projects/ubuntu-os-pro-cloud/global/licenses/ubuntu-pro-2004-lts

ライセンスを検証する

次の手順で Ubuntu Pro ライセンスを検証します。

  1. gcloud beta compute disks describe コマンドを実行して、ブートディスクに関する情報を取得します。

    gcloud beta compute disks describe BOOT_DISK_NAME \
       --zone=ZONE
    

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

    • BOOT_DISK_NAME: ライセンスを検証するブートディスクの名前

    • ZONE: ライセンスを検証するブートディスクを含むゾーン

  2. 次のような出力を確認します。

    creationTimestamp: '2021-10-20T17:20:26.616-07:00'
    guestOsFeatures:
    - type: VIRTIO_SCSI_MULTIQUEUE
    - type: SEV_CAPABLE
    - type: UEFI_COMPATIBLE
    - type: GVNIC
    id: '7008232787326864549'
    kind: compute#disk
    labelFingerprint: 42WmSpB8rSM=
    lastAttachTimestamp: '2021-10-20T17:20:26.617-07:00'
    licenseCodes:
    - '1000201'
    - '8045211386737108299'
    licenses:
    - https://www.googleapis.com/compute/v1/projects/ubuntu-os-cloud/global/licenses/ubuntu-1604-xenial
    name: ubuntu
    physicalBlockSizeBytes: '4096'
    selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/disks/DISK_NAME
    sizeGb: '10'
    sourceImage: https://www.googleapis.com/compute/v1/projects/IMAGE_PROJECT/global/images/IMAGE
    sourceImageId: '1233998915439563944'
    status: READY
    type: https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/diskTypes/DISK_TYPE
    userLicenses:
    - https://www.googleapis.com/compute/v1/projects/ubuntu-os-pro-cloud/global/licenses/ubuntu-pro-1604-lts
    users:
    - https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/VM_NAME
    zone: https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE
    
  3. 前の手順の出力で、適切なライセンス文字列の userLicenses フィールドを調べて、Ubuntu Pro ライセンスがブートディスクに追加されていることを確認します。

    userLicenses フィールドに目的のライセンス文字列が含まれていない場合は、ユーザー ライセンスを削除してから更新する必要がある場合があります。詳細については、gcloud beta compute disks update コマンドをご覧ください。

  4. gcloud compute instances start コマンドを使用して VM を開始します。

    gcloud compute instances start VM_NAME \
       --zone=ZONE \
       [--csek-key-file ENCRYPTION_KEY]
    

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

    • VM_NAME: 起動する VM の名前

    • ZONE: 起動する VM があるゾーン

    • ENCRYPTION_KEY: 省略可能なフラグ。ブートディスクが暗号化されている場合、顧客指定の暗号鍵(CSEK)ファイルのパスを指定します。

  5. VM が起動したら、gcloud compute ssh コマンドを実行して、Ubuntu ESM の利用資格があり、有効になっていることを確認します。

    gcloud compute ssh VM_NAME --command "sudo ua status --wait" \
       --zone=ZONE
    

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

    • VM_NAME: 検証する VM の名前

    • ZONE: 検証する VM があるゾーン

  6. 出力が次のようであることを確認して、Ubuntu ESM に利用資格があり、有効になっていることを確認します。

    SERVICE       ENTITLED  STATUS    DESCRIPTION
    cis           yes       disabled  Center for Internet Security Audit Tools
    esm-apps      yes       enabled   UA Apps: Extended Security Maintenance (ESM)
    esm-infra     yes       enabled   UA Infra: Extended Security Maintenance (ESM)
    fips          yes       n/a       NIST-certified core packages
    fips-updates  yes       n/a       NIST-certified core packages with priority security updates
    livepatch     yes       n/a       Canonical Livepatch service
    

監査ログの表示

ライセンスの更新履歴を表示する方法は次のとおりです。

  1. Google Cloud コンソールの [アクティビティ] ページに移動します。

    アクティビティに移動

  2. [カテゴリ] の [フィルタ] ペインで、[アクティビティ タイプ] に [構成] を選択します。

  3. [カテゴリ] の [フィルタ] ペインで、[リソースタイプ] に [ディスク] を選択します。