Detectar si una VM se está ejecutando en Compute Engine

En este documento se explica cómo usar el servidor de metadatos o una herramienta del sistema operativo para detectar si una VM se está ejecutando en Compute Engine.

Usar el servidor de metadatos para detectar si una VM se está ejecutando en Compute Engine

En función del sistema operativo de la VM, sigue uno de los procedimientos que se indican a continuación para enviar una solicitud al servidor de metadatos y detectar si una VM se está ejecutando en Compute Engine:

VM de Linux

  1. En la máquina virtual Linux, ejecuta el siguiente comando:

    curl metadata.google.internal -i
    
  2. Verifica que Metadata-Flavor: Google se encuentra en un resultado similar al siguiente:

    HTTP/1.1 200 OK
    Metadata-Flavor: Google
    Content-Type: application/text
    Date: Tue, 23 Nov 2021 01:27:16 GMT
    Server: Metadata Server for VM
    Content-Length: 22
    X-XSS-Protection: 0
    X-Frame-Options: SAMEORIGIN
    
    0.1/
    computeMetadata/
    

    La presencia de Metadata-Flavor: Google en la salida indica que una VM de Compute Engine ha enviado la solicitud.

VM de Windows

  1. En la VM de Windows, ejecuta el siguiente comando:

    curl metadata.google.internal -i
    
  2. Verifica que Metadata-Flavor: Google se encuentra en un resultado similar al siguiente:

    HTTP/1.1 200 OK
    Metadata-Flavor: Google
    Content-Type: application/text
    Date: Tue, 23 Nov 2021 20:48:50 GMT
    Server: Metadata Server for VM
    Content-Length: 22
    X-XSS-Protection: 0
    X-Frame-Options: SAMEORIGIN
    
    0.1/
    computeMetadata/
    

    La presencia de Metadata-Flavor: Google en la salida indica que una VM de Compute Engine ha enviado la solicitud.

Usar herramientas del sistema operativo para detectar si una VM se está ejecutando en Compute Engine

En función del sistema operativo de la VM, sigue uno de los procedimientos que se indican a continuación para usar una herramienta específica del sistema operativo de la VM y detectar si la VM se está ejecutando en Compute Engine:

VM de Linux

  1. En la máquina virtual Linux, ejecuta el siguiente comando de dmidecode:

    sudo dmidecode -s system-product-name | grep "Google Compute Engine"
    

    Este comando dmidecode accede directamente a la información de la BIOS de gestión del sistema en /proc/mem.

  2. Verifica que Google Compute Engine esté en el resultado.

VM de Windows

  1. En el símbolo del sistema de Windows, ejecuta la utilidad de línea de comandos de WMI:

    wmic.exe computersystem get model,manufacturer
    
  2. Verifica que System Manufacturer sea Google y que System Model sea Google Compute Engine.

Para obtener información sobre cómo determinar mediante programación si una VM de Windows está ejecutando Compute Engine, consulta lo siguiente: