Detect if a VM is running in Compute Engine

Linux Windows

This document shows you how to use the metadata server or an operating system tool to detect whether a VM is running in Compute Engine.

Use the metadata server to detect if a VM is running in Compute Engine

Depending on the VM's operating system, use one of the following procedures to send a request to the metadata server and detect if a VM is running in Compute Engine:

Linux VM

  1. From the Linux VM, run the following command:

    curl metadata.google.internal -i
    
  2. Verify that Metadata-Flavor: Google exists in output similar to the following:

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

    The existence of Metadata-Flavor: Google in the output indicates that a Compute Engine VM sent the request.

Windows VM

  1. From the Windows VM, run the following command:

    curl metadata.google.internal -i
    
  2. Verify that Metadata-Flavor: Google exists in output similar to the following:

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

    The existence of Metadata-Flavor: Google in the output indicates that a Compute Engine VM sent the request.

Use operating system tools to detect if a VM is running in Compute Engine

Depending on the VM's operating system, use one of the following procedures to use a tool that is specific to the VM's operating system to detect if the VM is running in Compute Engine:

Linux VM

  1. From the Linux VM, run the following dmidecode command:

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

    This dmidecode command directly accesses the System Management BIOS information in /proc/mem.

  2. Verify that Google Compute Engine exists in the output.

Windows VM

  1. From the Windows Command Prompt, run the WMI command-line utility:

    wmic.exe computersystem get model,manufacturer
    
  2. Verify that the System Manufacturer is Google and the System Model is Google Compute Engine.

For information about how to programmatically determine whether a Windows VM is running Compute Engine, see the following:

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025年10月24日 UTC.