Raspberry PiでCloud9を動かす
AWS Cloud9、便利ですよね。でもEC2のCPU残クレジット数が不安…。
そんなときに、(コアあたりの性能は落ちますが)常時フル負荷で稼働できる Linux マシンとして、Raspberry Pi がお手軽に使えます。
1CPUの速度は、t2.microのバースト時の1/8位で、全コアを活用すれば5割くらいの性能にはなるかと思います。
本記事は、Raspberry Pi で Cloud9 を稼働させた手順の記録です。
毎度の事ながら有料設定ですが、隠し部分はありません。
1.買う
まずは本体とケースが必要です。常時高負荷を掛ける運用を想定していたので、ファン付きのケースにしました。
SDカードはA1対応のものだと、アクセスが速くなります。
新規格対応の16GBで700円だなんて、安くなりましたね…。
2.組み立てる
ささっと全部組み立てます。ネジも手で締めれば、工具無しです。
3.OSをSDカードにインストール
Cloud9 しか使わない場合、デスクトップ環境は不要なので、
容量が軽い Raspbian Stretch Lite (約350MB) をダウンロードします。
SDカードへの書き込みは専用ソフトが必要です。
各OS対応の Etcher が非常に簡単で、ZIPファイルを選択してボタンを押すだけです。
SDカードが作成できたら、初期設定時にSSHを使うために、ルートフォルダに SSH という空のファイルを作っておきます。(作らないと接続できません)
4.起動
LANケーブル、HDMI、SDカードを Raspberry Pi に差し、電源を入れます。起動ログの最後の方にIPアドレスがありますので、SSHで接続します。
ユーザー名は pi、初期パスワードは raspberry です。
$ ssh ipアドレス -l pi
ログインしたら、安全のため、root ユーザーと pi ユーザーのパスワードを変更します。
$ sudo passwd root
(新パスワードを2回入力。英大小文字数字混ぜ、8文字以上)
$ passwd
(旧パスワード "raspberry" と、新パスワードを2回入力)
5.初期設定
そのままだとWifiのエラーが出るので、使用国の設定をします。
$ raspi-config
メニューの「4. Localisation Options」→「I4 Change Wi-fi Country」で、
JP を選択します。("J" をタイプすると近くに飛べます)
必要であれば、Wi-fiアクセスポイントの設定を行います。
設定を完了すると再起動が掛かりますので、設定した新しいパスワードで再度ログインします。
6.Cloud9 のインストールと起動
まずはGit。(OSのパッケージに標準で入っていません)
$ sudo apt-get install git
node.js と Cloud9 Core のインストールバッチは、github に公開されているものを使わせてもらいます。
$ wget https://raw.githubusercontent.com/chintanp/Cloud9-on-RPi/master/c9_bash_RPi.sh
$ chmod 755 ./c9_bash_RPi.sh
$ sudo ./c9_bash_RPi.sh
SDカードの性能にも左右されますが、30分くらいで完了します。
※sqlite3のビルドが長いです。気長に待ちましょう。
この中で、apt の update / upgrade も行われます。
7.アクセスする
ログの最後にアクセス先のアドレスが書いてあり、そこをブラウザで開きます。デフォルトでは http://IPアドレス:8181 です。
8.SSHからログオフしても動いたままにする
セットアップスクリプトはコンソールを奪って動いているため、ログオフするためには停止しなければなりません。それでは困るので、デーモンとして動かせるようにする forever を使います。
$ sudo npm install forever -g
$ forever start /usr/local/c9sdk/server.js -l 0.0.0.0 -a : -w ~
9.Python向けの追加セットアップ
素の状態では pip がありませんので、インストールします。
共有ライブラリが足りずnumpyが動かないため、libatlasも追加します。
$ sudo apt-get install pip3
$ sudo apt-get install libatlas-base-dev
AWS Cloud9 との大きな差は、Pythonのバージョンが3.5であることと、pipのコマンドラインがpip3になることです。
10.後はお好みで
Python以外の環境をインストールしたり、電源投入と同時にサービスが動くようにしたり。
また、安全なネットワークでない所では、アクセス制限等のセキュリティ対策が必要です。
(追記)ランニングコストについて
Raspberry Pi の消費電力は約15W、電気代換算で約400円/月 程です。AWSのt2.microが1200円程ですので、(初期投資はありますが)1/3のコストで最大1/2の性能と負荷制限からの自由が手に入ります。
そこそこ使えるデスクトップをノンストップで動かすと5000円以上掛かるので、Raspberry Piの経済性は助かりますね。
ご武運を!
ここから先は
¥ 250
この記事が気に入ったらチップで応援してみませんか?