VM インスタンスの最小 CPU プラットフォームの指定

このドキュメントでは、基本となる最小 CPU プラットフォーム(minCpuPlatform)が使用可能な場合はいつでもそれを使用できるように仮想マシン インスタンスを作成または更新する方法について説明します。

Google データセンターは、Sandy Bridge、Ivy Bridge、Haswell、Broadwell、Skylake CPU プラットフォームを含む Intel Xeon ベースのホストマシンを提供します。各 CPU プラットフォームは、AVX-2、AVX-512 などの増分機能をサポートしています。クロック速度やメモリアクセス シーク時間などの基本的なシステム関連機能は、CPU プラットフォームによって異なる場合があります。さまざまなゾーンで複数の CPU プラットフォームがサポートされています。最小プラットフォーム選択を用いて、ワークロードの特定のニーズをサポートする VM インスタンスの CPU プラットフォームを選択できます。

各ゾーンで使用できる CPU プラットフォームの詳細については、CPU プラットフォームおよびリージョンとゾーンに関するドキュメントをご覧ください。

始める前に

最小 CPU プラットフォームを選択するケース

たいていの場合、VM に最小 CPU プラットフォームを選択する必要はありません。Compute Engine の各ゾーンにはデフォルトの CPU プラットフォームがあります。デフォルトの CPU プラットフォームは、リージョンとゾーンのドキュメントに記載されています。新たに作成された VM に最小 CPU が指定されていない場合は、デフォルトの CPU プラットフォームが自動的に割り当てられます。

最小 CPU プラットフォームを選択するのは、ワークロードのパフォーマンスが大幅に向上する場合や、コードで使用する AVX2、AVX512、MPX などの特定の機能が提供される場合に限ることをおすすめします。VM に特定の最小 CPU プラットフォームを選択すると新たな制約が加わり、CPU プラットフォームの提供が限られているゾーンで VM を起動できるかどうかに影響が生じます。

最小 CPU プラットフォームの選択の仕組み

最小 CPU プラットフォームを指定すると、次のように動作します。

  1. Compute Engine では、使用可能な場合は常に最小 CPU のプラットフォームが使用されます。
  2. Compute Engine がゾーンの特定の CPU プラットフォームを廃止した場合、VM の停止と再起動を行うと、そのゾーンで使用可能な適切な CPU プラットフォーム上で VM を引き続き稼働できます。

VM に最小 CPU プラットフォームを選択すると、次のように動作します。

  • VM を停止して選択済みの CPU プラットフォームを別のオプションに変更しない限り、VM はこの CPU プラットフォームを使用します。
  • ライブ マイグレーション時には、選択した同じ CPU プラットフォームが VM に保持されます。
  • 場合によっては、Google がゾーンのデフォルト CPU プラットフォームを更新することがあります。詳細については、デフォルトの CPU プラットフォームの廃止またはアップグレードをご覧ください。

デフォルトの CPU プラットフォームの廃止またはアップグレード

Google では以下の理由で、古い CPU プラットフォームを廃止したり、特定のゾーンでデフォルトの CPU プラットフォームを更新したりすることがあります。

  • ゾーンの容量は時間とともに増大します。より新しい CPU プラットフォームが利用可能になると、ゾーンではそのプラットフォームにプロアクティブに切り替えられます。
  • 3〜5 年ごとに、Google は古い CPU プラットフォームを新しいプラットフォームに置き換え、デフォルトの CPU プラットフォームをそのゾーンで利用可能な 2 番目に最新プラットフォームに更新します。

どのタイミングでも、新しいリージョンまたはゾーンが作成されると、その時点で最新の CPU プラットフォームが使用されます。

ゾーンが廃止されたり、ゾーンのデフォルトの CPU プラットフォームが変更されたりする場合、Google は影響を受けるお客様に事前に通知し、詳細なタイムラインと新しいプラットフォームに移行するための具体的な手順をお知らせします。

VM ではユーザーが指定した最小 CPU プラットフォームよりも古い世代のプラットフォームが使用されることはありません。また、Compute Engine でより新しい世代のプラットフォームに VM を移行しても、VM の料金は変わりません。

仕様

制限事項

  • 事前定義されたマシンタイプ f1-small と g1-small は共有コアの汎用 VM です。これらのマシンタイプには、CPU プラットフォームの選択オプションは用意されていません。

可用性

特定の CPU プラットフォームを使用できるかどうかは、各ゾーンで使用可能なハードウェアに応じてゾーンごとに異なります。以下に、サポートされている最小 CPU プラットフォームと、各プラットフォームに対して使用される有効な構文を記載します。

  • Intel Xeon E5(Sandy Bridge)プロセッサ: "Intel Sandy Bridge"
  • Intel Xeon E5 v2(Ivy Bridge)プロセッサ: "Intel Ivy Bridge"
  • Intel Xeon E5 v3(Haswell)プロセッサ: "Intel Haswell"
  • Intel Xeon E5 v4(Broadwell)プロセッサ: "Intel Broadwell"
  • Intel Xeon(Skylake)プロセッサ: "Intel Skylake"

複数の CPU プラットフォームが用意されていて、最小 CPU プラットフォームを選択できるゾーンは、特定のゾーンに限られます。完全なリストについては、リージョンとゾーンのページをご覧ください。

gcloud compute zones describe コマンドを使用するか、API に対してリクエストを行うことによって、特定のゾーンでサポートされているプラットフォームのリストをいつでも表示できます。

gcloud

ゾーンの CPU プラットフォームを確認します。

gcloud compute zones describe [ZONE]

たとえば、次のコマンドを実行すると、us-west1-a ゾーンの CPU プラットフォームが一覧表示されます。

$ gcloud compute zones describe us-west1-a
availableCpuPlatforms:
- Intel Skylake
- Intel Broadwell
...

API

API で、目的のゾーンに対し GET リクエストを発行します。

GET https://www.googleapis.com/compute/v1/projects/myproject/zones/[ZONE]

レスポンスに、そのゾーンでサポートされている 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

  1. [VM インスタンス] ページに移動します。

    [VM インスタンス] ページに移動

  2. プロンプトが表示されたら、プロジェクトを選択して [続行] をクリックします。
  3. [インスタンスを作成] ボタンをクリックします。
  4. [マシンの構成] セクションの下にある [CPU プラットフォームと GPU] をクリックします。
  5. [CPU プラットフォーム] プルダウン メニューからいずれかの項目を選択します。
  6. インスタンス作成の残りのプロセスを続けます。

gcloud

gcloud コマンドライン ツールを使用して最小 CPU プラットフォームを指定した新しい VM を作成するには、新しい --min-cpu-platform フラグを指定します。CPU プラットフォームを指定する際は、そのプラットフォームに対して、Intel BroadwellIntel Haswell などのわかりやすい名前を設定します。使用可能なゾーンのセクションで、各ゾーンで使用可能なプラットフォームを確認します。

たとえば、Intel Haswell の最小 CPU プラットフォームを指定する場合は、次のようになります。

gcloud compute instances create example-instance \
    --zone europe-west1-b \
    --min-cpu-platform "Intel Haswell"

API

Compute Engine API で、リクエスト本文の一部として minCpuPlatform プロパティを指定します。minCpuPlatform の値には、Intel HaswellIntel BroadwellIntel Sandy Bridge など、プラットフォームを示すわかりやすい名前を指定する必要があります。

たとえば、リクエストの本文は次のようになります。

"name": "[INSTANCE_NAME]",
"machineType": "zones/[ZONE]/machineTypes/[MACHINE_TYPE]",
"minCpuPlatform": "Intel Haswell",
"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]"
   }
 }]

停止した VM の最小 CPU プラットフォームの設定

既存のインスタンスに対しても、そのインスタンスを停止すれば、最小 CPU プラットフォームを設定できます。

インスタンスを停止したら、以下の手順に従って最小 CPU プラットフォームを設定します。設定後は必ずインスタンスを再起動してください。

Console

  1. [VM インスタンス] ページに移動します。

    [VM インスタンス] ページに移動

  2. プロンプトが表示されたら、プロジェクトを選択して [続行] をクリックします。
  3. 変更する停止したインスタンスを選択します。
  4. [編集] をクリックしてインスタンスを編集します。
  5. [マシンの構成] セクションの下にある [CPU プラットフォームと GPU] をクリックします。
  6. [CPU プラットフォーム] プルダウン メニューからいずれかの項目を選択します。
  7. 変更を保存します。
  8. インスタンスを再起動します。

gcloud

末尾に --min-cpu-platform フラグを指定した update サブコマンドを使用します。プラットフォームには Intel HaswellIntel BroadwellIntel Sandy Bridge などのわかりやすい名前を指定します。次に例を示します。

gcloud compute instances update [INSTANCE_NAME] \
    --min-cpu-platform "Intel Haswell"

API

API で最小 CPU プラットフォームを設定するには、setMinCpuPlatform メソッドに対して POST リクエストを実行します。リクエスト本文には minCpuPlatform プロパティを設定します。このプロパティの値として、Intel HaswellIntel BroadwellIntel Sandy Bridge など、CPU プラットフォームを示すわかりやすい名前を指定します。次に例を示します。

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE]/setMinCpuPlatform

{
  "minCpuPlatform": "Intel Haswell"
}

インスタンス テンプレートを使用した最小 CPU プラットフォームの指定

マネージド インスタンス グループを使用している場合は、マネージド インスタンス グループに含まれる VM インスタンスに対して最小 CPU プラットフォームを指定できます。

最小 CPU プラットフォームを指定するには、minCpuPlatform プロパティを含めてインスタンス テンプレートを作成します。

Console

  1. [インスタンス テンプレート] ページに移動します。

    [インスタンス テンプレート] ページに移動

  2. プロンプトが表示されたら、プロジェクトを選択して [続行] をクリックします。
  3. [インスタンス テンプレートを作成] をクリックします。
  4. [マシンの構成] セクションの下にある [CPU プラットフォームと GPU] をクリックします。
  5. [CPU プラットフォーム] プルダウン メニューからいずれかの項目を選択します。
  6. インスタンス テンプレートの作成プロセスを続けます。

gcloud

インスタンス テンプレートを作成する場合は、gcloud ツールを使用して --min-cpu-platform フラグを指定します。次に例を示します。

gcloud compute instance-templates create example-template \
    --min-cpu-platform "Intel Haswell"

API

API で新しいインスタンス テンプレートを作成するには、リクエストの一部として minCpuPlatform を追加します。

次のインタンス テンプレートの例に、minCpuPlatform プロパティを追加したテンプレートを新規に作成する際に最小限必要となるフィールドが示されています。

{
"name": "example-template",
"properties": {
  "machineType": "zones/us-central1-a/machineTypes/n1-standard-4",
  "minCpuPlatform": "Intel Haswell",
  "networkInterfaces": [
    {
      "network": "global/networks/default",
      "accessConfigs":
      [
        {
          "name": "external-IP",
          "type": "ONE_TO_ONE_NAT"
        }
      ]
    }
  ],
  "disks":
  [
    {
      "type": "PERSISTENT",
      "boot": true,
      "mode": "READ_WRITE",
      "initializeParams":
      {
        "sourceImage": "projects/debian-cloud/global/images/family/debian-8"
      }
    }
  ]
  }
}

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Compute Engine ドキュメント