LoginSignup
12
7

More than 5 years have passed since last update.

AWS EC2 上に Google Colaboratory の ローカルランタイムを作成する

Last updated at Posted at 2018-06-10

Google Colaboratory の ローカルランタイムへの接続 でローカルのPCに、nvidia-docker2を使って、Google Colaboratoryのローカルランタイム環境を作成し、Google Colaboratoryから接続する方法を書きました。

ここでは、EC2 上に Google Colaboratory のローカルランタイムを作る方法を説明します。

本当は、Googleに敬意を表して、GCPを使った方法を先に書こうと思ったのですが、GPUを使うには割り当てリクエストを送らないといけないようなので、先に AWS EC2 になりました。

2018/06/16追記: 書きました

といっても、nvidia-docker2に対応したAMIを使って起動するだけです。

  1. https://console.aws.amazon.com/ec2/v2/home からインスタンス作成
  2. コミュニティAMIの "Ubuntu 16.04 Docker CE GPU"を使う。"nvidia-docker2"でコミュニティAMIを検索
    • NVIDIA公式の"NVIDIA Volta Deep Learning AMI"でも良いが、これだとP3インスタンスでしか使えないためです。P3インスタンスを使う場合は、"NVIDIA Volta Deep Learning AMI"がオススメです。
  3. インスタンスを選択。P2かP3
  4. VPCを選択。自動割り当てパブリック IP を選択しておく(その方が接続らが楽)VPCについてはこちらが参考になります
  5. 次の手順をクリックし、セキュリティグループの設定まで移動
  6. インスタンス作成

上記で、nvidia-docker2が起動したEC2インスタンスができました。

そして、インスタンス一覧から右クリックし、接続をクリックします。
以下のようなコマンドが書いてあるはずです。

ssh -i "XXX.pem" ubuntu@ec2-XX-XX-XXX-XX.compute-1.amazonaws.com

これをコピーして、-L 8081:localhost:8081 を加えて実行してください。以下のようになります。

$ ssh -L 8081:localhost:8081 -i "XXX.pem" ubuntu@ec2-XX-XX-XXX-XX.compute-1.amazonaws.com

つながったら、以下のように入力し、GNU Screenを起動してから、dockerインスタンスを起動します。初回起動はイメージのダウンロードで時間がかかります。

$ screen
$ docker run --runtime=nvidia -it --rm -p 8081:8081 --cap-add SYS_ADMIN --device /dev/fuse \
             --security-opt apparmor=unconfined ikeyasu/colab-local:latest

ここまでできたら、Colaboratory から接続できます。Colaboratoryの右上の接続の右にある▼をクリックし、ローカルランタイムに接続をクリックし、Docker起動時に指定したポート番号(8081)をしていして、接続をクリックしてください。

なお、ローカルに8081ポートをForwardingしているので、 http://127.0.0.1:8081/ で、Jupyter notebook にアクセスできます。

12
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
7