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
From the Linux VM, run the following command:
curl metadata.google.internal -i
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: 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/
The existence of
Metadata-Flavor: Google
in the output indicates that a Compute Engine VM sent the request.
Windows VM
From the Windows VM, run the following command:
curl metadata.google.internal -i
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: 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/
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
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
.Verify that
Google Compute Engine
exists in the output.
Windows VM
From the Windows Command Prompt, run the Microsoft System Information (Msinfo32.exe) tool:
msinfo32
For more information about the Microsoft System Information (Msinfo32.exe) Tool, including how to export the output as text, see Description of Microsoft System Information (Msinfo32.exe) Tool.
Verify that the
System Manufacturer
isGoogle
and theSystem Model
isGoogle Compute Engine
.
For information about how to programmatically determine whether a Windows VM is running Compute Engine, see the following: