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 WMI command-line utility:
wmic.exe computersystem get model,manufacturer
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: