Google Cloud Shellは素晴らしい
Google Cloud Shellをなぜ使わないのですか?
Google Cloud Platform(GCP)を使う人にもれなく付いてくるGoogle Cloud Shell(以降、Cloud Shell)ほど便利なものは無いでしょ。(知らんけど)
ということで、簡単に紹介します。
素晴らしいところ
Cloud Shellの素晴らしいところを挙げます。
ツールがインストールされている
gcloud、gsutil、bqコマンドは当たり前ですが、git、docker、kubectlコマンドがインストール済みです。Java、python、rubyもインストール済みです。
ある程度好きにツールをインストールできる
apt、pipコマンドでインストールできますし、好きなツールもインストールできます。ただCloud Shellを業務サーバとして使うのは無理です。(非アクティブな状態が20分続くとセッションが切れる)
インストール済みツール
全部は記載しませんが、主に以下のツールがインストール済みです。
| ツール | 備考 |
|---|---|
| bind9 | nslookupやdigコマンドなどDNS用コマンド |
| cpp | C++コンパイルコマンド |
| cron | 業務では使えない |
| curl | データ転送コマンド |
| diffutils | diffコマンドなど |
| docker | dockerのコマンドツール |
| emacs | エディター |
| git | リポジトリツール |
| google-cloud-sdk | gcloud,gsutil,bqコマンド |
| Java | Java8,11がインストール済み |
| jq | jsonフォーマットの操作コマンド |
| kubectl | kubernetesのコマンドツール |
| mysql-client | mysqlのクライアントツール |
| nano | エディター |
| net-tools | ifconfigコマンドなど |
| openssh | sshコマンド |
| openssl | SSL証明書関係のツール |
| perl | 言わずもがな |
| php | 言わずもがな |
| pigz | gzファイルの圧縮解答 |
| postgresql | PostgreSQLのクライアントツール |
| powershell | Microsoftのpowershell |
| python | ver.2,3がインストール済み |
| python-pip | pipも当然 |
| ruby | 言わずもがな |
| rubygems-integration | 言わずもがな |
| sed | テキストデータ処理ツール |
| sqlite | sqliteのクライアントツール |
| telnet | telnet |
| terraform | Infrastructure as Code |
| tmux | Shell分割 |
| unzip | zipファイル解凍 |
| vim | エディター |
| wget | コンテンツダウンローダー |
| zip | zipファイル圧縮 |
漏れやアップデートもあるかもしれないので、使用する際は実際に確かめてみてください。
ウェブ プレビュー
HTTPリクエストをリッスンするWEBアプリケーションをプレビューすることができます。
このドキュメントの通り、SimpleHTTPServerを実行して試すとこんな感じでプレビューを見ることができます。

例えば、WEBアプリケーション開発時にCloud Shellでdockerコンテナを実行し、WEBアプリケーションのプレビューを確認することができます。
Cloud Shellエディター
Cloud Shellの「エディターを開く」をクリックすると、Cloud Shellエディターが起動します。起動させてみましょう。

「VSCodeやんけ!」…いえ、違います。ですがVSCodeの拡張機能が使えます。詳細は以下のリンクをご参照ください。
VSCode相当のエディターをクラウドで使えるってことです。スゴいですね。
Cloud Code
Cloud Shellエディターを使い、テンプレートからアプリケーションを作成することができます。
メニューバーの「Find Command」からコマンドパレットを表示して、「New Application」を選択します。

ここでは、Cloud Run Applicationを選択してみます。このテンプレートはdockerで普通に使えると思います(未確認)。

作成するテンプレートのプログラム言語を選択します。

テンプレートが作成されますので、後は自分で修正など行っていきます。

終わりに
Google Cloud Shellを使えば、ローカルPCに開発環境を作らなくてもいいですし、有料になったDocker DesktopなんてローカルPCにインストール不要なんですよ。開発や検証には本当に便利と思いますので、大変オススメです。
Discussion