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 を停止し、再起動した後も、VM はそのゾーンで使用できる適した CPU プラットフォームで実行し続けることができます。CPU プラットフォームが廃止されることはまれですが、廃止される場合は事前に通知されます。

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

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

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

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

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

どのタイミングでも、新しいリージョンまたはゾーンが作成されると、その時点で最新の 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

たとえば、次のコマンドを実行すると、us-west1-a ゾーンの CPU プラットフォームのリストを表示できます。

gcloud compute zones describe us-west1-a

availableCpuPlatforms:
- Intel Broadwell
- Intel Haswell
...

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. [マシンタイプ] セクションで、[カスタマイズ] をクリックします。
  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. [マシンタイプ] セクションで、[カスタマイズ] をクリックします。
  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. [マシンタイプ] セクションで、[カスタマイズ] をクリックします。
  5. [CPU プラットフォーム] プルダウン メニューからいずれかの項目を選択します。
  6. インスタンス テンプレートの作成プロセスを続けます。

gcloud

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

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

API

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 ドキュメント