gcloud compute


The gcloud command-line tool lets you manage your Compute Engine resources, using the gcloud compute command group. gcloud compute is an alternative to using the Compute Engine API.

The gcloud tool is part of the Cloud SDK and is a unified command-line tool that includes features like statement autocompletion, in-place updating, command-line help, human-readable and machine-parsable output formats, and integration with Cloud SDK.

If you have never used Compute Engine, get started with either the Linux quickstart or the Windows quickstart.

Before you begin

  • If you want to run gcloud compute in a command prompt, install, update, and initialize the Cloud SDK.
  • If you don't have a command prompt readily available, try using gcloud compute in Cloud Shell. Cloud Shell is automatically installed, updated, and initialized with the latest Cloud SDK.

Default properties

When you create a virtual machine instance, Compute Engine configures a VM using default properties from the metadata server. You can check your VM's default properties by running the following command:

gcloud compute project-info describe --project PROJECT_ID

Replace PROJECT_ID with your project ID.

Default region and zone

Some gcloud compute commands require --region or --zone flags. Instead of specifying these flags each time you run commands, you can set a default region and zone for your project. If you don't set a default region or zone and you run a region- or zone-dependent command, the gcloud command-line tool might prompt you to provide a --region or --zone flag, or return an error.

You can set the default region and zone in three ways:

  • In the metadata server. The default region and zone set in the metadata server are applied to your local client when you run gcloud init.
  • In your local client. The default region and zone set in your local client override the default region and zone set in the metadata server.
  • In environment variables. The default region and zone set in environment variables override the default region and zone set in your local client and in the metadata server.

You can override the default region and zone in the metadata server, in your local client, or in environment variables, by providing --region and --zone flags when you run commands.

View default region and zone

To view your configuration's default region and zone, run the following commands:

gcloud config get-value compute/region
gcloud config get-value compute/zone

If the output is (unset), no default region or zone is set.

View available regions and zones

You can view a list of regions and zones by running the following commands:

gcloud compute regions list
gcloud compute zones list

Set default region and zone in the metadata server

The default region and zone in the metadata server apply to all configurations in your project. To set the default region and zone in the metadata server, do the following:

  1. Set the default region and zone:

    gcloud compute project-info add-metadata \
       --metadata=[google-compute-default-region=REGION | google-compute-default-zone=ZONE]
    

    For example:

    gcloud compute project-info add-metadata \
       --metadata google-compute-default-region=europe-west1,google-compute-default-zone=europe-west1-b
    
  2. Initialize the change in your local client:

    gcloud init

You can override the default region and zone set in the metadata server by setting the default region and zone in your local client, setting the default region and zone in environment variables, or by including the --zone or --region flag in your commands.

Unset default region and zone in the metadata server

To unset the default region and zone in the metadata server, do the following:

  1. Unset metadata:

    gcloud compute project-info remove-metadata \
       --keys=[google-compute-default-region | google-compute-default-zone]
    
  2. Initialize the change in your local client:

    gcloud init

Set default region and zone in your local client

The default region and zone set in your local client override the default region and zone set in the metadata server.

To set the default region and zone in your local client, run the following commands:

gcloud config set compute/region REGION
gcloud config set compute/zone ZONE

Unset default region and zone in your local client

To unset the default region or zone in your local client, run the following commands:

gcloud config unset compute/zone
gcloud config unset compute/region

You can override the default region and zone set in your local client by setting the default region and zone in environment variables, or by including the --zone or --region flag in your commands.

Set default region and zone in environment variables

The default region and zone set in environment variables override the default region and zone set in your local client and in the metadata server.

Linux and macOS

Use the export command to set the region and zone variables.

export CLOUDSDK_COMPUTE_REGION=REGION
export CLOUDSDK_COMPUTE_ZONE=ZONE

To make these environment variables permanent, include these commands in your ~/.bashrc file and restart your terminal.

Windows

Use the set command to set the region and zone variables.

set CLOUDSDK_CORE_REGION=REGION
set CLOUDSDK_COMPUTE_ZONE=ZONE

You can override environment variables by including the --zone or --region flag in your commands.

Unset default region and zone in environment variables

Use the following commands to unset the default region and zone in environment variables.

Linux and macOS

To unset your region and zone environment variables, use the following unset commands:

unset CLOUDSDK_COMPUTE_REGION
unset CLOUDSDK_COMPUTE_ZONE

Windows

To unset your region and zone environment variables, use the following commands:

set CLOUDSDK_CORE_PROJECT=
set CLOUDSDK_COMPUTE_ZONE=

Override default region and zone with flags

Use the --region and --zone flags to override the default region and zone set in the metadata server, your local client, and environment variables.

For example:

gcloud compute instances create example-instance \
    --region=REGION \
    --zone=ZONE \

Configurations

gcloud topic configurations are an advanced feature that you can use to influence the behavior of the gcloud tool. For most users, using default configurations is sufficient.

Configurations might be useful for users who:

  • Work with multiple projects. You can create a separate configuration for each project.
  • Use multiple accounts. For example, a user account and a service account.
  • Perform a variety of independent tasks (work on an App Engine app in one project, administer a Compute Engine cluster in zone us-central-1a, manage the network configurations for region asia-east-1, etc.)

To switch between configurations, run the following command:

gcloud config configurations activate CONFIGURATION_NAME

For more information about managing configurations, see gcloud config configurations.

What's next?