Google Cloud Shell の実態

Google Cloud Platform (以下GCP) には、Google Compute Engine (以下GCE) やGoogle App Engineを始めとする数多くのサービスが用意されています。そしてそれらの多くは、ブラウザ上で実行可能なGoogle Cloud Shell (以下Cloud Shell) を利用することで処理することができました。

Google Cloud Shell

Google Cloud Shell

このCloud ShellはGCPのサービスを操作する以外にどのようなことができるのでしょうか。その中身を紐解いていくと、Cloud Shellがすごく強力なツールであることが見えてきます。

マシンスペック

まずこのCloud Shellが動いている環境ですが、GCEのg1-smallタイプ (共有vCPU x 1, メモリ1.7 GB) のインスタンス上で動いています。GCEを利用しているなら料金が気になるところですが、特別な設定など必要なく最初からCloud Shellは無料で利用することができます。それではCloud Shellよりそのスペックを確認しましょう。

CPUはIntel Xeon 2.5 GHz、メモリは1.7 GB、ストレージは69 GBと言うことがわかります。また /home には4.8 GB割り当てられていますが、公式によると5 GBの永続ディスクストレージが、 home ディレクトリに 割り当てられているようです。

Cloud Shellは、GCPのためのインタラクティブなシェル環境であるため、長時間に渡りアクティブな状態が継続されることが想定されていません。そのため、Cloud Shellセッションが1時間以上非アクティブな状態になると終了します。そこでソースコードなど長期に渡り利用したいデータは、homeディレクトリに割り当てられた永続ディスクを利用することになっています。しかし、長期に渡りCloud Shellが利用されない場合は、永続ストレージがリサイクルされることがあります。その場合は、リサイクル前にメールが届く仕組みになっているようです。

ブーストモード

またCloud Shellにはブーストモードがあり、n1-standard-1タイプ (vCPU x 1, メモリ3.75 GB) のインスタンス上で動作させることができます。そのときのマシンスペックを確認してみます。

スペック上はg1-smallと同じCPU表記ですが、共有ではなくなっているようです。またメモリはg1-smallの倍以上のサイズになっています。このブーストモードは24時間続くようです。処理速度を必要とするバッチ作業などで利用するといいでしょう。

OS

上記でマシンスペックを確認したとき、Linuxコマンドを利用していることに気づいた方もいるでしょう。そうです、このCloud Shellは、Linuxのシェル環境になります。それではどのようなOSなのか確認しましょう。

OSはDebian 64bitベース、バージョンは9.5と言うことがわかります。これで基本的なLinuxコマンドが利用可能ということがわかりましたね。

プログラミング言語

このCloud Shellには、すでにプログラミング言語もインストールされています。それぞれどのようなバージョンが利用できるか確認しましょう。

GCEなどでインスタンスを立ち上げた後に必要なプログラミング言語をインストールすることは面倒でしたが、Cloud Shellでは最初から主なプログラミング言語がインストールされていることは嬉しいですね。

まとめ

上記のようにCloud Shellは非常に強力なツールであることを紹介しました。

  • GCEのインスタンスのDebianベースのOSが利用されている。
  • 無料でGCE g1-smallタイプのインスタンスを利用することができる。
  • ブーストモードを利用することでマシンスペックを上げることできる。
  • 数多くのプログラミング言語が標準で利用可能である。

その他にも多くの利用メリットがありますので、公式の下記ドキュメントを参考にしてみて下さい。
https://cloud.google.com/shell/

» お仕事のご依頼はこちら