皆さん勉強会してますか?勉強会っていいですよね!
他人の考えが生で聞けたり、
躓く事があればその場でサポートしてもらえたり…。
私は特にHandsOnのある勉強会が好きです。
実際に手を動かして学ぶことで忘れにくくなりますし、何より楽しいです!
ただHandsOn環境は大体事前準備が必要だったり、
環境依存で動かなかったりとそれなりの苦労がついてまわります…。
全ての参加者の環境が統一されていてかつ無料で気軽に使えるHandsOn環境があれば欲しくないですか?
HandsOn環境をどうしたら良いか迷っている、そんなHandsOn環境迷子に贈るのがこの記事になります!
GCPのCloud Shellというプロダクトを使うと簡単に素敵なHandsOn環境が手に入るんです!!
この記事では仮想的なHandsOnを想定して流れを追っていきます。
読み終わった後にはきっと勉強会で定番になるHandsOn環境が手に入っているはずです!!
目次
Cloud Shellなら無料で統一的な環境が手に入る
まずはどんなものかを見てみましょう。
ワンクリックでアカウントに対して仮想マシンが1台割り当てられます。
ターミナルも提供されているので既にHandsOnの環境が手に入っています!!
Cloud Shellを利用する為にはGmailアカウント、GsuiteアカウントもしくはCloud Identityで作成したアカウントが必要になりますが、これさえあればすぐに使う事が出来るんです。
この手軽さは魅力ですよね。
またDockerやGit等、HandsOnでよく利用されるようなツールは既にプレインストールされています。
golangやNode.js等様々な言語もプレインストールされており、しつこいようですが本当にすぐに使い出すことが出来ます!
どんなソフトウェアや言語がインストールされているか詳細を知りたい方はぜひ一度下記リンクにて確認してみてください。
プレインストールされているソフトウェア一例
Docker
Git
golang
例えばgolangのHandsOnをやるなら…
Open in Cloud Shellでソースコードへアクセス
最初にgit clone
コマンドを実行してソースコードを取得する事が多いのでは無いでしょうか?
Cloud Shellにgit clone
を促すリンクまで設定出来ます!
これを使わない手は無いですね!
例えば以下のリンクにアクセスすると…
https://console.cloud.google.com/cloudshell/editor?cloudshell_git_repo=https://github.com/GoogleCloudPlatform/golang-samples.git
という動作になります!
これはcloudshell_git_repo=
というURLパラメータにリポジトリのURLを指定した事で、Cloud Shell上でgit clone
コマンドが促される為です。
HandsOnの為に作られた機能の様にさえ思えてしまいますね。
他にも指定出来るパラメータが有りますので興味を持っていただけた方は下記のリンクも確認してみてください。
Web Previewでアプリケーションを起動
さて、これでソースコードの取得が終わりました。
手始めにHello Worldをやってみましょう。
プログラムを実行してCloud Shell上の8080でリクエストを受け付けるようにします。
動作確認する際はWeb Preview機能を使いましょう。
この機能を使う事でhttps接続で外部から動作の確認をする事が出来るようになりました!
CodeEditorで開発
最後に「Hello world!」を「Hello Cloud Shell!」に書き換えたいと思います。
もしかしたらVimやEmacs等のCliベースのエディタに不慣れな参加者もいるかも知れませんよね。
そんな時はCodeEditorの出番です。
CodeEditorの詳細については弊社のエンジニアが別途まとめているものが有りますので、
ぜひそちらもご覧ください!
ソースコードの変更が終わったので再実行してみましょう!
めでたくHello Cloud Shellが出力されました!!!!
勉強会のその前に
非常に簡単なCloud Shellを利用したHandsOnの一例を紹介しました。
実際のHandsOnではもっと手順が複雑なものが多いかと思いますが、大体の流れは本記事にて掴んでいただけたかと思います。
Cloud Shellを利用する為にはGmailアカウント、GsuiteアカウントもしくはCloud Identityで作成したアカウントが必要となります。
Gmailであれば無料で作る事が出来ますし、アカウントの用意についてはハードルはそんなに高く無いはずです。
ただそれでもなんだか前準備が面倒くさそうと思った方もいらっしゃるのでは無いでしょうか?
安心してください小難しい設定は特にありません!
プロジェクトを作成して、IAMに参加者のアカウントを追加するだけです!
HandsOnが終わったらプロジェクトをシャットダウンしてしまえば関連リソースも全て削除出来ます。 いかがだったでしょうか? 皆さんもHandsOn環境迷子になってしまった際は、ぜひCloud Shellの活用を検討してみてください! 参考URL 弊社では一緒にGCPを追いかけてくれるエンジニアを募集しております。 それでは皆様良いHandsOnを!
この例では役割に「プロジェクトの閲覧者権限」を指定していますが、この権限だとプロジェクト内のリソースが閲覧可能になってしまいます。
リソースの閲覧をさせたく無い場合は適宜役割の変更をしてください。
このお手軽さもGCPの良さの一つですね。最後に
Cloud Shellのお手軽さ・便利さが少しでも伝われば嬉しい限りです。
特長
Cloud Shell 料金
GCPが好きだという方がいらっしゃいましたらぜひお声掛けください!