こんにちは。
最近Deep Learningを学び始めて、友人と週末に2時間くらい勉強会をやっています
その時にColaboratoryの無料版を利用しているのですが、スペックが少しキツくなってきたのでPro版を検討してみたのですが、スポットでしか利用しないので月額1000円くらい払うのはお得なのか?割高なのか微妙なとことろでした。
そこで色々と調べてみたところ、AWS EC2を使って接続した方が費用感的にも良さそうだったので、ちょっとした遊び感覚でやってみたので備忘として残すことにしました

対象

    • Colaboratory Proの約月額1000円を払いたくなくて、少しでも安く済ませたい人(AWSの基本的な知識は必須)

 

    ローカル端末のスペックがそこまで高くなくて、一時的にハイスペックな環境を利用したい人

扱わないこと

    AWS EC2インスタンスの立ち上げや停止

環境

パソコン
Apple Mac mini(2018)
macOS Big Sur

AWS
Amazon Linux 2 AMI (HVM), SSD Volume Type
※インスタンスサイズなどその他の条件は任意

アプリ
Python 3.7.9
pip 20.2.2

jupyter core : 4.7.1
jupyter-notebook : 6.4.0
qtconsole : not installed
ipython : 7.24.1
ipykernel : 5.5.5
jupyter client : 6.1.12
jupyter lab : 3.0.16
nbconvert : 6.0.7
ipywidgets : not installed
nbformat : 5.1.3
traitlets : 5.0.5

流れ

EC2インスタンスを立ち上げる

チュートリアル: Amazon EC2 Linux インスタンスの開始方法 などを参照してインスタンスを立ち上げてください。
ここで必要なものは次の2つです。

    • pemファイル

 

    インスタンスへ接続用のSSHコマンド

ポートフォワードしてSSHを接続

ご自身の端末から次のSSHコマンドを実行してポート8888をフォワードしてインスタンスに接続してください。
その際、インスタンスを作成した時に出力されたpemファイルが必要になりますので、手元に用意してから対応するとスムーズです。

ssh -L 8888:localhost:8888 ec2-user@ec2-x-xxx-xxx-xxx.ap-xxxxxxx-x.compute.amazonaws.com -i "xxxxx.pem"
スクリーンショット 2021-06-14 20.55.15.png

Jupyterをインストール

公式サイトの手順に従ってJupyterをインストールしてください。
インストールが完了したら、次のコマンドを実行して正常に起動するか確認してください。

jupyter notebook

下記のようにlocalhostのURLが表示されたら成功です

$ jupyter notebook
~~省略~~
    To access the notebook, open this file in a browser:
        file:///home/ec2-user/.local/share/jupyter/runtime/nbserver-3650-open.html
    Or copy and paste one of these URLs:
        http://localhost:8888/?token={{実際はここにトークンが表示されています}}
     or http://127.0.0.1:8888/?token={{実際はここにトークンが表示されています}}

※一部表記を省略しています

接続が確認できたら、Colaboratoryに接続するためにいくつかオプションの指定が必要なので、Jupyter Notebookを1度終了します。

Colaboratoryで接続するようにオプションを指定してJupyter Notebookを起動

Colaboratoryの公式サイト の手順に従って起動しましょう。
いくつか重要そうな部分だけピックアップしています

新しいノートブック サーバーを通常どおり起動します。ただし、Colaboratory フロントエンドからの WebSocket 接続を明示的に信頼するフラグを設定する必要があります。
〜〜省略〜〜
ノートブックを他のユーザーと共有しても、ローカルマシン上のランタイムは共有されません。共有したノートブックを開いたユーザーはデフォルトでは標準のクラウド ランタイムに接続されます。

jupyter notebook \
  --NotebookApp.allow_origin='https://colab.research.google.com' \
  --port=8888 \
  --NotebookApp.port_retries=0

Colaboratoryで接続先情報を入力

スクリーンショット 2021-06-14 20.57.58.png

バックエンドURLの入力項目にコマンドライン上で表示されたhttp://localhost~~~~~のアドレスを入力して[接続]を押下する

スクリーンショット 2021-06-14 20.58.52.png

接続に成功したら次の画像のように接続済み(ローカル)と表示されます

スクリーンショット 2021-06-14 21.04.11.png

最後に

そこそこ時間がかかるので、お金は惜しいが時間には余裕がある人向けかもしれません

广告
将在 10 秒后关闭
bannerAds