Compute Engine インスタンスの物理的な位置を表示する

このドキュメントでは、 Google Cloud 組織で実行中の Compute Engine インスタンスの物理的な場所を表示する方法について説明します。

コンピューティング インスタンスを作成して起動すると、各コンピューティング インスタンスが実行されているゾーン内の物理ホストを確認できます。クラスタ内のコンピューティング インスタンスの物理的なロケーションを使用して、次の操作を行います。

  • ネットワーク レイテンシを最小限に抑える: 互いに最も近いコンピューティング インスタンスでレイテンシの影響を受けやすいジョブを実行するように、アプリケーションまたはワークロードの設計を調整します。

  • ワークロードの信頼性を向上させる: コンピューティング インスタンスを個別の物理ホストに分散して、アプリケーションでのホストエラーの影響を制限します。

プロジェクトで実行されているコンピューティング インスタンスを確認するには、コンピューティング インスタンスのリストを表示します。

制限事項

次の要件を 1 つ以上満たすコンピューティング インスタンスのクラスタ、ブロック、サブブロック、ホストの ID を確認できます。

コンピューティング インスタンスが上記の要件を満たしていない場合は、このドキュメントの説明に従って、ホスト ID を公開した後に確認できます。

コンピューティング インスタンスのトポロジについて

各コンピューティング インスタンスは、サーバー ブロックにある物理サーバー(ホスト)で実行されます。各ブロックはゾーン内のクラスタに属します。特定の要件を満たすコンピューティング インスタンスの詳細を表示すると、同じ要件を満たす他のコンピューティング インスタンスとの相対的なトポロジを把握できます。

Compute Engine は、各コンピューティング インスタンスの physicalHostTopology フィールドで次のサブフィールドを公開します。実行中の 2 つのコンピューティング インスタンスが共有するサブフィールドが多いほど、相互に近くなります。

  • クラスタ(cluster): コンピューティング インスタンスが存在するクラスタのグローバル名。クラスタは、複数のホストの論理グループをまとめたもので、複数のブロックにまたがることができ、単一のリソースプールとして連携します。

  • ブロック(block): コンピューティング インスタンスが存在するブロックの組織固有の ID。ブロックは、グループ化された複数のホストの集合です。

  • サブブロック(subBlock): コンピューティング インスタンスが存在するサブブロックの組織固有の ID。サブブロックは、ブロック内の物理的な細分化であり、単一の物理エンクロージャ内のホストをグループ化します。

  • ホスト(host): コンピューティング インスタンスが実行されているホストの組織またはプロジェクト固有の ID。ホスト ID は次のように変更されます。

    • コンピューティング インスタンスでコンパクト プレースメント ポリシーまたはワークロード ポリシーを指定すると、ホスト ID はプロジェクト固有になります。

    • コンピューティング インスタンスでサポートされているマシンシリーズが指定されている場合、またはホスト ID を公開している場合、ホスト ID は組織固有のものです。

始める前に

  • まだ設定していない場合は、認証を設定します。認証では、 Google Cloud サービスと API にアクセスするための ID が確認されます。ローカル開発環境からコードまたはサンプルを実行するには、次のいずれかのオプションを選択して Compute Engine に対する認証を行います。

    このページのサンプルをどのように使うかに応じて、タブを選択してください。

    コンソール

    Google Cloud コンソールを使用して Google Cloud サービスと API にアクセスする場合、認証を設定する必要はありません。

    gcloud

    1. Google Cloud CLI をインストールします。インストール後、次のコマンドを実行して Google Cloud CLI を初期化します。

      gcloud init

      外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。

  • デフォルトのリージョンとゾーンを設定します。
  • REST

    このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。

      Google Cloud CLI をインストールします。

      外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。

    詳細については、 Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。

必要なロール

コンピューティング インスタンスのトポロジを確認するために必要な権限を取得するには、プロジェクトに対する Compute 管理者 (roles/compute.admin)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

この事前定義ロールには、コンピューティング インスタンスのトポロジを確認するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

コンピューティング インスタンスのトポロジを確認するには、次の権限が必要です。

  • コンピューティング インスタンスの詳細を表示する: compute.instances.get
  • コンピューティング インスタンスのリストを表示する: compute.instances.list
  • コンピューティング インスタンスの作成時にホスト ID を公開するには:
    • プロジェクトに対する 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
  • インスタンス テンプレートの作成時にホスト ID を公開するには: compute.instanceTemplates.create
  • 既存のコンピューティング インスタンスでホスト ID を公開または非表示にするには: compute.instances.update

カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。

ホスト ID を公開または非公開にする

コンピューティング インスタンスが特定の要件を満たしていない限り、ホスト ID はデフォルトで非表示になります。ホスト ID は、コンピューティング インスタンスの作成時または更新時に公開できます。コンピューティング インスタンスの詳細を表示すると、 Google Cloud 組織に固有のホスト ID を確認できます。コンピューティング インスタンスのブロック、サブブロック、クラスタの ID は表示されません。

コンピューティング インスタンスでホスト ID を公開または非表示にするには、次のいずれかの方法を使用します。

組織内の 1 つ以上のプロジェクトでホスト ID が公開されないようにするには、カスタム制約を作成します。この制約は、セキュリティが重要なワークロードを実行する場合などに便利です。詳細については、カスタム制約をご覧ください。

既存のコンピューティング インスタンスでホスト ID を公開または非表示にする

再起動せずに、既存のコンピューティング インスタンスでホスト ID を公開または非表示にできます。デフォルトでホスト ID を表示するコンピューティング インスタンスのホスト ID を公開する設定を無効にすると、次のいずれかが発生します。

  • コンピューティング インスタンスでコンパクト プレースメント ポリシーまたはワークロード ポリシーが指定されている場合は、プロジェクト固有のホスト ID と関連する物理ロケーション情報が表示されます。

  • コンピューティング インスタンスが H4D マシンタイプまたは 8 個の GPU(またはそれ以降の世代)を備えた A3 High マシンタイプを使用している場合、Compute Engine はリクエストを無視します。

既存のコンピューティング インスタンスのホスト ID を公開または非表示にするには、次のいずれかのオプションを選択します。

gcloud

既存のコンピューティング インスタンスのホスト ID を公開または非表示にするには、次のいずれかのフラグを指定して gcloud compute instances update コマンドを使用します。

  • ホスト ID を公開するには、--expose-host-topology フラグを含めます。

    gcloud compute instances update INSTANCE_NAME \
        --expose-host-topology \
        --zone=ZONE
    
  • ホスト ID を非表示にするには、--no-expose-host-topology フラグを含めます。

    gcloud compute instances update INSTANCE_NAME \
        --no-expose-host-topology \
        --zone=ZONE
    

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

  • INSTANCE_NAME: コンピューティング インスタンスの名前。

  • ZONE: コンピューティング インスタンスが存在するゾーン。

REST

  1. 既存のコンピューティング インスタンスのプロパティを表示するには、instances.get メソッドに GET リクエストを送信します。

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

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

    • PROJECT_ID: コンピューティング インスタンスを作成したプロジェクトの ID。

    • ZONE: コンピューティング インスタンスが存在するゾーン。

    • INSTANCE_NAME: コンピューティング インスタンスの名前。

  2. ホスト ID を公開または非表示にするようにコンピューティング インスタンスを更新するには、instances.update メソッドに PUT リクエストを送信します。リクエストの本文で、前の手順の GET リクエストの出力を使用します。ただし、scheduling フィールドには、ホスト ID を公開または非表示にする exposeHostTopology フィールドを追加する必要があります。リクエストの出力に scheduling フィールドが存在しない場合は、追加します。

    PUT リクエストは次のようになります。

    PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?mostDisruptiveAllowedAction=REFRESH
    
    {
      "scheduling": {
        "exposeHostTopology": EXPOSE_HOST_ID
      },
      ...
    }
    

    EXPOSE_HOST_ID は次のいずれかの値に置き換えます。

    • ホスト ID を公開するには: true

    • ホスト ID を非表示にするには: false

新しいコンピューティング インスタンスでホスト ID を公開する

コンピューティング インスタンスの作成時にホスト ID を公開するには、次のいずれかのオプションを選択します。

gcloud

コンピューティング インスタンスの作成時にホスト ID を公開するには、--expose-host-topology フラグを指定して gcloud compute instances create コマンドを使用します。

gcloud compute instances create INSTANCE_NAME \
    --machine-type=MACHINE_TYPE \
    --expose-host-topology \
    --zone=ZONE

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

  • INSTANCE_NAME: コンピューティング インスタンスの名前。

  • MACHINE_TYPE: コンピューティング インスタンスで使用するマシンタイプ。

  • ZONE: コンピューティング インスタンスを作成するゾーン。

REST

コンピューティング インスタンスの作成時にホスト ID を公開するには、instances.insert メソッドに POST リクエストを送信します。リクエストの本文に、true に設定された scheduling.exposeHostTopology フィールドを含めます。

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

{
  "name": "INSTANCE_NAME",
  "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
  "disks": [
    {
      "boot": true,
      "initializeParams": {
        "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
      }
    }
  ],
  "networkInterfaces": [
    {
      "network": "global/networks/default"
    }
  ],
  "scheduling": {
    "exposeHostTopology": true
  }
}

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

  • PROJECT_ID: コンピューティング インスタンスを作成するプロジェクトの ID。

  • ZONE: コンピューティング インスタンスを作成するゾーン。

  • INSTANCE_NAME: コンピューティング インスタンスの名前。

  • MACHINE_TYPE: コンピューティング インスタンスで使用するマシンタイプ。

  • IMAGE_PROJECT: イメージを含むイメージ プロジェクト(例: debian-cloud)。サポートされているイメージ プロジェクトの詳細については、公開 OS イメージをご覧ください。

  • IMAGE: 次のいずれかを指定します。

    • OS イメージの特定のバージョン。例: debian-12-bookworm-v20240617。

    • イメージ ファミリー。family/IMAGE_FAMILY の形式にする必要があります。これにより、非推奨ではない最新の OS イメージが指定されます。たとえば、family/debian-12 を指定すると、Debian 12 イメージ ファミリーの最新バージョンが使用されます。イメージ ファミリーの使用の詳細については、イメージ ファミリーのベスト プラクティスをご覧ください。

新しいコンピューティング インスタンスのホスト ID を一括で公開する

コンピューティング インスタンスを一括作成するときにホスト ID を公開するには、次のいずれかのオプションを選択します。

gcloud

コンピューティング インスタンスを一括で作成するときにホスト ID を公開するには、--expose-host-topology フラグを指定して gcloud compute instances create-bulk コマンドを実行します。

たとえば、単一のゾーンでコンピューティング インスタンスを一括作成し、ホスト ID を公開するように指定するには、次のコマンドを実行します。

gcloud compute instances create-bulk \
    --count=COUNT \
    --machine-type=MACHINE_TYPE \
    --name-pattern="NAME_PATTERN" \
    --expose-host-topology \
    --zone=ZONE

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

  • COUNT: 作成するコンピューティング インスタンスの数。

  • MACHINE_TYPE: コンピューティング インスタンスで使用するマシンタイプ。

  • NAME_PATTERN: コンピューティング インスタンスの名前パターン。コンピューティング インスタンス名の一連の数字を置き換えるには、一連のハッシュ(#)文字を使用します。たとえば、名前パターンに instance-# を使用すると、instance-1、instance-2 で始まり、COUNT で指定されたコンピューティング インスタンスの数まで続く名前のコンピューティング インスタンスが生成されます。

  • ZONE: コンピューティング インスタンスを一括作成するゾーン。

REST

コンピューティング インスタンスを一括作成するときにホスト ID を公開するには、instances.bulkInsert メソッドに POST リクエストを送信します。リクエストの本文に、true に設定された instanceProperties.scheduling.exposeHostTopology フィールドを含めます。

たとえば、単一のゾーンでコンピューティング インスタンスを一括作成し、ホスト ID を公開するように指定するには、次のように 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"
      }
    ],
    "scheduling": {
      "exposeHostTopology": true
    }
  }
}

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

  • PROJECT_ID: コンピューティング インスタンスを作成するプロジェクトの ID。

  • ZONE: コンピューティング インスタンスを作成するゾーン。

  • COUNT: 作成するコンピューティング インスタンスの数。

  • NAME_PATTERN: コンピューティング インスタンスの名前パターン。コンピューティング インスタンス名の一連の数字を置き換えるには、一連のハッシュ(#)文字を使用します。たとえば、名前パターンに instance-# を使用すると、instance-1、instance-2 で始まり、COUNT で指定されたコンピューティング インスタンスの数まで続く名前のコンピューティング インスタンスが生成されます。

  • MACHINE_TYPE: コンピューティング インスタンスで使用するマシンタイプ。

  • IMAGE_PROJECT: イメージを含むイメージ プロジェクト(例: debian-cloud)。サポートされているイメージ プロジェクトの詳細については、公開 OS イメージをご覧ください。

  • IMAGE: 次のいずれかを指定します。

    • OS イメージの特定のバージョン。例: debian-12-bookworm-v20240617。

    • イメージ ファミリー。family/IMAGE_FAMILY の形式にする必要があります。これにより、非推奨ではない最新の OS イメージが指定されます。たとえば、family/debian-12 を指定すると、Debian 12 イメージ ファミリーの最新バージョンが使用されます。イメージ ファミリーの使用の詳細については、イメージ ファミリーのベスト プラクティスをご覧ください。

新しいインスタンス テンプレートでホスト ID を公開

ホスト ID を公開するように指定するインスタンス テンプレートを作成すると、そのインスタンス テンプレートを使用して次のことができます。

インスタンス テンプレートの作成時にホスト ID を公開するには、次のいずれかのオプションを選択します。

gcloud

インスタンス テンプレートの作成時にホスト ID を公開するには、--expose-host-topology フラグを指定して gcloud compute instance-templates create コマンドを使用します。

たとえば、次のコマンドを使用してリージョン インスタンス テンプレートを作成します。グローバル インスタンス テンプレートを作成する場合は、--instance-template-region フラグを使用せずに同じコマンドを使用します。

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --expose-host-topology \
    --instance-template-region=REGION \
    --machine-type=MACHINE_TYPE

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

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

  • REGION: インスタンス テンプレートを作成するリージョン。

  • MACHINE_TYPE: コンピューティング インスタンスで使用するマシンタイプ。

REST

インスタンス テンプレートの作成時にホスト ID を公開するには、次のいずれかのメソッドに POST リクエストを送信します。リクエストの本文に、true に設定された properties.scheduling.exposeHostTopology フィールドを含めます。

たとえば、ホスト ID を公開するリージョン インスタンス テンプレートを作成するには、次のように POST リクエストを送信します。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/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"
      }
    ],
    "scheduling": {
      "exposeHostTopology": true
    }
  }
}

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

  • PROJECT_ID: インスタンス テンプレートを作成するプロジェクトの ID。

  • REGION: インスタンス テンプレートを作成するリージョン。

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

  • IMAGE_PROJECT: イメージを含むイメージ プロジェクト(例: debian-cloud)。サポートされているイメージ プロジェクトの詳細については、公開 OS イメージをご覧ください。

  • IMAGE: 次のいずれかを指定します。

    • OS イメージの特定のバージョン。例: debian-12-bookworm-v20240617。

    • イメージ ファミリー。family/IMAGE_FAMILY の形式にする必要があります。これにより、非推奨ではない最新の OS イメージが指定されます。たとえば、family/debian-12 を指定すると、Debian 12 イメージ ファミリーの最新バージョンが使用されます。イメージ ファミリーの使用の詳細については、イメージ ファミリーのベスト プラクティスをご覧ください。

  • MACHINE_TYPE: コンピューティング インスタンスで使用するマシンタイプ。

コンピューティング インスタンスの物理的な位置を確認する

実行中のコンピューティング インスタンスの物理的なロケーションを表示できるのは、特定の要件を満たしている場合、またはホスト ID を公開している場合のみです。

組織内の実行中のコンピューティング インスタンスの物理的なロケーションを確認するには、次のいずれかの方法を使用します。

Google Cloud コンソール、gcloud CLI、または REST を使用して物理的な場所を確認する

複数のコンピューティング インスタンスの物理的な位置を一度に表示するには、REST API を使用します。または、次のオプションのいずれかを選択します。

コンソール

  1. Google Cloud コンソールで、[VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. [名前] 列で、詳細を表示するコンピューティング インスタンスの名前をクリックします。インスタンスの詳細を示すページが表示され、[詳細] タブが選択されています。

  3. [基本情報] セクションで、[物理ホスト] フィールドの値を確認します。

gcloud

実行中のコンピューティング インスタンスの物理的な位置を表示するには、--flatten=resourceStatus.physicalHostTopology フラグを指定して gcloud compute instances describe コマンドを使用します。

gcloud compute instances describe INSTANCE_NAME \
    --flatten=resourceStatus.physicalHostTopology \
    --zone=ZONE

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

  • INSTANCE_NAME: コンピューティング インスタンス名。

  • ZONE: コンピューティング インスタンスが存在するゾーン。

出力は次のいずれかのようになります。

  • コンピューティング インスタンスのクラスタ、ブロック、サブブロック、ホストの ID を表示できる場合、出力は次のようになります。

    ---
    block: 3e3056e23cf91a5cb4a8621b6a52c100
    cluster: europe-west1-cluster-jfhb
    host: 1215168a4ecdfb434fd4d28056589059
    subBlock: 0fc09525cbd5abd734342893ca1c083f
    
  • ホストの ID を公開後にのみ表示できる場合、出力は次のようになります。

    ---
    block: null
    cluster: null
    host: 1215168a4ecdfb434fd4d28056589059
    subBlock: null
    

REST

実行中のコンピューティング インスタンスの物理的なロケーションを表示するには、次のいずれかの GET リクエストを行います。リクエストを行う場合は、fields クエリ パラメータを含め、出力をコンピューティング インスタンスの name、machineType、physicalHostTopology フィールドに制限する必要があります。また、filter クエリ パラメータを含めて、結果を実行中のコンピューティング インスタンスに制限する必要があります。

  • すべてのゾーンのインスタンスのリストを表示するには: instances.aggregatedList メソッド

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/instances?fields=items.name,items.machineType,items.resourceStatus.physicalHostTopology&filter=status=RUNNING
    
  • 特定のゾーンのインスタンスのリストを表示するには: instances.list メソッド

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances?fields=items.name,items.machineType,items.resourceStatus.physicalHostTopology&filter=status=RUNNING
    

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

  • PROJECT_ID: コンピューティング インスタンスが存在するプロジェクトの ID。

  • ZONE: コンピューティング インスタンスが存在するゾーン。

出力は次のいずれかのようになります。

  • コンピューティング インスタンスのクラスタ、ブロック、サブブロック、ホストの ID を表示できる場合、出力は次のようになります。次の例では、コンピューティング インスタンス vm-01 と vm-02 が同じブロックに配置されています。

    {
      "items": [
        {
          "name": "vm-01",
          "machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g",
          "resourceStatus": {
            "physicalHostTopology": {
              "block": "3e3056e23cf91a5cb4a8621b6a52c100",
              "cluster": "europe-west1-cluster-jfhb",
              "host": "1215168a4ecdfb434fd4d28056589059",
              "subBlock": "0fc09525cbd5abd734342893ca1c083f"
            }
          }
        },
        {
          "name": "vm-02",
          "machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g",
          "resourceStatus": {
            "physicalHostTopology": {
              "block": "3e3056e23cf91a5cb4a8621b6a52c100",
              "cluster": "europe-west1-cluster-jfhb",
              "host": "2326279b5ecdfc545fd5e39167698168",
              "subBlock": "1fc18636cbd4abd623553784ca2c174e"
            }
          }
        },
        ...
      ]
    }
    
  • ホストの ID を公開後にのみ表示できる場合、出力は次のようになります。

    {
      "items": [
        {
          "name": "vm-01",
          "machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g",
          "resourceStatus": {
            "physicalHostTopology": {
              "block": null,
              "cluster": null,
              "host": "1215168a4ecdfb434fd4d28056589059",
              "subBlock": null
            }
          }
        },
        {
          "name": "vm-02",
          "machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g",
          "resourceStatus": {
            "physicalHostTopology": {
              "block": null,
              "cluster": null,
              "host": "2326279b5ecdfc545fd5e39167698168",
              "subBlock": null
            }
          }
        },
        ...
      ]
    }
    

コンピューティング インスタンスのリストを絞り込む場合は、filter クエリ パラメータでフィルタ式を編集します。

メタデータキーをクエリして物理的な位置を確認する

physical_host_topology メタデータキーにクエリを実行して実行中のコンピューティング インスタンスの物理的なロケーションを表示するには、次のいずれかのオプションを選択します。

Linux インスタンス

  1. Linux インスタンスに接続します。

  2. curl を使用して physical_host_topology メタデータキーをクエリします。

    user@myinst:~$ curl -s -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topology
    

    出力は次のいずれかのようになります。

    • コンピューティング インスタンスのクラスタ、ブロック、サブブロック、ホストの ID を表示できる場合、出力は次のようになります。

      {
        "block": "3e3056e23cf91a5cb4a8621b6a52c100",
        "cluster": "europe-west1-cluster-jfhb",
        "host": "2326279b5ecdfc545fd5e39167698168",
        "subBlock": "1fc18636cbd4abd623553784ca2c174e"
      }
      
    • ホストの ID を公開した後にのみ表示できる場合、出力は次のようになります。

      {
        "block": null,
        "cluster": null,
        "host": "2326279b5ecdfc545fd5e39167698168",
        "subBlock": null
      }
      

Windows インスタンス

  1. Windows インスタンスに接続します。

  2. Invoke-RestMethod コマンドを使用して、physical_host_topology メタデータキーをクエリします。

    PS C:\> 
    $value = (Invoke-RestMethod `
            -Headers @{'Metadata-Flavor' = 'Google'} `
            -Uri "http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topology")
    $value
    

    出力は次のいずれかのようになります。

    • コンピューティング インスタンスのクラスタ、ブロック、サブブロック、ホストの ID を表示できる場合、出力は次のようになります。

      {
        "block": "3e3056e23cf91a5cb4a8621b6a52c100",
        "cluster": "europe-west1-cluster-jfhb",
        "host": "2326279b5ecdfc545fd5e39167698168",
        "subBlock": "1fc18636cbd4abd623553784ca2c174e"
      }
      
    • ホストの ID を公開した後にのみ表示できる場合、出力は次のようになります。

      {
        "block": null,
        "cluster": null,
        "host": "2326279b5ecdfc545fd5e39167698168",
        "subBlock": null
      }
      

次のステップ