このドキュメントでは、新しい仮想マシン(VM)インスタンスまたは既存の仮想マシン(VM)インスタンスでパフォーマンス モニタリング ユニット(PMU)を有効にする方法について説明します。
C4 VM で PMU を有効にして VM に接続した後、VM でパフォーマンス モニタリング ソフトウェアを実行してインストールし、VM で実行されているソフトウェアのパフォーマンスを分析して最適化できます。これは、ハイ パフォーマンス コンピューティング(HPC)ワークロードや ML ワークロードなど、パフォーマンスの影響が大きいワークロードを実行する場合に便利です。
始める前に
- まだ確認していない場合は、PMU の仕組みをご覧ください。
-
まだ設定していない場合は、認証を設定します。認証とは、Google Cloud のサービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のいずれかのオプションを選択して Compute Engine に対する認証を行います。
Select the tab for how you plan to use the samples on this page:
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
VM を作成する:
- プロジェクトに対する
compute.instances.create
- カスタム イメージを使用して VM を作成する: イメージに対する
compute.images.useReadOnly
- スナップショットを使用して VM を作成する: スナップショットに対する
compute.snapshots.useReadOnly
- インスタンス テンプレートを使用して VM を作成する: インスタンス テンプレートに対する
compute.instanceTemplates.useReadOnly
- レガシー ネットワークを VM に割り当てる: プロジェクトに対する
compute.networks.use
- VM の静的 IP アドレスを指定する: プロジェクトに対する
compute.addresses.use
- レガシー ネットワークの使用時に VM に外部 IP アドレスを割り当てる: プロジェクトに対する
compute.networks.useExternalIp
- VM のサブネットを指定する: プロジェクトまたは選択したサブネットに対する
compute.subnetworks.use
- VPC ネットワークの使用時に VM に外部 IP アドレスを割り当てる: プロジェクトまたは選択したサブネットに対する
compute.subnetworks.useExternalIp
- VM の VM インスタンス メタデータを設定する: プロジェクトに対する
compute.instances.setMetadata
- VM にタグを設定する: VM に対する
compute.instances.setTags
- VM にラベルを設定する: VM に対する
compute.instances.setLabels
- VM が使用するサービス アカウントを設定する: VM に対する
compute.instances.setServiceAccount
- VM に新しいディスクを作成する: プロジェクトに対する
compute.disks.create
- 既存のディスクを読み取り専用モードまたは読み取り / 書き込みモードでアタッチする: ディスクに対する
compute.disks.use
- 既存のディスクを読み取り専用モードでアタッチする: ディスクに対する
compute.disks.useReadOnly
- プロジェクトに対する
-
インスタンス テンプレートを作成する: プロジェクトに対する
compute.instanceTemplates.create
-
VM を更新する: VM に対する
compute.instances.update
VM のマシンタイプと CPU プラットフォームを確認するには、VM の詳細を表示します。
VM のマシンタイプを変更する必要がある場合は、次の操作を行います。
VM が配置されているゾーンでサポートされている CPU プラットフォームが使用可能であることを確認するには、利用可能なリージョンとゾーンをご覧ください。
次のようにマシンタイプを変更します。
拡張 PMU タイプを有効にするには、96 個または 192 個の vCPU を持つ C4 マシンタイプを指定する必要があります。
それ以外の場合に、アーキテクチャまたは標準の PMU タイプを有効にするには、任意の C4 マシンタイプを指定します。
空の YAML ファイルを作成します。
作成したばかりの YAML ファイルに VM のプロパティをエクスポートするには、
gcloud compute instances export
コマンドを使用します。gcloud compute instances export VM_NAME \ --destination=YAML_FILE \ --zone=ZONE
次のように置き換えます。
VM_NAME
: VM の名前。YAML_FILE
: 前の手順で作成した YAML ファイルのパス。ZONE
: VM が配置されているゾーン。
YAML 構成ファイルに
performanceMonitoringUnit
フィールドを追加します。advancedMachineFeatures: performanceMonitoringUnit: PMU_TYPE
PMU_TYPE
は、次のいずれかの値に置き換えます。アーキテクチャの PMU タイプ:
ARCHITECTURAL
標準の PMU タイプ:
STANDARD
拡張 PMU タイプ:
ENHANCED
VM を更新して再起動するには、
--most-disruptive-allowed-action
フラグをRESTART
に設定してgcloud compute instances update-from-file
コマンドを使用します。gcloud compute instances update-from-file VM_NAME \ --most-disruptive-allowed-action=RESTART \ --source=YAML_FILE \ --zone=ZONE
次のように置き換えます。
VM_NAME
: VM の名前。YAML_FILE
: 前の手順で変更した構成データを含む YAML ファイルのパス。ZONE
: VM が配置されているゾーン。
空の JSON ファイルを作成します。
既存の VM のプロパティを表示するには、
instances.get
メソッドにGET
リクエストを送信します。GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
次のように置き換えます。
PROJECT_ID
: VM が配置されているプロジェクトのプロジェクト ID。ZONE
: VM が配置されているゾーン。VM_NAME
: 既存の VM の名前。
前の手順で作成した空の JSON ファイルで、次の操作を行います。
GET
リクエストの出力から VM プロパティを入力します。performanceMonitoringUnit
フィールドを追加します。{ "advancedMachineFeatures": { "performanceMonitoringUnit": "PMU_TYPE" }, ... }
PMU_TYPE
は、次のいずれかの値に置き換えます。アーキテクチャの PMU タイプ:
ARCHITECTURAL
標準の PMU タイプ:
STANDARD
拡張 PMU タイプ:
ENHANCED
VM を更新して再起動するには、
instances.update
メソッドにPUT
リクエストを送信します。リクエストで、次の操作を行います。リクエスト URL に、
RESTART
に設定されたmost_disruptive_allowed_action
クエリ パラメータを含めます。リクエスト本文には、前の手順で作成して更新した JSON ファイルの VM プロパティを使用します。
PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME?most_disruptive_allowed_action=RESTART { "advancedMachineFeatures": { "performanceMonitoringUnit": "PMU_TYPE" }, ... }
VM_NAME
: VM の名前。MACHINE_TYPE
: C4 マシンタイプ。拡張 PMU タイプを有効にするには、96 個または 192 個の vCPU を持つ C4 マシンタイプを指定する必要があります。そうでないと、VM の作成に失敗します。PMU_TYPE
: VM で有効にする PMU のタイプ。次のいずれかの値を指定します。アーキテクチャの PMU タイプ:
architectural
標準の PMU タイプ:
standard
拡張 PMU タイプ:
enhanced
ZONE
: VM インスタンスを作成するゾーン。PROJECT_ID
: VM を作成するプロジェクトの ID。ZONE
: VM インスタンスを作成するゾーン。VM_NAME
: VM の名前。MACHINE_TYPE
: C4 マシンタイプ。拡張 PMU タイプを有効にするには、96 個または 192 個の vCPU を持つ C4 マシンタイプを指定する必要があります。そうでないと、VM の作成に失敗します。IMAGE_PROJECT
: イメージを含むイメージ プロジェクト(例:debian-cloud
)。サポートされているイメージ プロジェクトの詳細については、公開イメージをご覧ください。IMAGE
: 次のいずれかを指定します。OS イメージの特定のバージョン。例:
debian-12-bookworm-v20240617
。イメージ ファミリー。
family/IMAGE_FAMILY
の形式にする必要があります。これにより、非推奨ではない最新の OS イメージが指定されます。たとえば、family/debian-12
を指定すると、Debian 12 イメージ ファミリーの最新バージョンが使用されます。イメージ ファミリーの使用の詳細については、イメージ ファミリーのベスト プラクティスをご覧ください。
PMU_TYPE
: VM で有効にする PMU のタイプ。次のいずれかの値を指定します。アーキテクチャの PMU タイプ:
ARCHITECTURAL
標準の PMU タイプ:
STANDARD
拡張 PMU タイプ:
ENHANCED
COUNT
: 作成する VM の数。MACHINE_TYPE
: C4 マシンタイプ。拡張 PMU タイプを有効にするには、96 個または 192 個の vCPU を持つ C4 マシンタイプを指定する必要があります。そうでないと、VM の作成に失敗します。NAME_PATTERN
: VM の名前パターン。VM 名の一連の数字を置き換えるには、一連のハッシュ(#
)文字を使用します。たとえば、名前パターンにvm-#
を使用すると、vm-1
、vm-2
で始まり、COUNT
で指定された VM の数まで続く名前の VM が生成されます。PMU_TYPE
: VM で有効にする PMU のタイプ。次のいずれかの値を指定します。アーキテクチャの PMU タイプ:
architectural
標準の PMU タイプ:
standard
拡張 PMU タイプ:
enhanced
ZONE
: VM を一括作成するゾーン。PROJECT_ID
: VM を一括作成するプロジェクトの ID。ZONE
: VM を一括作成するゾーン。COUNT
: 作成する VM の数。NAME_PATTERN
: VM の名前パターン。VM 名の一連の数字を置き換えるには、一連のハッシュ(#
)文字を使用します。たとえば、名前パターンにvm-#
を使用すると、vm-1
、vm-2
で始まり、COUNT
で指定された VM の数まで続く名前の VM が生成されます。MACHINE_TYPE
: C4 マシンタイプ。拡張 PMU タイプを有効にするには、96 個または 192 個の vCPU を持つ C4 マシンタイプを指定する必要があります。そうでないと、VM の作成に失敗します。IMAGE_PROJECT
: イメージを含むイメージ プロジェクト(例:debian-cloud
)。サポートされているイメージ プロジェクトの詳細については、公開イメージをご覧ください。IMAGE
: 次のいずれかを指定します。OS イメージの特定のバージョン。例:
debian-12-bookworm-v20240617
。イメージ ファミリー。
family/IMAGE_FAMILY
の形式にする必要があります。これにより、非推奨ではない最新の OS イメージが指定されます。たとえば、family/debian-12
を指定すると、Debian 12 イメージ ファミリーの最新バージョンが使用されます。イメージ ファミリーの使用の詳細については、イメージ ファミリーのベスト プラクティスをご覧ください。
PMU_TYPE
: VM で有効にする PMU のタイプ。次のいずれかの値を指定します。アーキテクチャの PMU タイプ:
ARCHITECTURAL
標準の PMU タイプ:
STANDARD
拡張 PMU タイプ:
ENHANCED
ZONE
: VM を一括作成するゾーン。次の操作を行うときに、マネージド インスタンス グループ(MIG)の VM で PMU を有効にします。
INSTANCE_TEMPLATE_NAME
: インスタンス テンプレートの名前。MACHINE_TYPE
: C4 マシンタイプ。拡張 PMU タイプを有効にするには、96 個または 192 個の vCPU を持つ C4 マシンタイプを指定する必要があります。そうでないと、VM の作成に失敗します。PMU_TYPE
: インスタンス テンプレートに含める PMU のタイプ。次のいずれかの値を指定します。アーキテクチャの PMU タイプ:
architectural
標準の PMU タイプ:
standard
拡張 PMU タイプ:
enhanced
グローバル インスタンス テンプレートを作成するには:
instanceTemplates.insert
メソッド。リージョン インスタンス テンプレートを作成するには:
regionInstanceTemplates.insert
メソッド。PROJECT_ID
: インスタンス テンプレートを作成するプロジェクトの ID。INSTANCE_TEMPLATE_NAME
: インスタンス テンプレートの名前。IMAGE_PROJECT
: イメージを含むイメージ プロジェクト(例:debian-cloud
)。サポートされているイメージ プロジェクトの詳細については、公開イメージをご覧ください。IMAGE
: 次のいずれかを指定します。OS イメージの特定のバージョン。例:
debian-12-bookworm-v20240617
。イメージ ファミリー。
family/IMAGE_FAMILY
の形式にする必要があります。これにより、非推奨ではない最新の OS イメージが指定されます。たとえば、family/debian-12
を指定すると、Debian 12 イメージ ファミリーの最新バージョンが使用されます。イメージ ファミリーの使用の詳細については、イメージ ファミリーのベスト プラクティスをご覧ください。
MACHINE_TYPE
: C4 マシンタイプ。拡張 PMU タイプを有効にするには、96 個または 192 個の vCPU を持つ C4 マシンタイプを指定する必要があります。そうでないと、VM の作成に失敗します。PMU_TYPE
: インスタンス テンプレートに含める PMU のタイプ。次のいずれかの値を指定します。アーキテクチャの PMU タイプ:
ARCHITECTURAL
標準の PMU タイプ:
STANDARD
拡張 PMU タイプ:
ENHANCED
VM に接続する方法を確認する。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
詳細については、Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
必要なロール
新規または既存の VM で PMU を有効にするために必要な権限を取得するには、プロジェクトに対する Compute インスタンス管理者(v1)(
roles/compute.instanceAdmin.v1
)IAM ロールを付与するよう管理者に依頼します。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。この事前定義ロールには、新しい VM または既存の VM で PMU を有効にするために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
新しい VM または既存の VM で PMU を有効にするには、次の権限が必要です。
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
VM で PMU を有効にする
1 つ以上の C4 VM で PMU を有効にするには、次のいずれかの方法を選択します。
1 つ以上の VM で PMU を有効にしたら、VM にパフォーマンス モニタリング ソフトウェアをインストールして使用できます。
既存の VM で PMU を有効にする
既存の VM で PMU を有効にする前に、次の手順で VM がサポート対象のマシンタイプと CPU プラットフォームを使用していることを確認します。
PMU を有効にするために VM を停止する必要はありません。ただし、変更を有効にするには、このセクションで説明するように VM を再起動する必要があります。
既存の VM で PMU を有効にするには、次のいずれかのオプションを選択します。
gcloud
REST
VM のプロパティの更新の詳細については、VM プロパティを更新するをご覧ください。
VM の作成時に PMU を有効にする
PMU を有効にした VM は、サポートされている CPU プラットフォームを含むゾーンにのみ作成できます。ゾーンごとの使用可能な CPU のリストについては、使用可能なリージョンとゾーンをご覧ください。
PMU を有効にして VM を作成するには、次のいずれかのオプションを選択します。
gcloud
PMU を有効にして VM を作成するには、
--performance-monitoring-unit
フラグを指定してgcloud compute instances create
コマンドを使用します。gcloud compute instances create VM_NAME \ --machine-type=MACHINE_TYPE \ --performance-monitoring-unit=PMU_TYPE \ --zone=ZONE
次のように置き換えます。
REST
VM を作成して PMU を有効にするには、
instances.insert
メソッドにPOST
リクエストを行います。リクエスト本文に、performanceMonitoringUnit
フィールドを含めます。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "advancedMachineFeatures": { "performanceMonitoringUnit": "PMU_TYPE" } }
次のように置き換えます。
VM の作成の詳細については、Compute Engine インスタンスの作成と開始をご覧ください。
VM を一括作成するときに PMU を有効にする
PMU を有効にして VM を一括作成できるのは、サポートされている CPU プラットフォームを含むゾーンに限られます。ゾーンごとの使用可能な CPU のリストについては、使用可能なリージョンとゾーンをご覧ください。
PMU を有効にして VM を一括作成するには、次のいずれかのオプションを選択します。
gcloud
PMU を有効にして VM を一括で作成するには、
--performance-monitoring-unit
フラグを指定してgcloud compute instances bulk create
コマンドを使用します。たとえば、単一のゾーンで VM を一括作成し、名前パターンを指定するには、次のコマンドを実行します。
gcloud compute instances bulk create \ --count=COUNT \ --machine-type=MACHINE_TYPE \ --name-pattern="NAME_PATTERN" \ --performance-monitoring-unit=PMU_TYPE \ --zone=ZONE
次のように置き換えます。
REST
PMU を有効にして VM を一括作成するには、
instances.bulkInsert
メソッドにPOST
リクエストを送信します。リクエスト本文に、performanceMonitoringUnit
フィールドを含めます。たとえば、単一のゾーンで VM を一括作成し、名前パターンを指定するには、次のように
POST
リクエストを送信します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert { "count": COUNT, "namePattern": "NAME_PATTERN", "instanceProperties": { "machineType": "MACHINE_TYPE", "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "networkInterfaces": [ { "network": "global/networks/default" } ], "advancedMachineFeatures": { "performanceMonitoringUnit": "PMU_TYPE" } } }
次のように置き換えます。
VM を一括作成する方法の詳細については、VM を一括作成するをご覧ください。
インスタンス テンプレートの作成時に PMU を有効にする
PMU を有効にしてリージョン インスタンス テンプレートを作成する場合は、選択したリージョン内の少なくとも 1 つのゾーンにサポート対象の CPU プラットフォームが含まれていることを確認してください。ゾーンごとの使用可能な CPU のリストについては、使用可能なリージョンとゾーンをご覧ください。
PMU が有効になっているインスタンス テンプレートを作成すると、そのテンプレートを使用して次のことができます。
PMU を有効にしてインスタンス テンプレートを作成するには、次のいずれかのオプションを選択します。
gcloud
PMU を有効にしてインスタンス テンプレートを作成するには、
--performance-monitoring-unit
フラグを指定してgcloud compute instance-templates create
コマンドを使用します。たとえば、PMU を有効にしてグローバル インスタンス テンプレートを作成するには、次のコマンドを実行します。
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --machine-type=MACHINE_TYPE \ --performance-monitoring-unit=PMU_TYPE
次のように置き換えます。
REST
PMU を有効にしてインスタンス テンプレートを作成するには、次のいずれかのメソッドに
POST
リクエストを送信します。リクエスト本文に、
performanceMonitoringUnit
フィールドを含めます。たとえば、PMU を有効にしてグローバル インスタンス テンプレートを作成するには、次のように
POST
リクエストを送信します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "properties": { "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" } } ], "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "network": "global/networks/default" } ], "advancedMachineFeatures": { "performanceMonitoringUnit": "PMU_TYPE" } } }
次のように置き換えます。
インスタンス テンプレートの作成の詳細については、インスタンス テンプレートを作成するをご覧ください。
次のステップ
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2024-12-05 UTC。
-