ホーム >  マイコン > RaspberryPi >  ラズパイAIサーバを作る(ラズパイサーバのススメ)

投稿日:   |  最終更新日:

ラズパイAIサーバを作る(ラズパイサーバのススメ)

RaspberryPi

ラズパイ(RaspberryPi)を使って、家庭内にクラウドサーバを作ります。

ドメスティッククラウドサーバ

家庭内にクラウドサーバと同等のサービスを作ります。家庭内に有るMYサーバに接続して様々な処理をさせて便利に使いたいと思います。

クラウドサーバの必要性

クラウドサーバの強みは拡張性です。情報を管理・加工を行うためにクラウドサーバを使うのが一般的になってきました。

ラズパイに機能分散してAIサーバに仕上げる

ラズパイあるいは別のマイコンにカメラモジュール・音頭センサー・湿度センサーを接続します。部屋の温度、湿度、画像をIOTサーバ(今回作るサーバの一部)へ送信します。そのデータをサーバ側で分析し、室温が適切でない場合はアラームを鳴らします。

機能

  • 人工知能アルゴリズムを搭載
  • ペットの行動解析
  • 20人同時アクセスがあっても機能を継続
  • ハードウェアの故障があっても機能を継続(冗長化)
  • 複数あるサーバの機能を複数のCPUに実装して高速処理


家庭内にラズベリーパイでサーバを作る理由

ラズベリーパイで家庭用サーバを作るメリットは以下のとおりです。

サービスが終了しない

外部のクラウドサービスを使う以上は、いつかサービスが終了してしまうのではと不安になります。当たり前ですが、自宅のサーバは自分がサービスを止めてしまわない以上は稼働し続けます。

情報漏えいしない

多くのクラウドサービスは安全です。しかし、情報漏えいの可能性は0%ではありません。外部に画像を置くことに抵抗がある人は、自宅にデータがあるとわかれば精神衛生的に良いでしょう。

アクセス頻度の低いデータを管理できる

例えば、旅行の写真をクラウドに保存したとします。しかし、写真は保存後数年経過した後にアクセスする場合が多いため、パスワードを忘れたりサービスが停止したりすると保存していた画像を見ることができなくなります。

運用コストが少ない

AWS等の外部のクラウドサーバを1年以上利用すると、かなりお金がかかります。自宅で運用しますので、圧倒的に安くなります。


ラズパイサーバと外部サーバとの比較

ラズパイで自作した場合とAWSを利用した場合を比較します。

ラズベリーパイの値段は、本体+16GSDカード+ACアダプタの値段でおおよそ7,000円とします。

  自作 AWS
機能 必要なもの 必要数 購入費用 利用する機能 必要数 月利用料
ロードバランサー ラズベリーパイ 1 7,000 EBL 1 1,417
MQTT Broker ラズベリーパイ 2 14,000 AWS IOT 1 4,200
メッセージ処理エンジン ラズベリーパイ 2 14,000 Lambda 1 1,470
APIサーバ ラズベリーパイ 2 14,000 API GW 1 455
アプリケーションサーバ ラズベリーパイ ※APIサーバーと同じ 0 EC2 2 1,964
ストレージ SSD+ケース 2 26,000 EBS 1 1,417
1年運用 75,000 131,076

目標の仕様

サーバを購入することに比べれば、ラズパイは非常に安価です。家庭・職場で規模に応じてシステムを構築できます。

ハードウェア構成

以下の規模のシステムを想定しています。

  • ロードバランサー
  • アプリケーション・サーバ+APIサーバ ✕2
  • メッセージ処理エンジン ✕2
  • MQTT Broker ✕2
  • リレーショナル・データベース
  • ストレージ(200Gバイト)

ラズベリーパイ✕8使います。

ストレージとして、ハードディスクまたはSSD✕3を使います。

ディープラーニング絡みで学習・判定など高速処理が求められる場合は、GPU対応の仮想マシンが必要になります。クラウドで使う場合、「数万〜200万円/年」費用がかかります。PCにGPUボードを追加したものを追加すれば、20万円で準備出来ます。また、組み込みGPUボードもあるのでそちらも検討してみます。

システム構成

ロードバランサ

ロードバランサは、リクエストを複数のサーバに分散させます。そして、各サーバの処理を平準化(公平な状態)してシステム全体として処理能力を有効活用するためのコンポーネント(部品)です。

MQTT Broker

MQTT Brokerは、MQTTプロトコルを使ったメッセージ送受信を行う際のサーバです。主に以下の処理を行います。

  • トピック(通信チャンネル)の管理
  • 送信者・受信者の管理
  • メッセージ配信の実行

イベントエンジン

イベントエンジンは、以下の処理を行います。

  • ファイル保存
  • システムで発生する事象の検出
  • イベントに対して、事前登録された処理(画像加工・画像解析)を実行

冗長化

画像管理用のサーバを複数台用意します。サーバを分散すれば、画像管理処理を同時に複数台で実行できます。ここでロードバランサを利用します。また、このような構成にすれば一方のサーバが破損しても別のサーバが継続できます。

イベントエンジンとデータ加工処理およびAI処理を複数用意するのも同様です。同時処理を増やすことでシステムの処理性能を向上させることと信頼性を高めることを目的とします。SSDを複数用意するのは、複数箇所にデータを保存し、故障した場合にデータが消失することを防ぎます。


トラックバック用のURL
プロフィール

名前:イワサキ ユウタ 職業:システムエンジニア、ウェブマスター、フロントエンドエンジニア 誕生:1986年生まれ 出身:静岡県 特技:ウッドベース 略歴 20

最近の投稿
人気記事
カテゴリー
広告