Google Cloud Platform

新しい gcloud 対話型シェルが登場

Google Cloud Platform(GCP)でアプリケーションを開発しようとすると、おそらく多くの時間を GCP のコマンドラインに費やすことになるでしょう。そうしたコマンドやフラグの数は、GCP サービスが充実するにつれて急速に増えています。そこで私たちは、コマンドを効率的に見つけて使用できるようにする新しいコマンドライン インターフェース(CLI)、gcloud interactive shell(gcloud 対話型シェル)を導入しました。

以下は、Google Cloud SDK に用意されている、GCP サービスと連携するコマンドライン ツールです。

  • gcloud : GCP のプライマリ CLI
  • gsutil : Google Cloud Storage を操作するための CLI
  • bq : Google BigQuery を操作するための CLI
  • kubectl : Kubernetes Engine の CLI

現在パブリック アルファ段階にある新しい gcloud 対話型シェルは、gcloud、gsutil、bq、kubectl コマンドの自動プロンプトとインライン ヘルプを提供します。作業を中断してヘルプ ページにアクセスし、コマンド名や必要なフラグ、引数タイプを探したりする必要はもうありません。こうした情報はすべて、対話型シェルの一部として、タイプしながら随時入手できます。

image008

gcloud 対話型シェルは以下のような bash の標準機能もサポートしています。

  • gcloud コマンドと bash の標準コマンドの混在
  • cd や pwd のようなコマンドの実行や、コマンド実行時のシェル変数の設定 / 使用
  • バックグラウンド プロセスの実行と制御
  • Tab キーによるシェル変数の補完、など

たとえば、コマンドの実行結果を変数に代入し、後でこの変数を別のコマンドへの入力として呼び出すことができます。

  $ active_vms=$(gcloud compute instances list --format="value(NAME)" --filter="STATUS=RUNNING")
$ echo $active_vms

また、対話型シェル内で bash スクリプトを作成、実行することも可能です。

image3kmee.GIF

たとえば次のスクリプトは、すべてのコンピュート インスタンスをイテレートし、Terminate されたインスタンスを再起動します。

  #!/bin/bash
terminated_vms=$(gcloud compute instances list --format="value(NAME)" --filter="STATUS=terminated")
for name in $terminated_vms
do
  echo "Instance $name will restart."
  zone=$(gcloud compute instances list --format="value(ZONE)" --filter="NAME=$name")
  gcloud compute instances start $name --zone $zone 
done

gcloud 対話型シェルを試すには

Google Cloud SDK をインストールしたら、次の手順で gcloud 対話型シェルをぜひお試しください(まだインストールしていない方は、こちらでインストール手順をご覧になれます)。

1. SDK のコンポーネントを最新のものに更新します。

  $ gcloud components update

2. gcloud のアルファ コンポーネントをインストールします。

  $ gcloud components install alpha

3. gcloud 対話モードに移行します。

  $ gcloud alpha interactive

オプションで、gsutil、bq、kubectl の対話モードを有効にすることができます(gcloud ではデフォルトで有効)。そのためには次のコマンドを 1 回実行するだけです。これには数分かかることがあります。

  $ gcloud alpha interactive --update-cli-trees

ヒント

  • タイプ中のコマンドについてもっと知りたいときに F8 キーを押すと、ブラウザでリファレンス ページが開きます。
  • どのコマンド グループにもプロンプトのコンテキストを設定できます。この機能は特定のコマンド グループを主に使う場合に便利で、完全なコマンドを毎回タイプせずに済みます。この機能を利用するには、コマンド グループをタイプし、F7 キーを押します。
  • 対話型ヘルプ領域のオンとオフを F2 キーで切り替えることができます。
  • F3 キーを押すと、コマンドラインの編集モードを emacs と vi のいずれかに切り替えることができます。

私たち Google Cloud にとって開発者の皆さんはかけがえのない存在であり、皆さんができるだけ生産的に作業できるよう支援することを目指しています。

gcloud 対話型シェル についてもっと知りたい方はこちらをご覧ください。gcloud のフィードバック コマンドを使ってご意見やご感想をお寄せいただければ幸いです。充実したタイピング ライフを!

* この投稿は米国時間 3 月 9 日、Product Manager の Seher Aylin Altiok によって投稿されたもの(投稿はこちら)の抄訳です。

- By Seher Aylin Altiok, Product Manager