LightsailとRaspberry Piでマイニング用ネットワークを構築した話

はじめまして、ビットバンクで情シスを担当している三河屋です。

さっそくですが、みなさん掘ってますか?
字面のまま受け取らないでください。
この業界で掘ると言えばあれしかありません。
マイニングです。

私は趣味でマイニングをしているのですが、
通勤中や休憩中も遠隔地にあるマイニング機器達が心配で、暇さえあればいつも稼働状況を確認をしています。
そんな日々を過ごしていると数ヵ月に1回ぐらいはマイニング機器がハングアップするようなこともあり、そんなことがあった日には仕事も手につきません。

しかも、遠隔地に設置してあると休日にしか駆けつけ対応ができないという制約があるため、最長で1週間も仕事に手がつかなくなってしまう可能性も秘めています。

そんな状況が発生した時のために対処できる方法を趣味の一環として考えてみました。

制約と要件

マイニング機器用のネットワークを作るにあたり、個人的に設けた制約と要件があったので書き出してみます。

  • 回線はLTE回線(MVNO)

いつでも撤退できるように固定回線を引かないで運用することにしました。
MVNO系のSIMであれば帯域制限のかかったプランで転送量無制限のものが存在します。
そのようなSIMを選定してイニシャル、ランニング両方のコストを抑えます。

  • 外出先からもマイニング機器の操作をしたい

拠点間VPNを利用する場合は固定のグローバルIPを利用するのが一般的です。
昨今のLTE回線は固定グローバルIPでもなく、キャリアグレードNATでアドレス変換されてしまうことがほとんどです。
そうなると、外部ネットワークからマイニング機器へ到達するのは難しくなります。

要約するとコストと外部からのマイニング機器への到達性を両立する必要があります。

検討した構成

前項の制約と要件を踏まえて以下のようなネットワーク構成を検討しました。

利用するものは以下の通りです。

オープンソース版 SoftEther VPN

https://www.softether.jp/2-research/11-sevpn

筑波大学の研究プロジェクトとして公開されているオープンソースのVPNソフトウェア。
LightsailのインスタンスとRapsberry Piの間を接続するのに利用します。

Amazon Lightsail

https://aws.amazon.com/jp/lightsail/

VPCなどの設定などを行わすにAWSの仮想マシンを手軽に使いたい場合に最適なサービス。
EC2だと別料金になる固定IPも込みの料金となるためお得感があります。
SoftEther VPN Serverとして利用します。

Raspberry Pi

https://www.raspberrypi.org/

定番のシングルボードコンピュータ。
OSはraspbianをインストールし、SoftEther VPN Clientとして利用します。

モバイルルータ

有線接続可能なものもしくはUSBドングルで、
LTE/インターネット回線とのブリッジとして機能するもの。

USB NIC (LANアダプタ)

Raspberry Piには有線NICが1ポートしか搭載されていないので、LinuxをサポートしているUSB NICを用意します。

構成図

このような構成にすれば、個別のグローバルIPを持たないLTE回線であっても、
Lightsailが固定IPのエンドポイントとなって外部からマイニング用のネットワークに接続することが可能となります。

構築手順

OSのインストールやSoftEther VPNのビルドやセットアップ方法に関しては
外部のサイトで詳しく設定方法を紹介してくれている先人達がいらっしゃるので、そちらを参考にしていただけると幸いです。

今回は要点だけをまとめました。

VPNサーバの準備

  1. Amazon LightsailでLinux系OSのインスタンスを用意
  2. SoftEther VPNをビルドし、サーバとしてセットアップ、仮想HUB作成
  3. Lightsailの管理コンソールで必要なポートの開放

VPNクライアントの準備

  1. Raspberry Piにraspbianをインストール
  2. SoftEther VPNのビルドし、クライアントとしてセットアップ
  3. VPNサーバの仮想HUBにカスケード接続
  4. USB NICのブリッジ接続
  5. USB NICから先、マイニング機器の物理結線

最後に

OSSと低価格なハードウェア、サービスによって快適な環境を手に入れることができました。
SoftEther VPNはL2TP/IPsecなどの汎用的なプロトコルもサポートしています。
電車の中でスマートフォンからマイニング機器を再起動したり、パラメータをいじりたいと言う方がいましたら参考にしていただけると幸いです。

構築後のイメージ

Author image
About Mikawaya
expand_less