VM インスタンス プレースメント ポリシーを使用する


各仮想マシン(VM)インスタンスは、データセンターのクラスタ内にあるラック内の物理サーバーまたはホストで実行されます。次のプレースメント ポリシーを使用すると、ゾーン内で VM の物理的かつ相対的な配置場所を制御できます。

  • スプレッド プレースメント ポリシー。VM を分散させる場合には、スプレッド ポリシーを使用します。これにより、ホストのシステム障害の影響を軽減したり、VM のライブ マイグレーションを最適化したりできます。
  • コンパクト プレースメント ポリシー。VM 間のネットワーク レイテンシを低くするために VM を相互に近い場所に配置する場合は、コンパクト ポリシーを使用します。

始める前に

制限

プレースメント ポリシーには次の制限があります。

  • スプレッド プレースメント ポリシー:
    • ポリシーごとに最大 8 台の VM をサポート
    • C2、G2、N1、N2、N2D マシンタイプのみをサポートします。
    • VM プレースメント トポロジ API では使用できません。
    • VM の予約では使用できません。
  • コンパクト プレースメント ポリシー:

プレースメント ポリシーを作成する

VM の相対位置を制御するには、次の操作を行います。

  1. VM に必要なプレースメント構成を使用して、スプレッド プレースメント ポリシーまたはコンパクト プレースメント ポリシーを作成します。
    • スプレッド プレースメント ポリシーでは、VM が同じホストまたは電源システムを共有しないように、基盤となるデータセンターのインフラストラクチャ全体に VM を分散して配置します。これにより、ホストの障害または電源障害による影響を低減できます。
    • コンパクト プレースメント ポリシーを使用すると、VM 間のネットワーク レイテンシを低くするため、VM を相互に近い場所に配置します。
  2. 1 つ以上の VM にプレースメント ポリシーを適用します。同じポリシーを共有する VM は、ポリシーの定義に従って相互に配置されます。新規や既存の VM にポリシーを適用することも、インスタンス テンプレートでポリシーを指定することもできます。このポリシーを使用すると、スタンドアロン VM、マネージド インスタンス グループ(MIG)VM の予約に対して作成できます。

スプレッド プレースメント ポリシーを作成する

複数の異なるアベイラビリティ ドメインに VM を配置するスプレッド プレースメント ポリシーを作成するには、このポリシーで VM の分離に使用するアベイラビリティ ドメインの数を指定します。

gcloud

gcloud CLI を使用してポリシーを作成します。

gcloud compute resource-policies create group-placement POLICY_NAME \
    --availability-domain-count DOMAIN_COUNT \
    --region REGION \
    --project PROJECT_ID

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

  • POLICY_NAME: 新しいポリシーの名前
  • DOMAIN_COUNT: このポリシーが VM の分離に使用するホスト ハードウェアと物理ネットワークのセット数
  • REGION: このポリシーを使用する VM を作成する予定のリージョン
  • PROJECT_ID: プロジェクト ID

API

Google Cloud Console の [API とサービス] で resourcePolicies.insert メソッドを使用して、スプレッド プレースメント ポリシーを作成します。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies

リクエストの本文に、プレースメント ポリシーの詳細を入力します。

{
  "name": "POLICY_NAME",
  "groupPlacementPolicy": {
    "availabilityDomainCount": DOMAIN_COUNT
  }
}

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

  • PROJECT_ID: プロジェクト ID
  • REGION: このポリシーを使用する VM を作成する予定のリージョン
  • POLICY_NAME: 新しいポリシーの名前
  • DOMAIN_COUNT: このポリシーが VM の分離に使用するホスト ハードウェアと物理ネットワークのセット数

コンパクト プレースメント ポリシーを作成する

VM を相互に近い同じネットワーク インフラストラクチャに配置するコンパクト プレースメント ポリシーを作成するには、COLLOCATED ポリシーを指定します。

gcloud

gcloud CLI を使用してポリシーを作成します。

gcloud compute resource-policies create group-placement POLICY_NAME \
    --collocation COLLOCATED \
    --region REGION \
    --project PROJECT_ID

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

  • POLICY_NAME: 新しいポリシーの名前
  • REGION: このポリシーを使用する VM を作成する予定のリージョン
  • PROJECT_ID: プロジェクト ID

API

Google Cloud Console の [API とサービス] で resourcePolicies.insert メソッドを使用してスプレッド プレースメント ポリシーを作成します。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies

リクエストの本文に、プレースメント ポリシーの詳細を入力します。

{
  "name": "POLICY_NAME",
  "groupPlacementPolicy": {
    "collocation": "COLLOCATED"
  }
}

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

  • PROJECT_ID: プロジェクト ID
  • REGION: このポリシーを使用する VM を作成する予定のリージョン
  • POLICY_NAME: 新しいポリシーの名前

プレースメント ポリシーを VM に適用する

プレースメント ポリシーを作成したら、新規または既存の VM に適用できます。プレースメント ポリシーのサポートはシナリオによって異なります。

シナリオ コンパクト プレースメントのサポート スプレッド プレースメントのサポート
新しい VM にプレースメント ポリシーを適用する
既存の VM にプレースメント ポリシーを適用する
VM の作成に使用できるインスタンス テンプレート内のプレースメント ポリシーを指定する
MIG の作成または更新に使用できるインスタンス テンプレートでプレースメント ポリシーを指定する
VM 予約の作成に使用できるインスタンス テンプレート内のプレースメント ポリシーを指定する

新しい VM にプレースメント ポリシーを適用する

プレースメント ポリシーを作成したら、1 つ以上の VM に適用します。同じポリシーを共有する VM は、ポリシーの定義に従って相互に配置されます。

gcloud

VM を個別に、または一括で作成するときに、--resource-policies フラグを指定して VM にプレースメント ポリシーを適用します。

コンパクト プレースメント ポリシーの場合は、--maintenance-policy=TERMINATE フラグと --no-restart-on-failure フラグを含める必要があります。

たとえば、コンパクト プレースメント ポリシーを使用する VM を作成するには、次のコマンドを使用します。

gcloud compute instances create VM_NAME \
    --zone=ZONE \
    --resource-policies=POLICY_NAME \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --project=PROJECT_ID \
    --maintenance-policy=TERMINATE \
    --no-restart-on-failure \
    --async

以下を置き換えます。

  • VM_NAME: 新しい VM の名前。
  • ZONE: 新しい VM を作成するゾーン

    このゾーンは、プレースメント ポリシーと同じリージョンに存在する必要があります。

  • POLICY_NAME: この VM に適用するプレースメント ポリシーの名前

    VM には複数のプレースメント ポリシーを適用できます。

  • IMAGE_FAMILY: 使用可能なイメージ ファミリーのいずれか。

  • IMAGE_PROJECT: イメージが属するイメージ プロジェクト

  • PROJECT_ID: プロジェクト ID。

API

VM を個別に、または一括で作成するときに、--resource-policies フラグを指定して VM にプレースメント ポリシーを適用します。

たとえば、単一の VM を作成するには、次のコマンドを使用します。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances

リクエストの本文に、リソース ポリシーを指定します。コンパクト プレースメント ポリシーの場合、"onHostMaintenance": "TERMINATE" 引数と "automaticRestart": false 引数を含める必要があります。

{
  "name": "VM_NAME",
  "machineType": "machineTypes/MACHINE_TYPE"
  "networkInterfaces": [{
    "accessConfigs": [{
      "type": "ONE_TO_ONE_NAT",
      "name": "External NAT"
    }],
    "network": "global/networks/default"
  }],
  "scheduling": {
    "onHostMaintenance": "TERMINATE",
    "automaticRestart": false
  },
  "disks": [{
     "autoDelete": "true",
     "boot": "true",
     "type": "PERSISTENT",
     "initializeParams": {
       "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
     }
  }],
  "resourcePolicies": [
    "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
  ]
}

以下を置き換えます。

  • PROJECT_ID: プロジェクト ID。
  • ZONE: 新しい VM を作成するゾーン

    このゾーンは、プレースメント ポリシーと同じリージョンに存在する必要があります。

  • VM_NAME: 新しい VM の名前。

  • MACHINE_TYPE: VM のマシンタイプ

  • IMAGE_PROJECT: イメージが属するイメージ プロジェクト

  • IMAGE_FAMILY: 使用可能なイメージ ファミリーのいずれか。

  • REGION: プレースメント ポリシーを作成したリージョン。

  • POLICY_NAME: この VM に適用するプレースメント ポリシーの名前

    VM には複数のプレースメント ポリシーを適用できます。

既存の VM にスプレッド プレースメント ポリシーを適用する

スプレッド プレースメント ポリシーを作成すると、VM を再起動せずに 1 つ以上の既存のインスタンスに適用できます。

gcloud

add-resource-policies コマンドを使用して、既存のインスタンスにスプレッド プレースメント ポリシーを適用します。

gcloud compute instances add-resource-policies VM_NAME \
    --zone=ZONE \
    --resource-policies=SPREAD_PLACEMENT_POLICY_NAME \
    --project=PROJECT_ID

以下を置き換えます。

  • VM_NAME: VM の名前。
  • ZONE: VM のゾーン。

    このゾーンは、プレースメント ポリシーと同じリージョンに存在する必要があります。

  • SPREAD_PLACEMENT_POLICY_NAME: この VM に適用する既存のスプレッド プレースメント ポリシーの名前。

  • PROJECT_ID: プロジェクト ID。

API

addResourcePolicies メソッドを使用して、既存のインスタンスにスプレッド プレースメント ポリシーを適用します。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/addResourcePolicies

リクエストの本文で、スプレッド プレースメント ポリシーを指定します。

{
  "resourcePolicies": [
    "projects/PROJECT_ID/regions/REGION/resourcePolicies/SPREAD_PLACEMENT_POLICY_NAME"
  ]
}

以下を置き換えます。

  • PROJECT_ID: プロジェクト ID。
  • ZONE: 新しい VM を作成するゾーン

    このゾーンは、プレースメント ポリシーと同じリージョンに存在する必要があります。

  • VM_NAME: 新しい VM の名前。

  • REGION: このポリシーを使用する VM インスタンスを作成するリージョン。

  • SPREAD_PLACEMENT_POLICY_NAME: この VM に適用する既存のスプレッド プレースメント ポリシーの名前。

プレースメント ポリシーを指定するインスタンス テンプレートを作成する

インスタンス テンプレートを作成するときに、プレースメント ポリシーを指定できます。特に、以下の点に注意してください。

  • インスタンス テンプレートにコンパクト プレースメント ポリシーを指定すると、テンプレートを使用して MIG、VM、VM の予約を作成できます。

  • インスタンス テンプレートでスプレッド プレースメント ポリシーを指定すると、MIG と VM を作成するためにのみテンプレートを使用できます。

gcloud

リソース ポリシーを指定するインスタンス テンプレートを作成するには、--resource-policies フラグを指定して gcloud compute instance-templates create コマンドを使用します。コンパクト プレースメント ポリシーを指定するには、--maintenance-policy=TERMINATE フラグと --no-restart-on-failure フラグも指定する必要があります。

たとえば、デフォルトの VM プロパティを持ち、コンパクト プレースメント ポリシーを含むインスタンス テンプレートを作成するには、次のコマンドを使用します。

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --resource-policies=COMPACT_PLACEMENT_POLICY_NAME \
    --maintenance-policy=TERMINATE \
    --no-restart-on-failure

以下を置き換えます。

  • INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。

  • COMPACT_PLACEMENT_POLICY_NAME: 既存のコンパクト プレースメント ポリシーの名前。

API

リソース ポリシーを指定するインスタンス テンプレートを作成するには、instanceTemplates.insert メソッドPOST リクエストを発行します。リクエストの本文で、resourcePolicies フィールドにプレースメント ポリシーを指定します。コンパクト プレースメント ポリシーを指定するには、"onHostMaintenance": "TERMINATE" フィールドと "automaticRestart": false フィールドも指定する必要があります。

たとえば、デフォルトの VM プロパティを持ち、コンパクト プレースメント ポリシーを含むインスタンス テンプレートを作成するには、次のコマンドを使用します。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates

{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "resourcePolicies": {
      "COMPACT_PLACEMENT_POLICY_NAME"
    },
    "scheduling": {
      "onHostMaintenance": "TERMINATE",
      "automaticRestart": false
    },
    ...
  }
}

以下を置き換えます。

  • PROJECT_ID: 現在のプロジェクトのプロジェクト ID

  • INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前。

  • COMPACT_PLACEMENT_POLICY_NAME: 既存のコンパクト プレースメント ポリシーの名前。

テンプレートを使用して MIG、VM、VM の予約を作成する場合は、次のドキュメントをご覧ください。

マネージド インスタンス グループ内の VM にプレースメント ポリシーを適用する

プレースメント ポリシーを作成した後、ポリシーを指定するインスタンス テンプレートを作成します。次に、MIG を作成するか、そのインスタンス テンプレートで既存の MIG を更新します。プレースメント ポリシーは、そのインスタンス テンプレートを使用するグループ内の VM に適用されます。

VM 間の広範な通信を必要とするワークロードがある場合は、コンパクト プレースメント ポリシーを作成し、任意の単一ゾーン分配形態でリージョン MIG を使用することをおすすめします。任意のシングルゾーン形態では、リージョン MIG に VM がなく、スケールアウトが必要な場合は、予約、割り当て、ハードウェア要件に基づいて最適なゾーンがグループにより選択されます。

新しい MIG にプレースメント ポリシーを適用する

gcloud CLI または Compute Engine API を使用できます。

gcloud

前に作成したテンプレートに基づく VM で MIG を作成するには、instance-groups managed create コマンドを使用します。たとえば、任意の単一ゾーン分配形態でリージョン MIG を作成するには、次のコマンドを使用します。

gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --template TEMPLATE_NAME \
    --size SIZE \
    --region REGION \
    --zones ZONES \
    --target-distribution-shape=any-single-zone

以下を置き換えます。

  • INSTANCE_GROUP_NAME: このインスタンス グループの名前
  • TEMPLATE_NAME: このグループに使用するインスタンス テンプレートの名前
  • SIZE: インスタンス グループのサイズ。
  • REGION: このインスタンス グループのリージョン

  • ZONES(省略可): MIG が VM インスタンスをデプロイできるリージョン内のゾーンのリスト。デフォルトでは、Compute Engine は 3 つのゾーンを選択します。

    • MIG でリージョン内のすべてのゾーンを使用できるようにするには、使用可能なすべてのゾーンを指定します。次のコマンドを使用すると、リージョン内のゾーンのリストを取得できます。

      gcloud compute zones list --filter=region:REGION --format='list(NAME)'
    • 作成後に別のゾーンを使用するようにリージョン MIG を更新することはできません。

API

前に作成したテンプレートに基づく VM で MIG を作成するには、instanceGroupManagers.insert または regionInstanceGroupManagers.insert メソッドを呼び出して、そのテンプレートを指定します。たとえば、任意の単一ゾーン分配形態でリージョン MIG を作成するには、次の方法を使用します。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers

{
  "name": "INSTANCE_GROUP_NAME",
  "instanceTemplate": "global/instanceTemplates/TEMPLATE_NAME",
  "targetSize": SIZE,
  "distributionPolicy": {
      "zones": [
          {"zone": "zones/ZONE1"},
          {"zone": "zones/ZONE2"},
          {"zone": "zones/ZONE3"},
      ],
      "targetShape": "ANY_SINGLE_ZONE"
  }
}

以下を置き換えます。

  • PROJECT_ID: このリクエストのプロジェクト ID
  • REGION: グループのリージョン
  • INSTANCE_GROUP_NAME: MIG の名前
  • TEMPLATE_NAME: 使用するインスタンス テンプレート
  • SIZE: グループの VM のターゲット数
  • ZONES: MIG が VM インスタンスをデプロイできるリージョン内のゾーンの名前。
    • MIG でリージョン内のすべてのゾーンを使用できるようにするには、使用可能なすべてのゾーンを指定します。リージョン内のゾーンのリストを取得するには、regions.get メソッドを呼び出します。
    • 作成後に別のゾーンを使用するようにリージョン MIG を更新することはできません。

MIG の作成の詳細については、マネージド インスタンス グループ(MIG)を作成するための基本的なシナリオをご覧ください。

既存の MIG にプレースメント ポリシーを適用する

プレースメント ポリシーを作成した後、ポリシーを指定するインスタンス テンプレートを作成します。次に、テンプレートを既存の MIG に適用します。gcloud CLI または Compute Engine API を使用できます。

gcloud

新しいテンプレートを使用するように MIG を更新し、新しいテンプレートを MIG の既存の VM に自動的にロールアウトするには、次の例のように instance-groups managed rolling-action start-update コマンドを使用します。

gcloud compute instance-groups managed rolling-action start-update INSTANCE_GROUP_NAME \
    --template TEMPLATE_NAME \
    --type=proactive

API

新しいテンプレートを使用するように MIG を更新するには、リージョンまたはゾーンの MIG で patch メソッドを呼び出します。

たとえば、リージョン MIG の場合、次のリクエストは、すべてのインスタンスを新しいインスタンス テンプレートに自動的に更新するために必要な最小構成を示しています。

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME

{
  "instanceTemplate": "global/instanceTemplates/TEMPLATE_NAME",
  "updatePolicy": {
    "type": "PROACTIVE"
   }
}

MIG 内の VM を更新するその他の方法については、MIG 内の VM に新しい構成を更新して適用するをご覧ください。

プレースメント ポリシーを表示する

VM に適用されたプレースメント ポリシーと、特定のプレースメント ポリシーの詳細を表示するには、ツールと Compute Engine API を使用できます。

VM のプレースメント ポリシーを表示する

gcloud

VM のリソース プレースメント ポリシーを表示するには、gcloud compute instances describe コマンドを使用します。

gcloud compute instances describe VM_NAME

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

プレースメント ポリシーを使用できる場合、出力には resourcePolicies フィールドが含まれます。

resourcePolicies:
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGIONS/resourcePolicies/POLICY_NAME

API

VM のリソース プレースメント ポリシーを表示するには、instances.get メソッドを使用します。

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

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

  • PROJECT_ID: プロジェクト ID
  • ZONE: VM を含むゾーン
  • VM_NAME: VM の名前

プレースメント ポリシーを使用できる場合、resourcePolicies フィールドは VM のリソース ポリシーを返します。

"resourcePolicies": [
"https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/VM_NAME"
],

プレースメント ポリシーの詳細を表示する

gcloud

プレースメント ポリシーの詳細を表示するには、gcloud compute resource-policies describe コマンドを使用します。

gcloud compute resource-policies describe POLICY_NAME

POLICY_NAME は、プレースメント ポリシーの名前に置き換えます。

プレースメント ポリシーを使用できる場合、出力にプレースメント ポリシーの詳細が含まれます。

...
groupPlacementPolicy:
  availabilityDomainCount: 2
kind: compute#resourcePolicy
name: POLICY_NAME
region: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION
...

API

プレースメント ポリシーの詳細を表示するには、resourcePolicies.get メソッドを使用します。

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME

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

  • PROJECT_ID: プロジェクト ID
  • REGION: VM を含むリージョン
  • POLICY_NAME: プレースメント ポリシーの名前

プレースメント ポリシーを使用できる場合、レスポンスの本文にはプレースメント ポリシーの詳細が含まれます。

...
"region": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION",
"name": "POLICY_NAME",
"groupPlacementPolicy": {
  "availabilityDomainCount": 2
},
"kind": "compute#resourcePolicy"
...

VM 配置のトポロジを表示する

VM が別の VM に関連して配置されている場所についての情報を表示できます。この情報は、VM のトポロジを構築し、どの VM が互いに最も近くにあるか、そしてどの VM が最小限のハードウェアを共有しているのかを判断するのに役立ちます。

VM プレースメント トポロジ情報は、同じプレースメント ポリシーを使用する VM に対してのみ比較できます。

gcloud

プレースメント ポリシーで作成された VM の resource プロパティを表示します。

gcloud compute instances describe VM_NAME \
    --format="table[box,title=VM-Topology](resourcePolicies.scope():sort=1,resourceStatus.physicalHost:label=location)"

VM_NAME は、プレースメント ポリシーを使用する VM インスタンスの名前に置き換えます。

出力例を以下に示します。

VM-Topology

RESOURCE_POLICIES: us-central1/resourcePolicies/policy_name']
PHYSICAL_HOST: /xxxxxxxx/xxxxxx/xxxxx

PHYSICAL_HOST の値は 3 つのフィールドで構成されます。これらのフィールドには、VM が配置されているクラスタ、サーバーラック、ホストマシンを表すハッシュ値が含まれます。この値を他の VM と比較する場合、同じ文字列を持つフィールドが多いほど、VM は互いに近い場所に位置しています。たとえば、同じプロジェクト、クラスタに属し、同じラックで実行される 2 つの VM は、PHYSICAL_HOST フィールドの最初の 2 つの部分に同じ値を持ちます。

API

コンパクト プレースメント ポリシーを使用して作成された VM の詳細を表示します。instances.get メソッドGET リクエストを送信します。

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

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

  • PROJECT_ID: このクエリのプロジェクト ID。
  • ZONE: クエリを実行するインスタンスのゾーン。
  • VM_NAME: プレースメント ポリシーを使用する VM の名前。

レスポンスの本文には、次のようなスニペットが含まれます。

{
  ...
  resourcePolicies:
  - https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/ZONE/resourcePolicies/POLICY_NAME
  resourceStatus:
      physical_host: /xxxxxxxx/xxxxxx/xxxxx
  ...
}

physical_host の値は 3 つのフィールドで構成され、このフィールドにはクラスタ、サーバーラック、VM が配置されているホストマシンを表すハッシュ値が含まれます。この値を他の VM と比較する場合、同じ文字列を持つフィールドが多いほど、VM は互いに近い場所に位置しています。たとえば、同じプロジェクト、クラスタに属し、同じラックで実行される 2 つの VM は、physicalHost フィールドの最初の 2 つの部分に同じ値を持ちます。

VM がコンパクト プレースメント ポリシーを使用していない場合は、プロパティの値が次のように出力に表示されます。

resourceStatus: {}

プレースメント ポリシーを削除する

不要なプレースメント ポリシーを削除できます。

gcloud

gcloud CLI を使用してポリシーを削除します。

gcloud compute resource-policies delete POLICY_NAME \
    --region REGION \
    --project PROJECT_ID

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

  • POLICY_NAME: 削除する新しいポリシーの名前
  • REGION: このポリシーを使用する VM インスタンスを作成したリージョン
  • PROJECT_ID: プロジェクト ID

API

スプレッド プレースメント ポリシーを作成するには、Google Cloud コンソールの [API とサービス] で resourcePolicies.insert メソッドを使用します。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies

リクエストの本文に、プレースメント ポリシーの詳細を入力します。

{
  "name": "POLICY_NAME",
  "groupPlacementPolicy": {
    "availabilityDomainCount": DOMAIN_COUNT
  }
}

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

  • PROJECT_ID: プロジェクト ID
  • REGION: このポリシーを使用する VM インスタンスを作成するリージョン
  • POLICY_NAME: 新しいポリシーの名前
  • DOMAIN_COUNT: このポリシーがインスタンスの分離に使用するホスト ハードウェアと物理ネットワークのセット数

次のステップ