特長

Google Cloud Shell は、Google Cloud Platform のためのインタラクティブなシェル環境です。これを使えば、システムに Google Cloud SDK や他のツールをインストールしなくても、プロジェクトとリソースを簡単に管理できるようになります。Cloud Shell では、必要な Cloud SDK gcloud コマンドライン ツールなどのユーティリティをいつでも使うことができます。

Cloud Shell セッション

Cloud Shell には、次のような特長があります。

仮想マシン インスタンス

Cloud Shell を起動すると、Debian ベースの Linux オペレーティング システムを実行している g1-small Google Compute Engine 仮想マシンがプロビジョニングされます。Cloud Shell のインスタンスは、各ユーザーまたは各セッションにプロビジョニングされます。Cloud Shell セッションがアクティブである限りインスタンスは継続しますが、Cloud Shell セッションは非アクティブな状態が 1 時間続くと終了します。

コマンドライン アクセス

Cloud Shell により、Google Cloud Platform Console 内で開いたターミナル ウィンドウの仮想マシン インスタンスに、コマンドライン アクセスができます。それにより、同一のインスタンスに複数のシェル接続ができるようになります。このインスタンスは、セッションを通じて継続します。コマンドラインから Cloud SDK gcloud コマンドライン ツールなどのユーティリティにアクセスできるほか、cloudshell コマンドを使用してチュートリアルを起動したり、コードエディタを開いたり、ファイルをダウンロードしたりできます。詳細を参照するには、cloudshell help を実行してください。

コードエディタ

は、

Theia を実行する Cloud Shell コードエディタのベータ版が使用可能になりました。

コードエディタでは、ファイル ディレクトリの閲覧、ファイルの表示や編集を行うことができます。Cloud Shell にも引き続きアクセスできます。コードエディタは、すべての Cloud Shell インスタンスでデフォルトで使用できます。

鉛筆アイコンをクリックすると、ツールバーからコードエディタにアクセスできます。

Cloud Shell とエディタ セッション

または、Cloud Console で次のように cloudshell コマンドを実行して、コードエディタで既存のファイル(たとえば、上記の環境の README-cloudshell.txt)を開くこともきます。

cloudshell edit README-cloudshell.txt

永続ディスク ストレージ

Cloud Shell では、仮想マシン インスタンスで $HOME ディレクトリとして使える 5 GB の無料永続ディスク ストレージが用意されています。このストレージは、ユーザーごとに割り当てられ、複数のプロジェクトを横断して使用することができます。インスタンスとは異なり、このストレージは非アクティブな状態であっても、タイムアウトすることはありません。インストールされたソフトウェア、スクリプト、.bashrc.vimrc のようなユーザー構成ファイルなど、ホーム ディレクトリに保存されているファイルはすべて、セッションを横断して維持されます。$HOME ディレクトリは、ユーザー専用であり、他のユーザーがアクセスすることはできません。

使用可能なツール

Cloud Shell の仮想マシン インスタンスには、次のツールがプレインストールされています。

タイプ ツール
Linux シェル インタープリタ bash
sh
Linux ユーティリティ Debian 用の標準的なシステム ユーティリティ
Google SDK とツール Google App Engine SDK
gcloud コマンドライン ツールを含む Google Cloud SDK
Cloud Storage 用 gsutil
テキスト エディタ Emacs
Vim
Nano
ビルドとパッケージのためのツール Gradle
Make
Maven
Bazel
npm
nvm
pip
Composer
ソース コントロール ツール Git
Mercurial
追加ツール Docker
iPython
MySQL クライアント
gRPC コンパイラ
TensorFlow

追加のソフトウェアを仮想マシン インスタンスにインストールすることはできますが、$HOME ディレクトリにソフトウェアがインストールされていないと、インスタンス終了後にそのソフトウェアは削除されてしまいます。

言語対応

Cloud Shell の仮想マシン インスタンスには、次の言語への対応がプレインストールされています。

言語 バージョン
Java JRE / JDK 1.8 と 1.11
Go 1.11
Python 2.7.13
Node.js v10.14.2
Ruby 2.6.0
PHP 7.0.33
.NET Core SDK 2.0.0 と 2.1.502
コアランタイム 2.0.0 と 2.1.6

Java 環境のデフォルトのバージョンは、1.8 です。使用中の Cloud Shell のセッションを変更し、JRE と JDK のバージョン 1.11 を使うには、Cloud Shell コマンド プロンプトで次のように入力します。

sudo update-java-alternatives -s java-1.11.0-openjdk-amd64 && export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

1.8.0 に戻すには、次のように入力します。

sudo update-java-alternatives -s java-1.8.0-openjdk-amd64 && export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre

いくつかのバイナリのバージョンが変更できなくなるというエラー メッセージは、無視してもかまいません。バージョンの変更は、Cloud Shell の仮想マシン インスタンスが終了するまで維持されます。Java 1.11 へ永続的に変更する場合は、.bashrc ファイルの上に最初のコマンドを付け加えます。

ウェブでプレビュー

Cloud Shell では、仮想マシン インスタンス上でウェブ アプリケーションを実行し、GCP Console からプレビューできるウェブ プレビュー機能を利用できます。ウェブ アプリケーションは、ポート番号が 2000~65000 の許可範囲内にあるポートで HTTP リクエストをリッスンしなければなりません。これらのポートはセキュアな Cloud Shell プロキシ サービスでのみ利用でき、HTTPS でのアクセスはご使用のユーザー アカウントのみに制限されます。

インスタンス上で実行中のウェブ アプリケーションに接続するには、GCP Console で Cloud Shell ターミナル ウィンドウの上にあるウェブでプレビュー ボタン [ウェブでプレビュー] ボタン をクリックします。次に、表示されたメニューからポート番号を選びます。Cloud Shell プロキシ サービスのプレビュー URL が新しいブラウザ ウィンドウで開きます。

ブーストモード

ブーストモードは、デフォルトの g1-small マシンタイプから n1-standard-1 VM インスタンスにいたる Cloud Shell VM の能力を一時的に高めます。これは、Cloud Shell で作業を継続する際に、比較的短い間 CPU やメモリのリソースをより多く必要とする場合に便利です。

ブーストモードを有効にするには、[その他] メニュー(Cloud Shell の右上にある 3 つの点のアイコン)の下の [ブーストモードを有効にする] オプションを使います。一度有効にすると、すべてのセッションがその後 24 時間ブーストされます。ブーストモードを有効にすると、Cloud Shell が再起動され、すぐにセッションが終了します。その後、新しい VM がプロビジョニングされますが、これには数分かかることがあります。ホーム ディレクトリのデータはそのまま残りますが、実行中のすべてのプロセスは失われます。

ブーストモードには、通常の使用制限が適用されます。現在のところ、この機能は実験的なものであり、今後制限が追加される可能性があります。

承認

Cloud Shell には、Google Cloud Platform 上でホストされているプロジェクトとリソースへのアクセス承認がビルトインされています。プラットフォーム上のリソースにアクセスするために、Cloud SDK gcloud コマンドライン ツールを使用して承認の操作を別途行う必要はありません。

tmux への対応

Cloud Shell はデフォルトで tmux を採用しているため、ブラウザの複数のタブすべてのセッションの持続性を向上させることができます。たとえば、タブで GCP Console を更新したり、別のマシンから Cloud Shell に接続した場合、セッションの状態は失われません。

Cloud Shell は、デフォルトで tmux キー バインディングに対応しています。たとえば、Ctrl+B キーを押してから % キーを押すと、tmux により現在のセッション ウィンドウが左と右のペインに分割されるため、デバッグする場合に便利です。

Cloud Shell で tmux を無効にするには、[設定] [設定] ボタン ボタンをクリックして [tmux の設定] を選択し、[tmux 統合を有効にします] チェックボックスをオフにします。

端末使用状況に関する統計情報

Cloud Shell は、Cloud Shell 端末の内側で実行されるコマンドにもとづいて、匿名の使用状況統計を収集します。収集されるのは、Cloud Shell にプレインスールされているコマンドにもとづいた使用状況統計だけに限られます。これらのコマンドに渡された引数などの、個人情報にもとづいた指標は収集されません。これらの指標が、そのユーザーのアカウントに紐づけされることはありません。情報が収集されないようにするには、Cloud Shell の [設定](その他メニュー アイコンを使用)で [使用統計情報] を選択します。

注: これは gcloud の使用統計情報とは別のものです。gcloud の使用統計情報は Cloud Shell でデフォルトで有効になっています。

セーフモード

.bashrc ファイルまたは .tmux.conf ファイルに問題があると、Cloud Shell は接続直後に終了します。この問題を解決するには、URL に cloudshellsafemode=true を追加して Cloud Shell をセーフモードで開きます。これによって、Cloud Shell が再起動してルートとしてログインできるため、ファイル内のあらゆる問題を解決できます。

キーボード

Cloud Shell を使用すると、ターミナルに送信されるキーを変更できます。[ターミナルの設定] メニューの [ターミナルの設定] > [キーボード] を選択して、次のオプションを表示します。

  • [Alt を Meta に] - Alt キーがメタキーとして機能するか、別の Alt キーとして機能するかを設定します
  • [Alt Gr モード] - AltGr 検出ヒューリスティックを選択します

カスタム Cloud Shell 環境

Cloud Shell 環境は Docker コンテナです。カスタム環境機能(現在はアルファ版)を使用し、Dockerfile を編集してこのコンテナを変更できるようになりました。これにより、セッション間に存続する Cloud Shell 環境にカスタムツールをインストールできます。環境構成ページはこちらにあります。

構成画面で [カスタム イメージ作成] をクリックすると、Cloud Shell 環境として使用するカスタム Docker イメージの作成プロセスを説明するチュートリアルが起動します。その後、この新しく作成されたイメージを参照するように Cloud Shell 環境を編集できます。

このチュートリアルでは、4 つのリソースが自動的に作成されます。

  • Dockerfile を含む Cloud Source Repositories リポジトリ。
  • 2 つの Cloud Build ビルドトリガー。Cloud Source Repositories リポジトリの更新時にトリガーするものと、Cloud Shell ベースイメージの変更時にトリガーするもの。
  • Google Container Registry でホストされている構築済みの Docker イメージ。

チュートリアルの実行後にクリーンアップする場合は、Cloud Source Repositories、Cloud Build、Container Registry からこれらのリソースを削除する必要があります。

カスタム環境の制限

  • カスタム イメージは、次のように、デフォルトの Cloud Shell イメージに基づいている必要があります。gcr.io/cloudshell-images/cloudshell
  • Dockerfile の ENV で指定された変数は、SSH セッションに伝播されません。こうした変数を SSH セッションに伝播するには、次のように、/etc/environment ファイルで変数を設定します。RUN echo "$MY_VAR=$DESIRED_VALUE" >> /etc/environment
  • Dockerfile ENTRYPOINT は上書きできません。
  • セッションの開始時に実行するスクリプトを /google/devshell/bashrc.google.d/ に配置します。セッションの終了時に実行するスクリプトは /google/devshell/bash_exit.google.d/ に配置できます。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...