Cómo ver la topología de una instancia de procesamiento

En este documento, se explica cómo ver la ubicación física de tus instancias de Compute Engine A4X Max, A4X, A4, A3 Ultra, A3 Mega y A3 High (8 GPUs) que se ejecutan en bloques de capacidad reservados.

Después de crear instancias A4X Max, A4X, A4, A3 Ultra, A3 Mega y A3 High (8 GPUs), puedes ver sus disposiciones para verificar qué instancias están más cerca unas de otras. Si comprendes la proximidad de las instancias, puedes hacer lo siguiente:

  • Ajustar el diseño de tu aplicación o carga de trabajo para minimizar aún más la latencia de la red

  • Solucionar problemas de latencia de red o rendimiento de instancias que se comunican con frecuencia, si están ubicadas inesperadamente lejos unas de otras

Antes de comenzar

  • Revisa la terminología que se usa en las funciones de Cluster Director.
  • Selecciona la pestaña según cómo planeas usar las muestras en esta página:

    Console

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

    gcloud

    En la Google Cloud consola de, activa Cloud Shell.

    Activa Cloud Shell

    En la parte inferior de la Google Cloud consola de, se inicia una sesión de Cloud Shell en la que se muestra una ventana de línea de comandos. Cloud Shell es un entorno de shell con Google Cloud CLI ya instalada y con valores ya establecidos para el proyecto actual. La sesión puede tardar unos segundos en inicializarse.

    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 la Google Cloud CLI.

      Si usas un proveedor de identidad (IdP) externo, primero debes acceder 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. Google Cloud

Roles obligatorios

Para obtener los permisos que necesitas para ver la topología de la instancia de procesamiento, pídele a tu administrador que te otorgue el rol de IAM Administrador de instancias de Compute (v1) (roles/compute.instanceAdmin.v1) 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 ver la topología de la instancia de procesamiento. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:

Permisos necesarios

Se requieren los siguientes permisos para ver la topología de la instancia de procesamiento:

  • Para ver los detalles de una instancia: compute.instances.get en el proyecto
  • Para ver una lista de instancias: compute.instances.list en el proyecto

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

Comprende la topología de la instancia de procesamiento

Cuando ves los detalles de una instancia de procesamiento en ejecución, puedes comprender su ubicación física en un clúster si verificas el campo Host físico (para la Google Cloud consola), o el campo physicalHostTopology (para la gcloud CLI, la API de Compute Engine o si consultas la clave de metadatos). Estos campos contienen los siguientes subcampos:

  • cluster: Es el nombre global del clúster.

  • block: Es el ID específico de la organización del bloque reservado en el que se encuentra la instancia.

  • sub-block: Es el ID específico de la organización del subbloque en el que se encuentra la instancia.

  • host: Es el ID específico de la organización del host en el que se ejecuta la instancia.

Para comprender la proximidad de la instancia, compara los valores de los campos Host físico o physicalHostTopology entre las instancias. Cuantos más subcampos compartan las instancias, más cerca estarán ubicadas físicamente.

También puedes ver la topología de una reserva en la que se crean las instancias de procesamiento. Los campos physicalHostTopology de una reserva y una instancia muestran los mismos campos block y cluster. Por ejemplo, cuando ves un bloque reservado específico, puedes ver el nombre y el subbloque de todas las instancias que se implementan en el bloque. Para obtener más información sobre la topología de una reserva, consulta Cómo ver la topología de una reserva.

Visualiza la topología de la instancia de procesamiento

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

Console

  1. En la Google Cloud consola de, 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 la que deseas ver los detalles. 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 gcloud compute instances describe comando con la --flatten=resourceStatus.physicalHostTopology marca:

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

Reemplaza lo siguiente:

  • INSTANCE_NAME: Es el nombre de la instancia.

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

El resultado es similar a este:

---
cluster: europe-west1-cluster-jfhb
block: 3e3056e23cf91a5cb4a8621b6a52c100
subBlock: 0fc09525cbd5abd734342893ca1c083f
host: 1215168a4ecdfb434fd4d28056589059

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 consulta fields y especificar que solo se muestren los campos name, machineType y physicalHostTopology de una instancia. También debes incluir el parámetro de consulta filter y especificar que solo se enumeren las instancias en ejecución.

  • Para ver una lista de tus instancias en todas las zonas: instances.aggregatedList método

    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.

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

El resultado es similar a este:

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

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

Visualiza la topología de la instancia de procesamiento 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 procesamiento de Linux.

  2. Desde tu instancia de Linux, crea una consulta con la curl herramienta. Para consultar la clave de metadatos physical_host_topology en las instancias de Linux, ejecuta el siguiente comando:

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

    El resultado es similar a este:

    {
      "cluster": "europe-west1-cluster-jfhb",
      "block": "3e3056e23cf91a5cb4a8621b6a52c100",
      "subBlock": "1fc18636cbd4abd623553784ca2c174e",
      "host": "2326279b5ecdfc545fd5e39167698168"
    }
    

Instancias de Windows

  1. Conéctate a tu instancia de procesamiento de Windows.

  2. Desde tu instancia de Windows, crea una consulta con el Invoke-RestMethod comando. Para consultar la clave de metadatos physical_host_topology en las instancias de Windows, ejecuta el siguiente comando:

    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 este:

    {
      "cluster": "europe-west1-cluster-jfhb",
      "block": "3e3056e23cf91a5cb4a8621b6a52c100",
      "subBlock": "1fc18636cbd4abd623553784ca2c174e",
      "host": "2326279b5ecdfc545fd5e39167698168"
    }
    

¿Qué sigue?