Common gcloud compute commands

This document lists some of the most commonly used gcloud compute commands.

Before you begin

Describing projects

Run the following command to query information about your Compute Engine project, such as project metadata, ssh keys, and quota metrics:

 gcloud compute project-info describe

For more information about describing your project, see the gcloud compute project-info describe reference documentation.

Working with VMs

The following examples show common tasks when working with virtual machine (VM) instances. For more information about virtual machine (VM) instances, see Virtual machine instances.

Creating VMs

Run the following command to create a VM:

gcloud compute instances create VM_NAME \
    [--image IMAGE | --image-family IMAGE_FAMILY] \
    --image-project IMAGE_PROJECT

Replace the following:

  • VM_NAME: the name of the new VM.
  • IMAGE or IMAGE_FAMILY: Specify one of the following:
    • IMAGE: required version of a public image. For example, --image debian-10-buster-v20200309.
    • IMAGE_FAMILY: an image family. This creates the VM from the most recent, non-deprecated OS image. For example, if you specify --image-family debian-10, Compute Engine creates a VM from the latest version of the OS image in the Debian 10 image family.
  • IMAGE_PROJECT: the project containing the image.

For more information about creating VMs, see Creating and starting a VM instance and the gcloud compute instances create reference documentation.

Listing VMs

Run the following command to display all VMs in a project:

gcloud compute instances list

For more information about listing VMs, see the gcloud compute instances list reference documentation.

Describing VMs

Run the following command to display all data associated with a VM:

gcloud compute instances describe VM_NAME

Replace VM_NAME with the name of the VM.

For more information about describing VMs, see the gcloud compute instances describe reference documentation.

Starting VMs

Run the following command to start a stopped VM:

gcloud compute instances start VM_NAME

Replace VM_NAME with the name of the VM.

For more information about starting VMs, see Starting and stopping an instance and the gcloud compute instances start reference documentation.

Stopping VMs

Run the following command to stop a VM:

gcloud compute instances stop VM_NAME

Replace VM_NAME with the name of the VM.

For more information about stopping VMs, see Starting and stopping an instance and the gcloud compute instances stop reference documentation.

Adding labels to VMs

Run the following command to add labels to VMs:

gcloud compute instances add-labels VM_NAME \
    --label=KEY=VALUE

Replace the following:

  • VM_NAME: the name of the VM.
  • KEY=VALUE: the key-value pair of the label.

For more information about labeling VMs, see Labeling resources and the gcloud compute instances add-labels reference documentation.

Connecting to VMs

Using SSH to connect to instances

Run the following command to connect to a VM using SSH:

gcloud compute ssh VM_NAME

Replace VM_NAME with the name of the VM.

For more information about connecting to VMs using SSH, see Connecting to Linux VMs and the gcloud compute ssh reference documentation.

Using SCP to transfer files to instances

Run the following command to copy files to a VM:

gcloud compute scp LOCAL_FILE_PATH VM_NAME:REMOTE_DIRECTORY

Run the following command to copy files from a VM:

gcloud compute scp VM_NAME:REMOTE_DIRECTORY LOCAL_FILE_PATH

Replace the following:

  • LOCAL_FILE_PATH: The path to the file on your workstation.
  • VM_NAME: The name of your VM.
  • REMOTE_DIRECTORY: The path to the directory on your VM.

For more information about transferring files to and from VMs using SCP, see Transferring files using the gcloud command-line tool and the gcloud compute scp reference documentation.

Working with disks

The following example shows a common task when working with disks. For more information about disks, see Storage options.

Listing disks

Run the following command to display all disks in a project:

gcloud compute disks list

For more information about listing disks, see the gcloud compute disks list reference documentation.

Working with snapshots

The following examples show common tasks when working with snapshots. For more information about snapshots, see Persistent disk snapshots.

Listing snapshots

Run the following command to display all snapshots in a project:

gcloud compute snapshots list

For more information about describing snapshots, see the gcloud compute snapshots list reference documentation.

Describing snapshots

Run the following command to display all data associated with a snapshot:

gcloud compute snapshots describe SNAPSHOT_NAME

Replace SNAPSHOT_NAME with the name of the snapshot.

For more information about describing snapshots, see the gcloud compute snapshots describe reference documentation.

Deleting snapshots

Run the following command to delete a snapshot:

gcloud compute snapshots delete SNAPSHOT_NAME

Replace SNAPSHOT_NAME with the name of the snapshot.

For more information about deleting snapshots, see Deleting a snapshot and the gcloud compute snapshots delete reference documentation.

Working with firewall rules

The following examples show common tasks when working with firewall rules. For more information about firewall rules, see VPC firewall rules overview.

Describing firewall rules

Run the following command to display all data associated with a firewall rule:

gcloud compute firewall-rules describe FIREWALL_RULE_NAME

Replace FIREWALL_RULE_NAME with the name of the firewall rule.

For more information about describing firewall rules, see the gcloud compute firewall-rules describe reference documentation.

Creating firewall rules

Run the following command to create a firewall rule:

gcloud compute firewall-rules create FIREWALL_RULE_NAME \
    [--allow=PROTOCOL:PORT | --action=ACTION --rules=PROTOCOL:PORT]

Specify either