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の経済性は助かりますね。

ご武運を!

ここから先は

0字

¥ 250

期間限定!PayPayで支払うと抽選でお得

この記事が気に入ったらチップで応援してみませんか?