はじめに
Google Cloudを使っていて、自分が感動したことの一つは、少しのコマンドでものすごく簡単にサーバーを立ち上げることが出来ることです。その中でも、データ解析系の仕事に従事する人はRstudioを使っていることが多いと思いますが、ブラウザでアクセスできる、Rstudio ServerをGoogle Cloud上で簡単に立ち上げる方法を記載します。他の記事では通常通りにサーバーをインストールする方法は載ってましたが、dockerを組み合わせれば本当にものすごく簡単立ち上げることが出来るので、紹介します。
*Google Cloud SDKはインストールされている前提です。
FIREWALLの設定
Rstudio Serverはポート8787を利用するので、まずこちらの開放する準備をします。
> gcloud compute firewall-rules create allow-rstudio --allow tcp:8787 --target-tags allow-rstudio --source-ranges 0.0.0.0/0
これで、allow-rstudioというfirewallのルールが生成されました。以下のコマンドで確認できます。
> gcloud compute firewall-rules list
VMインスタンスを立ち上げる
とりあえず、コンテナ用に最適化されたイメージが用意してあり、こちらを利用すれば最初からdockerがインストールされております(他のイメージを利用すると、dockerをわざわざインストールする必要があります)。ちょっとメモリを15GBほど利用できる設定にしましょう。また、この際に、ポート8787を開放する設定にします。
> gcloud compute instances create rstudio-server --machine-type n1-standard-4 --image-family cos-stable --image-project cos-cloud --tags allow-rstudio
しばらくするとインスタンスが立ち上がり、次のコマンドでインスタンスの確認ができます。
> gcloud compute instances list
インスタンスに接続して、RSTUDIO SERVERを立ち上げる。
まずは、作成したインスタンスにssh接続します。
> gcloud compute ssh rstudio-server
接続したインスタンス上で、サーバーを立ち上げますが、Rstudio Serverを立ち上げるdockerイメージが準備されており(https://hub.docker.com/r/rocker/rstudio/)、こちらを利用するとものすごくお手軽にできます。
> sudo docker run -d -p 8787:8787 rocker/rstudio
ブラウザ上で接続
http://<EXTERNAL_IP>:8787 とブラウザで入力して、Rstudio Serverに接続する。初期ユーザーとパスワードはともにrstudio、rstudio。