How to find zone of Google Cloud VM instance on command line
Problem:
You have a VM instance (my-instance
in our example) for which you want to find out the zone it’s residing in using the gcloud
command line tool.
Solution
If you just want to see the zone of the instance (remember to replace my-instance
by your instance name!), use
gcloud compute instances list --filter="name=my-instance" --format "[box]"
This will format the output nicely and show you more information about your instance. Example output:
┌─────────────┬────────────────┬─────────────────────────────┬─────────────┬─────────────┬───────────────┬─────────┐
│ NAME │ ZONE │ MACHINE_TYPE │ PREEMPTIBLE │ INTERNAL_IP │ EXTERNAL_IP │ STATUS │
├─────────────┼────────────────┼─────────────────────────────┼─────────────┼─────────────┼───────────────┼─────────┤
│ my-instance │ europe-west3-c │ custom (16 vCPU, 32.00 GiB) │ │ 10.156.0.1 │ 35.207.77.101 │ RUNNING │
└─────────────┴────────────────┴─────────────────────────────┴─────────────┴─────────────┴───────────────┴─────────┘
In this example, the zone is europe-west3-c
.
In case you want to see only the zone, use this command instead:
gcloud compute instances list --filter="name=katc-main" --format "get(zone)" | awk -F/ '{print $NF}'
Example output:
europe-west3-c
Also see our other post How to find IP address of Google Cloud VM instance on command line.
In order to see what other information about instances you can see in a similar fashion, use
gcloud compute instances list --filter="name=my-instance" --format "text"