Cloud Shell を構成する

このページでは、Cloud Shell を構成してエクスペリエンスをカスタマイズする方法について説明します。

Cloud Shell ホーム ディレクトリ内の構成ファイル

Cloud Shell は、$HOME ディレクトリとしてマウントされた 5 GB の無料の永続ディスクストレージをプロビジョニングします。インストールされたソフトウェア、スクリプト、.bashrc.vimrc のようなユーザー構成ファイルなど、ホーム ディレクトリに保存されているファイルはすべて、セッションを横断して維持されます。.bashrc はセッション間で維持されるため、Cloud Shell の動作をカスタマイズする優れた方法です。同様に、インストールを維持するには、ホーム ディレクトリにパッケージをインストールします。

事前構成された環境変数

Cloud Shell を起動すると、Console 内のアクティブなプロジェクトが Cloud Shell 内の gcloud 構成に伝播され、すぐに使用できるようになります。GOOGLE_CLOUD_PROJECT は、プロジェクト ID を定義するアプリケーションのデフォルト認証情報ライブラリ サポートで使用される環境変数で、Console 内のアクティブなプロジェクトを指定するようにも設定されます。

CLOUD_SHELL 環境変数が true に設定されています。この変数は、アプリケーションが Cloud Shell で動作しているかどうかを判断するために、アプリケーションからチェックされます。

gcloud CLI の設定

Cloud Shell を使用している場合、gcloud CLI の設定は一時的な tmp フォルダに保存され、現在のタブのみに設定され、セッション間で維持されません。

gcloud CLI 構成を維持するには、次のいずれかの方法を使用して設定します。

  • gcloud CLI の構成をタブごとにカスタマイズ可能なままにしながら、デフォルトの構成自体をカスタマイズする場合は、gcloud 構成コマンド(デフォルトのリージョンを設定するには gcloud config set compute/region us-central1 など)を $HOME/.bashrc ファイルの末尾に追加します。

    これにより、新しいタブにはすべて Google Cloud コンソール プロジェクトとカスタマイズされたデフォルト構成が継承されますが、各タブの構成のさらなるカスタマイズもできます。

  • 常に同じ gcloud CLI の構成を使用するには、.bashrc ファイルの末尾に export CLOUDSDK_CONFIG=$HOME/.config/gcloud を追加してから、gcloud config configurations create CONFIG_NAME を実行して必要な構成を作成します。

共通の特徴

作業するプロジェクトを設定するには、次のコマンドを実行します。

gcloud config set project [PROJECT_NAME]

コマンド プロンプトは、現在アクティブなプロジェクトを反映するように更新され、[USERNAME]@cloudshell:~ ([PROJECT_NAME])$ の形式で適用されます。

希望するリージョンを選択するには、次のコマンドを実行します。

gcloud config set compute/region us-east1

上記のコマンドは、設定可能な gcloud CLI の構成の例です。プロパティの設定の完全なリストと詳細については、gcloud CLI プロパティ ガイドをご覧ください。

環境のカスタマイズ

環境のカスタマイズにより、Cloud Shell 環境の起動時に追加のパッケージをインストールできます。

環境のカスタマイズ スクリプト

Cloud Shell は、インスタンスの起動時にスクリプト $HOME/.customize_environment を自動的に実行します。.profile.bashrc とは異なり、このスクリプトは Cloud Shell の起動時に 1 回実行されます(シェルログインごとに 1 回ではなく)。

このスクリプトは root として実行され、Debian パッケージ管理コマンドを使用して、各 Cloud Shell セッションに存在させるパッケージをインストールできます。

たとえば、erlang を Cloud Shell にインストールする場合、.customize_environment ファイルは次のようになります。

#!/bin/sh
apt-get update
apt-get -y install erlang

.customize_environment スクリプトの実行ログは、/var/log/customize_environment にあります。.customize_environment スクリプトはバックグラウンド プロセスとして実行され、正常に実行されると、/google/devshell/customize_environment_done に達します。ログインと並行してパッケージのインストールが実行されるため、ログイン プロンプトが表示されてからしばらくすると、インストールされたパッケージが利用可能になる場合があります。

指定したユーザー アカウントを使用して Cloud Shell を開く

authuser パラメータを使用すると、Cloud Shell で使用するユーザー アカウントを指定できます。指定したユーザー アカウントでログインする必要があります。 指定したアカウントにログインしていない場合は、デフォルトのログイン アカウントとともに、Cloud Shell が開きます。たとえば、URL shell.cloud.google.com?authuser=client1@example.com を使用して、client1@example.com としてログインした Cloud Shell を開くことができます。

コンテナ イメージのカスタマイズ

コンテナ イメージのカスタマイズでは、指定された追加のパッケージとカスタム構成を使用して、カスタム Cloud Shell 環境として機能する Docker イメージを作成できます。Docker イメージは、ベースの Cloud Shell イメージに基づいており、Container Registry でホストされている必要があります。

カスタム コンテナ イメージを作成する方法については、コンテナ イメージのカスタマイズガイドをご覧ください。

環境のカスタマイズとは異なり、コンテナ イメージのカスタマイズがデフォルトの Cloud Shell エクスペリエンスに影響を及ぼすことはありません。カスタム イメージは、[Cloud Shell で開く] リンクから使用、共有できます。

tmux への対応

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

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

Cloud Shell で tmux を無効にするには、[ターミナル設定] ボタン(レンチアイコン)をクリックし、[tmux 設定] を選択し、[tmux 統合を有効にします] チェックボックスをオフにします。

使用統計情報

Cloud Shell は、Cloud Shell 端末の内側で実行されるコマンドにもとづいて、匿名の使用状況統計を収集します。統計情報は、Cloud Shell にプリインストールされているコマンドについてのみ収集されます。これらの指標が、そのユーザーのアカウントに紐づけされることはありません。

これらのコマンドに渡された引数など、個人を特定できる情報に関する指標は収集されません。

指標収集の設定をいつでも変更するには、[設定] メニュー [設定] ボタン で [ターミナル使用統計情報] を選択します。[設定] メニューでの設定の変更は、次のセッションで有効になります。指標の収集を有効または無効にするには、タブを閉じ、変更後に別のタブを開きます。

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

gcloud CLI 指標の収集を無効にするには、Cloud Shell セッションで次のコマンドを実行します。

gcloud config set disable_usage_reporting true