GCP PlayCloud Labs
-
GCP PlayCloud Labs
-
Guided Lab: Creating a Cloud Storage Bucket
-
Guided Lab: How to Launch a GCP Compute Engine Linux Instance
-
Guided Lab: Creating a Cloud SQL Instance
-
Guided Lab: Creating a Cloud NAT Gateway
-
Guided Lab: Running SQL Commands in Cloud SQL Studio
-
Guided Lab: Hosting a Static Website in Google Cloud Storage Bucket
-
Guided Lab: Creating and Restoring Cloud SQL Backups
-
Guided Lab: Vertically Scaling a VM Instance
-
Guided Lab: Creating a Custom Image from a VM Instance with Web Server in Google Cloud
-
Guided Lab: Setting up a Web Server on a VM Instance
-
Guided Lab: Creating a Spot VM Instance
-
Guided Lab: Exploring Instance Metadata in Google Cloud
-
Guided Lab: Setting Up and Managing a Database on a VM Instance
-
Guided Lab: Integrating Cloud SQL Database instance with a VM instance
-
Guided Lab: Connecting Cloud SQL Database with MySQL Workbench (Local)
-
Guided Lab: Creating a VM Using Instance Templates
-
Guided Lab: Installing WordPress on an Ubuntu VM Instance with LEMP Stack
-
Guided Lab: Reserving or Promoting a Static IP Address for a VM Instance
-
Guided Lab: Creating a Google Kubernetes Engine (GKE) Cluster
-
Guided Lab: Protecting Data on Cloud Storage Bucket Against Accidental Delete and Overwrite Using Object Versioning
-
Guided Lab: Connecting to a Kubernetes Engine Cluster
-
Guided Lab: Creating and Managing Instance Groups in Compute Engine
-
Guided Lab: Configuring Shielded VM Options
-
Guided Lab: SSH Access to GCP VM Instance from Local Machine using SSH Key Pair
-
Guided Lab: Deploying a Simple Web Application on GKE
-
Guided Lab: Configuring Firewall Rules to Secure and Access a VM
-
Guided Lab: Establishing VPC Peering for Secure Cross‑Network Communication
-
Guided Lab: Creating a Custom Virtual Private Cloud (VPC)
-
Guided Lab: Using Startup Scripts in GCP VM Instances
-
Guided Lab: Deploying a LAMP Stack on a Compute Engine VM
-
Guided Lab: Managing Cloud Storage Buckets via SSH Commands
-
Guided Lab: Guarding Your VM with Deletion Protection
-
Guided Lab: Using Cloud Storage Lifecycle Rules to Automate Object Management
-
Guided Lab: Guarding Your Cloud SQL Instances with Deletion Protection
-
Guided Lab: Exploring Google Cloud Storage Classes
-
Guided Lab: Setting Up a Linux Bastion Host on GCP
-
Guided Lab: Uploading, Organizing, and Managing Objects in Cloud Storage
-
Guided Lab: Creating an Application Load Balancer
-
Guided Lab: Creating a Network Load Balancer
-
Guided Lab: Creating VM Snapshots and Restoring a VM from a Snapshot
Guided Lab: Exploring Instance Metadata in Google Cloud
Description
Instance metadata in Google Cloud provides information about your VM that can be accessed programmatically from within the instance. Metadata includes details such as the VM’s name, zone, machine type, network configuration, and custom user‑defined values. Each virtual machine (VM) maintains its metadata on a dedicated metadata server, and the VM can access this server’s API directly without requiring any additional authentication.
In this guided lab, you will learn how to explore and query instance metadata from a VM using the metadata server.
Prerequisites
This lab assumes you have experience creating a VM instance and are familiar with its basic components. If you feel that your knowledge in this area is insufficient, we highly recommend taking this lab to gain the necessary understanding:
Objectives
In this lab, you will:
- Create a VM instance.
- Access the metadata server from within the VM.
- Retrieve and explore metadata values such as instance name, zone, machine type, networking details, and service account information.
Lab Steps
Create a VM Instance
1. In the Google Cloud Console, go to Compute Engine → VM instances → Create Instance.
2. Create a VM instance using the following machine configurations:
- Name: Enter your desired instance name.
- Machine type: Choose e2-micro (Preset)

3. Leave other configurations at their default values.
4. Once done, click the Create button.
Connect to the VM
1. From the VM instances page, click SSH next to your VM.

2. Once connected, verify you are inside the VM by running:
hostname

Query Instance Metadata
1. Use curl to query the metadata server. The metadata server is available at http://metadata.google.internal/.
2. Run the following commands:
# Retrieve the VM's name
curl -H "Metadata-Flavor: Google" \
http://metadata.google.internal/computeMetadata/v1/instance/name
# Retrieve the VM's zone
curl -H "Metadata-Flavor: Google" \
http://metadata.google.internal/computeMetadata/v1/instance/zone
# Retrieve the VM's machine type
curl -H "Metadata-Flavor: Google" \
http://metadata.google.internal/computeMetadata/v1/instance/machine-type
# List all available metadata keys
curl -H "Metadata-Flavor: Google" \
http://metadata.google.internal/computeMetadata/v1/instance/ -v

Explore network and service account metadata
Run the following commands:
# Retrieve the VM's internal IP address
curl -H "Metadata-Flavor: Google" \
http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/0/ip
# Retrieve the VM's external IP address
curl -H "Metadata-Flavor: Google" \
http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/external-ip
# Retrieve the VM's service account email
curl -H "Metadata-Flavor: Google" \
http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/email
# List all available service account scopes
curl -H "Metadata-Flavor: Google" \
http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/scopes

Congratulations! You have successfully explored instance metadata in Google Cloud. You created a VM, queried metadata such as name, zone, and machine type, and explored networking and identity metadata like IP addresses and service account details. This workflow demonstrates how metadata can be used to dynamically configure applications, discover networking information, and manage identity programmatically.