Cómo ver la ubicación física de una instancia de Compute Engine

En este documento, se explica cómo ver la ubicación física de las instancias de Compute Engine en ejecución en tu organización de Cloud de Confiance by S3NS .

Después de crear y, luego, iniciar instancias de procesamiento, puedes ver en qué host físico se ejecuta cada instancia de procesamiento en una zona. Usa la ubicación física de las instancias de procesamiento de tu clúster para hacer lo siguiente:

  • Minimiza la latencia de la red: Ajusta el diseño de tu aplicación o carga de trabajo para ejecutar trabajos sensibles a la latencia en instancias de procesamiento que estén lo más cerca posible entre sí.

  • Mejora la confiabilidad de la carga de trabajo: Distribuye las instancias de procesamiento en hosts físicos separados para limitar el impacto de los errores del host en tu aplicación.

Para verificar qué instancias de procesamiento se ejecutan en tu proyecto, consulta una lista de instancias de procesamiento.

Limitaciones

Puedes ver el ID del clúster, el bloque, el subbloque y el host de las instancias de procesamiento que cumplen con uno o más de los siguientes requisitos:

Si una instancia de procesamiento no cumple con ninguno de los requisitos anteriores, puedes ver su ID de host después de exponerlo, como se describe en este documento.

Comprende la topología de las instancias de procesamiento

Cada instancia de procesamiento se ejecuta en un servidor físico, un host, que existe en un bloque de servidores. Cada bloque pertenece a un clúster en una zona. Cuando ves los detalles de las instancias de procesamiento que cumplen con requisitos específicos, puedes comprender su topología en relación con otras instancias de procesamiento que cumplen con los mismos requisitos.

Compute Engine expone los siguientes subcampos en el campo physicalHostTopology de cada instancia de procesamiento. Cuantos más campos secundarios compartan dos instancias de procesamiento en ejecución, más cerca estarán entre sí.

  • Clúster (cluster): Es el nombre global del clúster en el que existe tu instancia de procesamiento. Un clúster es una agrupación lógica de alto nivel de varios hosts, que puede abarcar varios bloques, que funcionan en conjunto como un solo grupo de recursos.

  • Bloque (block): Es el ID específico de la organización del bloque en el que existe tu instancia de procesamiento. Un bloque es una colección de varios hosts agrupados.

  • Sub-block (subBlock): Es el ID específico de la organización del subbloque en el que existe tu instancia de procesamiento. Un subbloque es una subdivisión física en un bloque que agrupa hosts dentro de un solo gabinete físico.

  • Host (host): Es el ID específico de la organización o el proyecto del host en el que se ejecuta tu instancia de procesamiento. El ID del host cambia de la siguiente manera:

    • Si la instancia de procesamiento especifica una política de posición compacta o una política de cargas de trabajo, el ID de host es específico de tu proyecto.

    • Si la instancia de procesamiento especifica una serie de máquinas compatible o expones su ID de host, el ID de host será específico para tu organización.

Antes de comenzar

  • Si aún no lo hiciste, configura la autenticación. La autenticación verifica tu identidad para acceder a los servicios y las APIs de Cloud de Confiance by S3NS . Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:

    Selecciona la pestaña que corresponda a la forma en que planeas usar las muestras de esta página:

    Console

    Cuando usas la consola de Cloud de Confiance para acceder a los servicios y las APIs de Cloud de Confiance by S3NS , no necesitas configurar la autenticación.

    gcloud

    1. Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada. Después de acceder, inicializa Google Cloud CLI con el siguiente comando:

      gcloud init
  • Configura una región y una zona predeterminadas.
  • REST

    Para usar las muestras de la API de REST incluidas en esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la gcloud CLI.

      Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada.

    Para obtener más información, consulta Autentícate para usar REST en la documentación de autenticación de Cloud de Confiance .

Roles obligatorios

Para obtener los permisos que necesitas para verificar la topología de tus instancias de procesamiento, pídele a tu administrador que te otorgue el rol de IAM de Administrador de Compute (roles/compute.admin) en tu proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene los permisos necesarios para verificar la topología de tus instancias de procesamiento. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para verificar la topología de tus instancias de procesamiento:

  • Para ver los detalles de una instancia de procesamiento, usa compute.instances.get.
  • Para ver una lista de instancias de procesamiento: compute.instances.list
  • Para exponer el ID del host cuando creas una instancia de procesamiento, haz lo siguiente:
    • compute.instances.create en el proyecto
    • Para usar una imagen personalizada con el fin de crear la VM, sigue estos pasos: compute.images.useReadOnly en la imagen
    • Si deseas usar una instantánea para crear la VM, sigue estos pasos: compute.snapshots.useReadOnly en la instantánea
    • Para usar una plantilla de instancias a fin de crear la VM, haz lo siguiente: compute.instanceTemplates.useReadOnly en la plantilla de instancias
    • Para asignar una red heredada a la VM: compute.networks.use en el proyecto
    • Si deseas especificar una dirección IP estática para la VM; compute.addresses.use en el proyecto
    • Para asignar una dirección IP externa a la VM cuando se usa una red y punto heredado; compute.networks.useExternalIp en el proyecto
    • A fin de especificar una subred para la VM: compute.subnetworks.use en el proyecto o en la subred elegida
    • Para asignar una dirección IP externa a la VM cuando se usa una red de VPC, compute.subnetworks.useExternalIp en el proyecto o en la subred elegida
    • A fin de configurar los metadatos de la instancia de VM para la VM y los puntos, sigue estos pasos: compute.instances.setMetadata en el proyecto
    • A fin de configurar etiquetas para la VM y los puntos; compute.instances.setTags en la VM
    • Si deseas configurar etiquetas para la VM, haz lo siguiente: compute.instances.setLabels en la VM
    • A fin de configurar una cuenta de servicio para que la VM la usecompute.instances.setServiceAccount en la VM
    • Si deseas crear un disco nuevo para la VM: compute.disks.create en el proyecto
    • Para conectar un disco existente en modo de solo lectura o de lectura y escritura, haz lo siguiente: compute.disks.use en el disco
    • Para conectar un disco existente en modo de solo lectura y dos puntos, sigue estos pasos: compute.disks.useReadOnly en el disco
  • Para exponer el ID del host cuando creas una plantilla de instancias, haz lo siguiente: compute.instanceTemplates.create
  • Para exponer u ocultar el ID del host en una instancia de procesamiento existente, haz lo siguiente: compute.instances.update

También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.

Mostrar u ocultar el ID de host

A menos que una instancia de procesamiento cumpla con requisitos específicos, su ID de host se oculta de forma predeterminada. Puedes exponer el ID del host cuando creas o actualizas instancias de procesamiento. Cuando ves los detalles de tus instancias de procesamiento, puedes ver sus IDs de host específicos de tu Cloud de Confiance organización. No puedes ver los IDs del bloque, el subbloque o el clúster de las instancias de procesamiento.

Para exponer u ocultar el ID del host en una instancia de procesamiento, usa uno de los siguientes métodos:

Si deseas evitar la exposición del ID de host para uno o más proyectos de tu organización, puedes crear una restricción personalizada. Esta restricción es útil, por ejemplo, cuando deseas ejecutar cargas de trabajo sensibles a la seguridad. Para obtener más información, consulta Restricciones personalizadas.

Cómo mostrar u ocultar el ID de host en una instancia de procesamiento existente

Puedes exponer u ocultar el ID del host en una instancia de procesamiento existente sin necesidad de reiniciar. Si inhabilitas el parámetro de configuración que expone el ID de host para una instancia de procesamiento que muestra el ID de host de forma predeterminada, ocurrirá una de las siguientes situaciones:

  • Si la instancia de procesamiento especifica una política de posición compacta o una política de carga de trabajo, verás el ID de host específico del proyecto y la información de ubicación física relacionada.

  • Si la instancia de procesamiento usa un tipo de máquina H4D o un tipo de máquina A3 High con 8 GPUs (o generaciones posteriores), Compute Engine ignorará la solicitud.

Para exponer u ocultar el ID de host de una instancia de procesamiento existente, selecciona una de las siguientes opciones:

gcloud

Para exponer u ocultar el ID de host de una instancia de procesamiento existente, usa el comando gcloud compute instances update con una de las siguientes marcas:

  • Para exponer el ID del host, incluye la marca --expose-host-topology:

    gcloud compute instances update INSTANCE_NAME \
        --expose-host-topology \
        --zone=ZONE
    
  • Para ocultar el ID de host, incluye la marca --no-expose-host-topology:

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

Reemplaza lo siguiente:

  • INSTANCE_NAME: Es el nombre de la instancia de procesamiento.

  • ZONE: Es la zona en la que existe la instancia de procesamiento.

REST

  1. Para ver las propiedades de una instancia de procesamiento existente, realiza una solicitud GET al método instances.get:

    GET https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
    

    Reemplaza lo siguiente:

    • PROJECT_ID: Es el ID del proyecto en el que creaste la instancia de procesamiento.

    • ZONE: Es la zona en la que existe la instancia de procesamiento.

    • INSTANCE_NAME: Es el nombre de la instancia de procesamiento.

  2. Para actualizar una instancia de procesamiento y exponer u ocultar el ID del host, realiza una solicitud PUT al método instances.update. En el cuerpo de la solicitud, usa el resultado de la solicitud GET del paso anterior. Sin embargo, en el campo scheduling, debes agregar el campo exposeHostTopology para exponer o ocultar el ID del host. Si el campo scheduling no existe en el resultado de la solicitud, agrégalo también.

    La solicitud PUT es similar a la siguiente:

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

    Reemplaza EXPOSE_HOST_ID por uno de los siguientes valores:

    • Para exponer el ID del host, haz lo siguiente: true

    • Para ocultar el ID del host, haz lo siguiente: false

Expone el ID del host en una instancia de procesamiento nueva

Para exponer el ID del host mientras creas una instancia de procesamiento, selecciona una de las siguientes opciones:

gcloud

Para exponer el ID del host mientras creas una instancia de procesamiento, usa el comando gcloud compute instances create con la marca --expose-host-topology:

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

Reemplaza lo siguiente:

  • INSTANCE_NAME: Es el nombre de la instancia de procesamiento.

  • MACHINE_TYPE: Es el tipo de máquina que deseas que use tu instancia de procesamiento.

  • ZONE: Es la zona en la que deseas crear la instancia de procesamiento.

REST

Para exponer el ID del host mientras creas una instancia de procesamiento, realiza una solicitud POST al método instances.insert. En el cuerpo de la solicitud, incluye el campo scheduling.exposeHostTopology configurado como true.

POST https://compute.s3nsapis.fr/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
  }
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto en el que se creará la instancia de procesamiento.

  • ZONE: Es la zona en la que deseas crear la instancia de procesamiento.

  • INSTANCE_NAME: Es el nombre de la instancia de procesamiento.

  • MACHINE_TYPE: Es el tipo de máquina que deseas que use tu instancia de procesamiento.

  • IMAGE_PROJECT: el proyecto de imagen que contiene la imagen; por ejemplo, debian-cloud. Para obtener más información sobre los proyectos de imágenes compatibles, consulta Imágenes públicas del SO.

  • IMAGE: especifica una de las siguientes opciones:

    • una versión específica de la imagen de SO; por ejemplo, debian-12-bookworm-v20240617.

    • Una familia de imágenes, que debe tener el formato family/IMAGE_FAMILY. Esto especifica la imagen de SO no obsoleta más reciente. Por ejemplo, si especificas family/debian-12, se usa la versión más reciente de la familia de imágenes de Debian 12. Para obtener más información sobre el uso de las familias de imágenes, consulta Prácticas recomendadas para las familias de imágenes.

Exponer el ID de host en instancias de procesamiento nuevas de forma masiva

Para exponer el ID del host cuando creas instancias de procesamiento de forma masiva, selecciona una de las siguientes opciones:

gcloud

Para exponer el ID del host cuando creas instancias de procesamiento de forma masiva, ejecuta el comando gcloud compute instances create-bulk con la marca --expose-host-topology.

Por ejemplo, para crear instancias de procesamiento de forma masiva en una sola zona y especificar que se exponga su ID de host, ejecuta el siguiente comando:

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

Reemplaza lo siguiente:

  • COUNT: Es la cantidad de instancias de procesamiento que se crearán.

  • MACHINE_TYPE: Es el tipo de máquina que deseas que usen tus instancias de procesamiento.

  • NAME_PATTERN: Es el patrón de nombres para las instancias de procesamiento. Para reemplazar una secuencia de números en el nombre de una instancia de procesamiento, usa una secuencia de caracteres hash (#). Por ejemplo, si usas instance-# para el patrón de nombre, se generan instancias de procesamiento con nombres que comienzan con instance-1, instance-2 y continúan hasta la cantidad de instancias de procesamiento especificadas por COUNT.

  • ZONE: Es la zona en la que deseas crear instancias de procesamiento de forma masiva.

REST

Para exponer el ID del host cuando creas instancias de procesamiento de forma masiva, realiza una solicitud POST al método instances.bulkInsert. En el cuerpo de la solicitud, incluye el campo instanceProperties.scheduling.exposeHostTopology configurado como true.

Por ejemplo, para crear instancias de procesamiento de forma masiva en una sola zona y especificar que se exponga su ID de host, realiza una solicitud POST de la siguiente manera:

POST https://compute.s3nsapis.fr/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
    }
  }
}

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto en el que se crearán las instancias de procesamiento.

  • ZONE: Es la zona en la que deseas crear las instancias de procesamiento.

  • COUNT: Es la cantidad de instancias de procesamiento que se crearán.

  • NAME_PATTERN: Es el patrón de nombres para las instancias de procesamiento. Para reemplazar una secuencia de números en el nombre de una instancia de procesamiento, usa una secuencia de caracteres hash (#). Por ejemplo, si usas instance-# para el patrón de nombre, se generan instancias de procesamiento con nombres que comienzan con instance-1, instance-2 y continúan hasta la cantidad de instancias de procesamiento especificadas por COUNT.

  • MACHINE_TYPE: Es el tipo de máquina que deseas que usen tus instancias de procesamiento.

  • IMAGE_PROJECT: el proyecto de imagen que contiene la imagen; por ejemplo, debian-cloud. Para obtener más información sobre los proyectos de imágenes compatibles, consulta Imágenes públicas del SO.

  • IMAGE: especifica una de las siguientes opciones:

    • una versión específica de la imagen de SO; por ejemplo, debian-12-bookworm-v20240617.

    • Una familia de imágenes, que debe tener el formato family/IMAGE_FAMILY. Esto especifica la imagen de SO no obsoleta más reciente. Por ejemplo, si especificas family/debian-12, se usa la versión más reciente de la familia de imágenes de Debian 12. Para obtener más información sobre el uso de las familias de imágenes, consulta Prácticas recomendadas para las familias de imágenes.

Expone el ID del host en una nueva plantilla de instancias

Después de crear una plantilla de instancias que especifique que se exponga el ID del host, puedes usar la plantilla de instancias para hacer lo siguiente:

Para exponer el ID del host mientras creas una plantilla de instancias, selecciona una de las siguientes opciones:

gcloud

Para exponer el ID del host mientras creas una plantilla de instancias, usa el comando gcloud compute instance-templates create con la marca --expose-host-topology.

Por ejemplo, usa el siguiente comando para crear una plantilla de instancias regional. Si deseas crear una plantilla de instancias global, usa el mismo comando sin la marca --instance-template-region.

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

Reemplaza lo siguiente:

  • INSTANCE_TEMPLATE_NAME: Es el nombre de la plantilla de instancias.

  • REGION: Es la región en la que se creará la plantilla de instancias.

  • MACHINE_TYPE: Es el tipo de máquina que deseas que usen tus instancias de procesamiento.

REST

Para exponer el ID de host mientras creas una plantilla de instancias, realiza una solicitud POST a uno de los siguientes métodos. En el cuerpo de la solicitud, incluye el campo properties.scheduling.exposeHostTopology configurado como true.

Por ejemplo, para crear una plantilla de instancias regional que exponga el ID del host, realiza una solicitud POST de la siguiente manera:

POST https://compute.s3nsapis.fr/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
    }
  }
}

Reemplaza lo siguiente:

  • PROJECT_ID: el ID del proyecto en el que se creará la plantilla de instancias.

  • REGION: Es la región en la que deseas crear la plantilla de instancias.

  • INSTANCE_TEMPLATE_NAME: el nombre de la plantilla de instancias.

  • IMAGE_PROJECT: el proyecto de imagen que contiene la imagen; por ejemplo, debian-cloud. Para obtener más información sobre los proyectos de imágenes compatibles, consulta Imágenes públicas del SO.

  • IMAGE: especifica una de las siguientes opciones:

    • una versión específica de la imagen de SO; por ejemplo, debian-12-bookworm-v20240617.

    • Una familia de imágenes, que debe tener el formato family/IMAGE_FAMILY. Esto especifica la imagen de SO no obsoleta más reciente. Por ejemplo, si especificas family/debian-12, se usa la versión más reciente de la familia de imágenes de Debian 12. Para obtener más información sobre el uso de las familias de imágenes, consulta Prácticas recomendadas para las familias de imágenes.

  • MACHINE_TYPE: Es el tipo de máquina que deseas que usen tus instancias de procesamiento.

Verifica la ubicación física de la instancia de procesamiento

Solo puedes ver la ubicación física de tus instancias de procesamiento en ejecución si cumplen con requisitos específicos o si expones sus IDs de host.

Para verificar la ubicación física de las instancias de procesamiento en ejecución de tu organización, usa uno de los siguientes métodos:

Verifica la ubicación física con la consola de Cloud de Confiance , gcloud CLI o REST

Para ver la ubicación física de varias instancias de procesamiento a la vez, usa la API de REST. De lo contrario, selecciona una de las siguientes opciones:

Console

  1. En la consola de Cloud de Confiance , ve a la página Instancias de VM.

    Ir a Instancias de VM

  2. En la columna Nombre, haz clic en el nombre de la instancia de procesamiento cuyos detalles deseas ver. Aparecerá una página con los detalles de la instancia y se seleccionará la pestaña Detalles.

  3. En la sección Información básica, verifica el valor del campo Host físico.

gcloud

Para ver la ubicación física de una instancia de procesamiento en ejecución, usa el comando gcloud compute instances describe con la marca --flatten=resourceStatus.physicalHostTopology:

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

Reemplaza lo siguiente:

  • INSTANCE_NAME: Es el nombre de la instancia de procesamiento.

  • ZONE: Es la zona en la que existe la instancia de procesamiento.

El resultado es similar a uno de los siguientes:

  • Si puedes ver el ID del clúster, el bloque, el subbloque y el host de una instancia de procesamiento, el resultado será similar al siguiente:

    ---
    block: 3e3056e23cf91a5cb4a8621b6a52c100
    cluster: europe-west1-cluster-jfhb
    host: 1215168a4ecdfb434fd4d28056589059
    subBlock: 0fc09525cbd5abd734342893ca1c083f
    
  • Si solo puedes ver el ID del host después de exponerlo, el resultado es similar al siguiente:

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

REST

Para ver la ubicación física de tus instancias de procesamiento en ejecución, realiza una de las siguientes solicitudes GET. Cuando realices una solicitud, debes incluir el parámetro de búsqueda fields y limitar el resultado a los campos name, machineType y physicalHostTopology de una instancia de procesamiento. También debes incluir el parámetro de consulta filter y limitar los resultados a las instancias de procesamiento en ejecución.

  • Para ver una lista de tus instancias en todas las zonas, usa el método 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
    
  • Para ver una lista de tus instancias en una zona específica, usa el método 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
    

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto en el que existen las instancias de procesamiento.

  • ZONE: Es la zona en la que existen las instancias de procesamiento.

El resultado es similar a uno de los siguientes:

  • Si puedes ver el ID del clúster, el bloque, el subbloque y el host de una instancia de procesamiento, el resultado será similar al siguiente. En el siguiente ejemplo, las instancias de procesamiento vm-01 y vm-02 se encuentran en el mismo bloque.

    {
      "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"
            }
          }
        },
        ...
      ]
    }
    
  • Si solo puedes ver el ID del host después de exponerlo, el resultado es similar al siguiente:

    {
      "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
            }
          }
        },
        ...
      ]
    }
    

Si deseas definir mejor tu lista de instancias de procesamiento, edita la expresión de filtro en el parámetro de consulta filter.

Verifica la ubicación física consultando la clave de metadatos

Para ver la ubicación física de una instancia de procesamiento en ejecución consultando la clave de metadatos physical_host_topology, selecciona una de las siguientes opciones:

Instancias de Linux

  1. Conéctate a tu instancia de Linux.

  2. Consulta la clave de metadatos physical_host_topology con curl:

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

    El resultado es similar a uno de los siguientes:

    • Si puedes ver el ID del clúster, el bloque, el subbloque y el host de una instancia de procesamiento, el resultado será similar al siguiente:

      {
        "block": "3e3056e23cf91a5cb4a8621b6a52c100",
        "cluster": "europe-west1-cluster-jfhb",
        "host": "2326279b5ecdfc545fd5e39167698168",
        "subBlock": "1fc18636cbd4abd623553784ca2c174e"
      }
      
    • Si solo puedes ver el ID del host después de exponerlo, el resultado será similar al siguiente:

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

Instancias de Windows

  1. Conéctate a tu instancia de Windows.

  2. Consulta la clave de metadatos physical_host_topology con el comando Invoke-RestMethod:

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

    El resultado es similar a uno de los siguientes:

    • Si puedes ver el ID del clúster, el bloque, el subbloque y el host de una instancia de procesamiento, el resultado será similar al siguiente:

      {
        "block": "3e3056e23cf91a5cb4a8621b6a52c100",
        "cluster": "europe-west1-cluster-jfhb",
        "host": "2326279b5ecdfc545fd5e39167698168",
        "subBlock": "1fc18636cbd4abd623553784ca2c174e"
      }
      
    • Si solo puedes ver el ID del host después de exponerlo, el resultado será similar al siguiente:

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

¿Qué sigue?