gcloud compute


The Google Cloud CLI 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 CLI is part of the Google Cloud CLI 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 Google Cloud CLI.

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

Before you begin

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 project

If you set a default project when you setup and initialize the Google Cloud CLI, all gcloud compute commands use that project ID by default.

You can override the default project ID by using either of the following methods:

  • Run each gcloud compute command with the --project flag
  • Set the CLOUDSDK_CORE_PROJECT environment variable

    Linux and macOS

    Use the export command to set the project environment variable.

    export CLOUDSDK_CORE_PROJECT=PROJECT_ID
    

    Replace PROJECT_ID with the project ID of the project that you want to use as default.

    Unsetting project environment variables

    If you need to unset your project environment variables, use the following unset commands:

    unset CLOUDSDK_CORE_PROJECT
    

    Windows

    Use the set command to set the project environment variable.

    set CLOUDSDK_CORE_PROJECT=PROJECT_ID
    

    Replace PROJECT_ID with the project ID of the project that you want to use as default.

    Unsetting project environment variables

    If you need to unset your project environment variables, use the following command:

    set CLOUDSDK_CORE_PROJECT=
    

If you do not set a default project or environment variable, you must include a --project flag in each gcloud compute command that you run.

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 Google Cloud CLI 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 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_COMPUTE_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_COMPUTE_REGION=
set CLOUDSDK_COMPUTE_ZONE=

Override default zone with flags

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

For example:

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

Configurations

gcloud topic configurations are an advanced feature that you can use to influence the behavior of the gcloud CLI. 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?