Hateburo: kazeburo hatenablog

SRE / 運用系小姑 / Goを書くPerl Monger

「さくらのクラウドシェル」でWebサーバを起動する(ngrok編)

さくらインターネットから新しいサービス、「さくらのクラウドシェル」がリリースされました。 ブラウザからワンクリックで利用できるオンラインのシェル環境が起動できます。無料で使えます!!

こちら無料で試すボタンを押すと、次のモーダルが現れます。

ここで「会員IDで利用する」を選んだ場合、アウトバウンド向けの各ポート(22/53/80/443/1024-65535)の通信が利用できます。会員IDでログインしない場合は通信ができない環境が起動します。

ボタンを押すとすぐにシェルが立ち上がります。

フォントや文字色、背景画像が選べたりします。

シェルとしてはZSHが起動し、Go、PythonRuby、Node.js などの開発言語のほかに、VimEmacs、tmux、Git、Ansible、Terraform、さくらのクラウドコマンドラインから操作できる usacloud があらかじめ導入されています。

さくらのクラウドシェルでWebサーバを起動する

さくらのクラウドシェルは外から通信を受けることはできないので、ちょっとしたツールを試したりすることはできますが、Webサーバなどサーバとして利用することは通常できません。 そこで、Ngrokというトンネルサービスを使用して、Webサーバを起動してみます。

ngrok.com

ソースコードgistにおきました。

gist.github.com

このコードではGo言語とNgrokのライブラリを使っています。

ngrok.com

クラウドシェルを起動後、

sakura@cloud-shell% mkdir server
sakura@cloud-shell% cd server
sakura@cloud-shell% curl -LO https://gist.githubusercontent.com/kazeburo/795c8602e26aca66301e0142bcc024ea/raw/b9b22dbb4b23d38d37e59dadceeec418d69ed499/main.go
sakura@cloud-shell% go mod init server
sakura@cloud-shell% go mod tidy
sakura@cloud-shell% go run main.go

でサーバが起動します。

表示されたURLがクリッカブルになっている(便利!)なのでクリックして動作確認ができます。

さくらのクラウドシェルでは20分操作しないと自動終了されるので、Webサーバも20分で終了します。はい。