Top 5 Power Features of the Google Cloud CLI
Google Cloud SDK
If you’re a heavy user of Google Cloud Platform, you probably already know about Google Cloud SDK, the powerful command line tool for working with all things Cloud Platform, available for Windows, Linux and OS X. In this post, the Cloud SDK engineering team, based in New York City, shares their favorite power features of the Google Cloud command-line interface (CLI).
#1. Using cloud service emulatorsWhether you’re on your commute without connectivity, want a fast reliable way of running tests, or just want to test your application on your development machine without talking to a remote service, gcloud emulators is your friend. Emulators provide a local mock implementation of Google Cloud services, so you can develop and test core functionality. Currently the Cloud SDK includes Google Cloud Datastore and Google Cloud Pub/Sub emulators, with more to come.
You can start an emulator, such as the emulator for Cloud Datastore, like so:
Now, you’ve got a datastore running on your local machine! The API is available at the port on
localhost, listed above.
gcloud emulators command has a neat little trick for automatically setting environment variables like this for each service.
The emulator comes with a simple, web-based console which is also available on localhost. Read more in the gcloud emulators documentation.
(Pro tip from Vilas, Engineer on the Cloud SDK)
#2. Type like the wind with autocompletion
Another power feature of the Cloud CLI is tab auto-completion. You can tab-autocomplete
gcloudsubcommands, and also for many entities such as your instances and zones. Try it out!
(Pro tip from Mark, Engineer on the Cloud SDK)
#3. Using --format to filter, sort and transform output to CSV, JSON, and more
The Cloud CLI gives you a lot of information about your environment, which you might often want to use as input to another script or program. The
--formatflag provides an easy way to massage the output into a format that makes sense.
Here’s an example using the
--format flag to list the zone and IP of your Google Compute Engine instances in CSV format, sorted by zone and name.
You can then open the CSV file in a viewer such as Google Sheets:
This is just a taste of what
--format supports. You can also expose data in JSON and tabular format, and use projections to select, sort and filter your data. Read more in the Google Cloud SDK reference for the
--format flag to learn some more neat tricks you can do with
(Pro tip from Glenn, Engineer on the Cloud SDK)
#4. Using the gcloud tool with PowerShell
If you’re a user of PowerShell, then often it’s handy to work with PowerShell objects. Some tweaks to the
--formatcommand allow you to do this. For example, if you use this command to list all Compute Engine instances in Asia:
You can use this command to restart all the instances in Asia:
(Pro tip from Valentin, Engineer on the Cloud SDK)
#5. Easily ssh to your Compute Engine instances
The gcloud CLI offers a number of ways to easily use secure shell to access any Linux-based Compute Engine instances you have. For example, you can run:
$ gcloud compute ssh my-instance-name
This command automatically connects you through SSH to any instance that can be accessed publicly. No more SSH keygen or looking up external IPs!
You can go a step further with:
$ gcloud compute config-ssh
This command creates an alias for each of your Compute Engine instances to your
~/.ssh/config file. These aliases are then available to system utilities that also use SSH, such as
sftp. Now you can type commands from your terminal such as:
$ ssh myvm.asia-east1-c.myproject
$ sftp myvm.asia-east1-c.myproject