このページでは、デフォルトのプラットフォームではなく、最小 CPU プラットフォームを使用するように仮想マシン(VM)インスタンスを作成または更新する方法について説明します。Google データセンターでは、さまざまな世代の CPU プロセッサを提供しており、それによって最小 CPU プラットフォームが決まります。
最小 CPU プラットフォームを指定すると、ワークロードが特定のプロセッサの世代で提供されるパフォーマンスの向上を必要とする場合に便利です。ただし、最小 CPU プラットフォームを指定すると、VM を作成できるゾーンが制限される可能性があります。
各 CPU プラットフォームは、Advanced Vector Extensions などの増分機能をサポートしています(例: AVX2、AVX-512)。クロック速度やメモリアクセス シーク時間などの基本的なシステム関連機能は、CPU プラットフォームによって異なる場合があります。
始める前に
- このガイドのコマンドラインの例を使用する場合は、次の操作を行います。
- Google Cloud CLI の最新バージョンをインストールするか、最新バージョンに更新します。
- デフォルトのリージョンとゾーンを設定します。
- このガイドの API の例を使用する場合、API アクセスを設定します。
最小 CPU プラットフォームを選択するケース
たいていの場合、最小 CPU プラットフォームを選択する必要はありません。Compute Engine の各ゾーンには、Google によって廃止または更新される可能性があるデフォルトの CPU プラットフォームがあります。最小 CPU が指定されていない VM を作成すると、その VM はデフォルトの CPU プラットフォームを取得します。
ワークロードのパフォーマンスが大幅に向上する場合や、コードで使用する AVX2、AVX-512 などの機能が提供される場合にのみ、最小 CPU プラットフォームを選択することをおすすめします。VM に最小 CPU プラットフォームを選択すると、CPU プラットフォームの提供が限られているゾーンで VM を起動できるかどうかに影響が生じます。
最小 CPU プラットフォームの選択の仕組み
最小 CPU プラットフォームを指定する場合は、以下の点を考慮してください。
- Compute Engine では、使用可能な場合は常に最小 CPU のプラットフォームが使用されます。
- Google がゾーン内の CPU プラットフォームを廃止または更新した場合、VM を停止して再起動すると、そのゾーンで利用可能な新しい CPU プラットフォームで引き続き VM を実行できます。CPU プラットフォームの廃止はまれに行われます。Google では、CPU プラットフォームを廃止または更新する前にお客様にお知らせします。
VM に最小 CPU プラットフォームを選択すると、次のように動作します。
- VM を停止して CPU プラットフォームを変更しない限り、VM はこの CPU プラットフォームを使用します。
- ライブ マイグレーション中、VM は選択された CPU プラットフォームを保持します。
デフォルトの CPU プラットフォームの廃止またはアップグレード
Google では CPU プラットフォームを廃止する、または特定のゾーンでデフォルトの CPU プラットフォームを更新する場合があります。これには次の理由が該当します。
- ゾーンの容量は時間とともに増大します。より新しい CPU プラットフォームが利用可能になると、ゾーンではそのプラットフォームにプロアクティブに切り替えられます。
- 3~5 年ごとに、Google は古い CPU プラットフォームを新しいプラットフォームに置き換え、デフォルトの CPU プラットフォームをそのゾーンで利用可能な次に新しいプラットフォームに更新します。
新しいリージョンまたはゾーンが作成されると、その時点で最新の CPU プラットフォームが使用されます。
ゾーンが廃止された、またはゾーンのデフォルトの CPU プラットフォームが変更された場合、Google は影響を受けるお客様に通知し、詳細なタイムラインと新しいプラットフォームに移行するための具体的な手順をお知らせします。
VM では、ユーザーが指定した最小 CPU プラットフォームよりも古い世代のプラットフォームが使用されることはありません。Compute Engine で VM が新しいプラットフォームに移行しても、VM の料金は変わりません。
制限事項
- 複数のリージョンとゾーンが複数の CPU プロセッサをサポートしています。
- 事前定義またはカスタムの E2 VM に最小 CPU プラットフォームを選択することはできません。
- 次の共有コアの汎用 VM では、最小 CPU プラットフォームを選択できません。
e2-micro
e2-small
e2-medium
f1-micro
g1-small
CPU プラットフォームの可用性
CPU プラットフォームを使用できるかどうかは、ゾーンによって異なります。また、各ゾーンで使用可能なハードウェアとマシン ファミリーによって異なります。次のリストに、サポートされている最小 CPU プラットフォームと、各プラットフォームに対して使用される有効な構文を示します。
- 第 3 世代: Intel Xeon(Ice Lake)プロセッサ:
"Intel Ice Lake"
- 第 2 世代: Intel Xeon(Cascade Lake)プロセッサ:
"Intel Cascade Lake"
- 第 1 世代: Intel Xeon(Skylake)プロセッサ:
"Intel Skylake"
- Intel Xeon E5 v4(Broadwell)プロセッサ:
"Intel Broadwell"
- Intel Xeon E5 v3(Haswell)プロセッサ:
"Intel Haswell"
- Intel Xeon E5(Sandy Bridge)プロセッサ:
"Intel Sandy Bridge"
- AMD EPYC Rome プロセッサ:
"AMD Rome"
- AMD EPYC Milan プロセッサ:
"AMD Milan"
次の点を考慮してください。
- 最小 CPU プラットフォーム セレクションに複数の CPU プラットフォームが利用可能なゾーンは、特定のゾーンに限られます。特定のゾーンでサポートされているプラットフォームのリストを表示するには、
gcloud compute zones describe
コマンドを使用するか、API にリクエストを送信します。 単一テナントノードを使用している場合、各ノードはノード テンプレートで定義したノードタイプに対応する CPU プラットフォームを使用します。結果として、単一テナントノードを使用する VM に対して最小 CPU プラットフォームは指定できません。
gcloud
ゾーンで使用可能な CPU プラットフォームを確認するには、
gcloud compute zones describe
コマンドを使用します。gcloud compute zones describe ZONE
ZONE
は、使用可能な CPU プラットフォームを確認するゾーンの名前に置き換えます(us-west1-a
など)。このコマンドの次の出力には、
us-west1-a
ゾーンの CPU プラットフォームの一覧が含まれています。gcloud compute zones describe us-west1-a availableCpuPlatforms: - Intel Skylake - Intel Broadwell ...
API
Compute Engine API で、目的のゾーンに対する
GET
リクエストを作成します。GET https://compute.googleapis.com/compute/v1/projects/myproject/zones/ZONE
ZONE
は、使用可能な CPU プラットフォームを確認するゾーンの名前に置き換えます。このコマンドの次の出力には、ゾーンでサポートされている CPU プラットフォームの一覧が含まれています。
{ "kind": "compute#zone", "id": "2210", "creationTimestamp": "2016-06-10T09:30:55.189-07:00", "name": "us-west1-a", "description": "us-west1-a", "status": "UP", "region": "https://www.googleapis.com/compute/v1/projects/myproject/regions/us-west1", "selfLink": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-west1-a", "availableCpuPlatforms": [ "Intel Broadwell", "Intel Haswell" ] }
新しい VM 用の最小 CPU プラットフォームの選択
最小 CPU プラットフォームは、インスタンスの作成時に指定できます。
Console
Google Cloud コンソールで、[インスタンスの作成] ページに移動します。
[マシンの構成] セクションで、[CPU プラットフォームと GPU] セクションを開いて、次の操作を行います。
- [CPU プラットフォーム] リストで、VM の CPU のプラットフォームを選択します。
VM 作成の残りの手順を続けます。
gcloud
最小 CPU プラットフォームを使用する新しい VM を作成するには、
--min-cpu-platform
フラグを指定してgcloud compute instances create
コマンドを実行します。gcloud compute instances create INSTANCE \ --zone=ZONE \ --min-cpu-platform="PLATFORM"
次のように置き換えます。
INSTANCE
: 作成するインスタンスの名前ZONE
: インスタンスを作成するゾーンの名前(例:europe-west1-b
)PLATFORM
: インスタンスに使用する最小 CPU プラットフォームのわかりやすい名前(例:Intel Sandy Bridge
)最小 CPU プラットフォームの指定をクリアするには、
PLATFORM
をAUTOMATIC
に置き換えます。可用性セクションで、各ゾーンで使用可能なプラットフォームを確認します。
API
Compute Engine API で、リクエスト本文の一部として
minCpuPlatform
プロパティを指定します。以下に、リクエスト本文の例を示します。
"name": "INSTANCE", "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "minCpuPlatform": "PLATFORM", "networkInterfaces": [{ "accessConfigs": [{ "type": "ONE_TO_ONE_NAT", "name": "External NAT" }], "network": "global/networks/default" }], "disks": [{ "autoDelete": "true", "boot": "true", "type": "PERSISTENT", "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" } }]
次のように置き換えます。
INSTANCE
: 新しいインスタンスの名前ZONE
: VM を作成するゾーンの名前(例:europe-west1-b
)MACHINE_TYPE
: 新しい VM のマシンタイプPLATFORM
: インスタンスに使用する最小 CPU プラットフォームのわかりやすい名前(例:Intel Ivy Bridge
)最小 CPU プラットフォームの指定をクリアするには、
PLATFORM
をAUTOMATIC
に置き換えます。IMAGE_PROJECT
: イメージ ファミリーのイメージ プロジェクトIMAGE_FAMILY
: VM の作成に使用するイメージのイメージ ファミリー
既存の VM の最小 CPU プラットフォームの設定
既存のインスタンスに最小 CPU プラットフォームを設定できます。インスタンスを停止してから、最小 CPU プラットフォームを設定します。
Console
[VM インスタンス] ページに移動します。
プロンプトが表示されたら、プロジェクトを選択して [続行] をクリックします。
変更する VM を選択します。
[停止] をクリックします。
インスタンスを編集するには、[編集] をクリックします。
[マシンの構成] セクションで [CPU プラットフォームと GPU] をクリックします。
[CPU プラットフォーム] プルダウン メニューからオプションを選択します。
変更を保存します。
変更した VM を選択します。
[開始 / 再開] をクリックします。
gcloud
VM を停止するには、
gcloud compute instances stop
コマンドを使用します。gcloud compute instances stop INSTANCE
INSTANCE
は、最小 CPU プラットフォームを指定するインスタンスの名前に置き換えます。最小 CPU プラットフォームを指定するには、
--min-cpu-platform
フラグを指定してgcloud compute instances update
コマンドを実行します。gcloud compute instances update INSTANCE \ --min-cpu-platform="PLATFORM"
PLATFORM
は、インスタンスに使用する最小 CPU プラットフォームのわかりやすい名前に置き換えます(例:Intel Cascade Lake
)。更新された VM を起動するには、
gcloud compute instances start
コマンドを使用します。gcloud compute instances start INSTANCE
API
VM を停止するには、
instances.stop
メソッドを使用してPOST
リクエストを作成します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE/stop
次のように置き換えます。
PROJECT_ID
: プロジェクトの IDZONE
: VM インスタンスが配置されているゾーンINSTANCE
: 最小 CPU プラットフォームを指定するインスタンスの名前
API で最小 CPU プラットフォームを設定するには、
setMinCpuPlatform
メソッドに対してPOST
リクエストを実行します。リクエスト本文にはminCpuPlatform
プロパティを設定します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE/setMinCpuPlatform { "minCpuPlatform": PLATFORM }
PLATFORM
は、インスタンスに使用する最小 CPU プラットフォームのわかりやすい名前に置き換えます(例:Intel Skylake
)。VM を再起動するには、
instances.start
メソッドを使用してPOST
リクエストを作成します。POST https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE/start
最小 CPU プラットフォームの設定の削除
最小 CPU プラットフォームの代わりにデフォルトの CPU プラットフォームを使用するようにインスタンスを更新できます。インスタンスが実行されている場合は、変更する前に停止する必要があります。
Console
[VM インスタンス] ページに移動します。
プロンプトが表示されたら、プロジェクトを選択して [続行] をクリックします。
変更する VM を選択します。
[停止] をクリックします。
インスタンスを編集するには、[編集] をクリックします。
[マシンの構成] セクションで [CPU プラットフォームと GPU] をクリックします。
[CPU プラットフォーム] オプションを [自動] に変更します。
変更した VM を選択します。
[開始 / 再開] をクリックします。
gcloud
VM を停止するには、
gcloud compute instances stop
コマンドを使用します。gcloud compute instances stop INSTANCE
INSTANCE
は、変更するインスタンスの名前に置き換えます。最小 CPU プラットフォームをリセットするには、
--min-cpu-platform
フラグをAUTOMATIC
に設定してgcloud compute instances update
コマンドを実行します。gcloud compute instances update INSTANCE \ --min-cpu-platform="AUTOMATIC"
更新された VM を起動するには、
gcloud compute instances start
コマンドを使用します。gcloud compute instances start INSTANCE
API
VM を停止するには、
instances.stop
メソッドを使用してPOST
リクエストを作成します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE/stop
次のように置き換えます。
PROJECT_ID
: プロジェクトの IDZONE
: VM インスタンスが配置されているゾーンINSTANCE
: 変更するインスタンスの名前
最小 CPU プラットフォームをリセットするには、
setMinCpuPlatform
メソッドにPOST
リクエストを行います。リクエストの本文で、minCpuPlatform
プロパティの値をAUTOMATIC
に設定します。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE/setMinCpuPlatform { "minCpuPlatform": AUTOMATIC }
更新された VM を起動するには、
gcloud compute instances start
コマンドを使用します。gcloud compute instances start INSTANCE
インスタンス テンプレートにおける最小 CPU プラットフォームの指定
マネージド インスタンス グループを使用している場合は、マネージド インスタンス グループに含まれる VM インスタンスに対して最小 CPU プラットフォームを指定できます。
最小 CPU プラットフォームを指定するには、minCpuPlatform
プロパティを含むインスタンス テンプレートを作成します。
Console
[インスタンス テンプレート] ページに移動します。
プロンプトが表示されたら、プロジェクトを選択して [続行] をクリックします。
[インスタンス テンプレートを作成] をクリックします。
[マシンの構成] セクションで [CPU プラットフォームと GPU] をクリックします。
[CPU プラットフォーム] プルダウン メニューからオプションを選択します。
インスタンス テンプレートの作成プロセスを続けます。
gcloud
gcloud compute instance-templates create
コマンドでインスタンス テンプレートを作成するときに、--min-cpu-platform
フラグを指定します。gcloud compute instance-templates create TEMPLATE_NAME \ --min-cpu-platform="PLATFORM"
次のように置き換えます。
TEMPLATE_NAME
: インスタンス テンプレートの名前PLATFORM
: インスタンスに使用する最小 CPU プラットフォームのわかりやすい名前(例:Intel Skylake
)
API
Compute Engine API で新しいインスタンス テンプレートを作成するには、リクエストの一部として
minCpuPlatform
を追加します。次に示すインスタンス テンプレートの例では、
minCpuPlatform
プロパティを加えたテンプレートを新しく作成するときに必要となる最小限のフィールドが含まれています。{ "name": "example-template", "properties": { "machineType": "zones/us-central1-a/machineTypes/n1-standard-2", "minCpuPlatform": "Intel Haswell", "networkInterfaces": [ { "network": "global/networks/default", "accessConfigs": [ { "type": "PERSISTENT", "boot": true, "mode": "READ_WRITE", "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/family/debian-10" } } ] } ], "disks": [ { "type": "PERSISTENT", "boot": true, "mode": "READ_WRITE", "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/family/debian-10" } } ] } }
次のステップ
- Compute Engine で CPU プラットフォームのリストを確認する。
- インスタンスのマシンタイプを変更する。
- リージョンとゾーンについて学習する。
- Windows Server インスタンスまたは SQL Server インスタンスを作成して起動する。