ライセンスの表示と追加を行う


このドキュメントでは、仮想マシン(VM)インスタンスに関連付けられているライセンスの表示、VM へのライセンスの追加、ライセンスの更新履歴の表示を行う方法について説明します。Compute Engine のライセンスの詳細については、ライセンスについてをご覧ください。

始める前に

  • まだ設定していない場合は、認証を設定します。認証とは、Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のように Compute Engine に対する認証を行います。

    このページのサンプルをどのように使うかに応じて、タブを選択してください。

    コンソール

    Google Cloud コンソールを使用して Google Cloud サービスと API にアクセスする場合、認証を設定する必要はありません。

    gcloud

    1. Google Cloud CLI をインストールし、次のコマンドを実行して初期化します。

      gcloud init
    2. デフォルトのリージョンとゾーンを設定します

    REST

    このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。

      Google Cloud CLI をインストールし、次のコマンドを実行して初期化します。

      gcloud init

VM に関連付けられているライセンスを表示する

VM に関連付けられているライセンスを表示するには、Google Cloud コンソール、gcloud CLI、または Compute Engine API を使用します。

コンソール

  1. Google Cloud コンソールで [VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. ライセンスを確認する VM の名前をクリックします。[インスタンスの詳細] ページが開きます。

  3. [インスタンスの詳細] ページの下部にある [同等の REST] をクリックします。

  4. ブートディスクの licenses フィールドを表示します。

gcloud

  1. 次の gcloud compute instances describe コマンドを実行します。

    gcloud compute instances describe VM_NAME
    

    VM_NAME は実際の VM 名に置き換えます。

  2. 出力の disks セクションを表示します。licenses フィールドには、ブートディスクに関連付けられているライセンスが表示されます。

REST

  1. 次の instances.get v1 メソッドを呼び出します。

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instances/VM_NAME
    

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

    • PROJECT: プロジェクトの名前
    • ZONE: VM を含むゾーン
    • VM_NAME: VM の名前
  2. Compute Engine API は、ブートディスクに関連付けられているライセンスを licenses フィールドの disks セクションで返します。

VM に関連付けられているユーザー ライセンスを表示する

VM に関連付けられているユーザー ライセンスを表示するには、Google Cloud コンソール、gcloud CLI、または Compute Engine API を使用します。

コンソール

  1. Google Cloud コンソールで [VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. ユーザー ライセンスを確認する VM の名前をクリックします。[インスタンスの詳細] ページが開きます。

  3. [インスタンスの詳細] ページの下部にある [同等の REST] をクリックします。

  4. ブートディスクの userLicenses フィールドを表示します。

gcloud

  1. 次の gcloud beta compute instances describe コマンドを実行します。

    gcloud beta compute instances describe VM_NAME
    

    VM_NAME は実際の VM 名に置き換えます。

  2. 出力の disks セクションを表示します。licenses フィールドには、ブートディスクに関連付けられているライセンスが表示されます。

REST

  1. 次の instances.get ベータ版メソッドを呼び出します。

    GET https://compute.googleapis.com/compute/beta/projects/PROJECT/zones/ZONE/instances/VM_NAME
    

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

    • PROJECT: プロジェクトの名前
    • ZONE: VM を含むゾーン
    • VM_NAME: VM の名前
  2. Compute Engine API は、ブートディスクに関連付けられているライセンスを licenses フィールドの disks セクションで返します。

画像のインポート時にライセンスを追加する

画像のインポート時にライセンスを追加するには、次の gcloud compute images import コマンドを使用します。

gcloud compute images import IMAGE_NAME \
  --source-file=SOURCE_FILE
  --os=OS

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

  • IMAGE_NAME: 作成するイメージの名前。
  • SOURCE_FILE: インポートする仮想ディスクのローカル ファイルまたは Cloud Storage URI。
  • OS: インポートするディスク イメージの OS。OS のライセンスは、このフラグの値から推定されます。インポート時にライセンス情報を提供するための明示的なフラグはありません。サポートされている値の一覧については、--os フラグをご覧ください。

イメージのインポートの詳細については、仮想ディスクのインポートをご覧ください。

イメージの作成時にライセンスを追加する

イメージの作成時にライセンスを追加するには、次の gcloud compute images create コマンドを使用します。

gcloud compute images create IMAGE_NAME \
  --source-image=SOURCE_IMAGE \
  --licenses=LICENSES

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

  • IMAGE_NAME: 作成するイメージの名前。
  • SOURCE_IMAGE: 新しいイメージの作成元であるイメージの名前。
  • LICENSES: ライセンス文字列のカンマ区切りリスト。例えば、"license1""license2"

イメージの作成の詳細については、カスタム イメージの作成、削除、サポート終了Windows イメージの作成をご覧ください。

イメージの作成時にライセンスとユーザー ライセンスを追加する

イメージの作成時にライセンスとユーザー ライセンスを追加するには、次の gcloud beta compute images create コマンドを使用します。

gcloud beta compute images create IMAGE_NAME \
  --source-image=SOURCE_IMAGE \
  --licenses=LICENSES \
  --user-licenses=USER_LICENSES

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

  • IMAGE_NAME: 作成するイメージの名前。
  • SOURCE_IMAGE: 新しいイメージの作成元であるイメージの名前。
  • LICENSES: ライセンス文字列のカンマ区切りリスト。例えば、"license1""license2"
  • USER_LICENSES: ユーザー ライセンス文字列のカンマ区切りリスト。例えば、"userlicense1""userlicense2"

イメージの作成の詳細については、カスタム イメージの作成、削除、サポート終了Windows イメージの作成をご覧ください。

ユーザー ライセンスを追加して検証する

ユーザー ライセンスを追加して検証する方法は次のとおりです。

  1. VM を停止します

  2. gcloud compute instances describe コマンドを使用して、VM に関連付けられたディスクの一覧を表示します。

    gcloud compute instances describe VM_NAME --format="yaml(disks)"
    
  3. 次のような内容が出力されていることを確認します。

    disks:
    - autoDelete: true
      boot: true
      deviceName: BOOT_DISK_NAME
      diskSizeGb: '20'
      guestOsFeatures:
      - type: UEFI_COMPATIBLE
      index: 0
      interface: SCSI
      kind: compute#attachedDisk
      licenses:
      - BOOT_DISK_LICENSE_STRING
      mode: READ_WRITE
      source: https://www.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/disks/BOOT_DISK_NAME
      type: PERSISTENT
    
  4. 前の手順の出力で、ブートディスクの名前を確認します。ブートディスクの場合、boot の値は true で、ブートディスクの名前は deviceName になっています。

  5. gcloud beta compute disks update コマンドを使用して、ユーザー ライセンスをブートディスクに追加します。

    gcloud beta compute disks update BOOT_DISK_NAME \
       --update-user-licenses=LICENSE_URIS
    

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

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

    • LICENSE_URIS: ライセンス文字列のカンマ区切りのリスト。既存のユーザー ライセンスがすべて置き換えられます。

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

    gcloud beta compute disks describe BOOT_DISK_NAME
    

    BOOT_DISK_NAME をブートディスクの名前に置き換えて、付加されたライセンスを確認します。

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

    creationTimestamp: '2021-05-05T15:26:27.835-07:00'
    guestOsFeatures:
    - type: UEFI_COMPATIBLE
    id: '727854272460268924'
    interface: SCSI
    kind: compute#disk
    labelFingerprint: 42WmSpB8rSM=
    lastAttachTimestamp: '2021-05-05T15:26:27.836-07:00'
    licenseCodes:
    - '1000006'
    - '6213885950785916969'
    licenses:
    - BOOT_DISK_LICENSE_STRING
    multiWriter: false
    name: VM_NAME
    physicalBlockSizeBytes: '4096'
    selfLink: https://www.googleapis.com/compute/beta/projects/PROJECT_NAME/zones/ZONE/disks/DISK_NAME
    selfLinkWithId: https://www.googleapis.com/compute/beta/projects/PROJECT_NAME/zones/ZONE/disks/727854272460268924
    sizeGb: '20'
    sourceImage: https://www.googleapis.com/compute/beta/projects/IMAGE_PROJECT/global/images/IMAGE
    sourceImageId: '7397991294075835597'
    status: READY
    type: https://www.googleapis.com/compute/beta/projects/PROJECT_NAME/zones/ZONE/diskTypes/pd-standard
    userLicenses:
    - LICENSE_URI
    users:
    - https://www.googleapis.com/compute/beta/projects/PROJECT_NAME/zones/ZONE/instances/VM_NAME
    zone: https://www.googleapis.com/compute/beta/projects/PROJECT_NAME/zones/ZONE
    
  8. 前の手順の出力で、適切なライセンス文字列の userLicenses フィールドを調べて、ユーザー ライセンスがブートディスクに追加されていることを確認します。

    userLicenses フィールドに目的のライセンス文字列が含まれていない場合は、ライセンス文字列のリストをクリアしてから更新する必要があります。これを行うには、gcloud beta compute disks update コマンドを使用します。

  9. VM を起動します

ライセンス更新の履歴を表示する

次の手順を使用して、プロジェクト内の VM のライセンス更新履歴を表示します。

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

    アクティビティに移動

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

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

次のステップ