Case Study ケーススタディ

Protocol Bufferを利用するIoTデータ収集ソリューション

昨今では、IoTはあらゆる生活やビジネスに活用され、日常で欠かせないものになっていっています。 さらに、新たな事業やサービスの創出を目的に、IoTの導入を検討する機会が増えています。
たとえば、工場では、IoTによって収集したデータを用いて、稼働状況を可視化することで、ムダなプロセスの削減や適切な人員配置などの最適化が図れ、業務の効率化やコスト削減に役立つことができます。
また、IoTデバイスから取得したビッグデータを分析することによって、新たな気づきからビジネスの機会を創出できる可能性を広げることができます。

IoT導入における課題

IoTにおけるデータ収集は、常時アクティブであるという特徴があるため、通信コストおよびストレージコストが常に発生します。
ストレージコストについては、S3に保存するデータを圧縮したり、LifeCycleを定義することで、コストを大幅に削減することができます。
しかし、通信コストについては、多くの工夫が必要とされます。 たとえば、AWS IoT Coreのメッセージングの料金計算方法として、メッセージは5KBごとに費用が発生します。 IoTデバイスからJSONのフォーマットで1KB以下のメッセージが送信されることはよくあり、このような小さいデータサイズの送信が頻繁に発生する場合、無駄なコストが発生してしまいます。

Protocol Bufferとは

Protocol Buffers は、Googleが開発したデータシリアライゼーションフォーマットです。 さまざまなプログラミング言語をサポートしており、プラットフォームに依存しないため、 このフォーマットを使って書かれたプログラムは他のプラットフォームに簡単に移植することができます。
今回はProtocol Bufferを利用し、デバイス側で複数のメッセージをまとめてエンコードしてから送信し、AWSクラウド側で送信されたProtocol Bufferメッセージをデコードして、JSON+GZIPをS3に保存するソリューションを紹介します。

ソリューション図

各モジュール概要説明

  • Thing

    • IoT Device SDKを利用
    • デバイスのセンサーからデータを収集
    • 収集したデータをまとめてProtocol BufferエンコードしてMQTTでAWSIoTCoreに送信

      ※5KBまでのメッセージをまとめてから送信することで、通信コストが下がる

  • IoT Core

    • Deviceの登録
    • Deviceの管理
    • データ受信
    • ルールエンジン
  • KinesisDataStreams

    • ルールエンジンの送信先
  • Lambda

    • Protocol BufferデコードしてからJSON化する
  • KinesisDataFirehose

    • DynamicPartition
    • S3に出力
  • S3

    • データストレージ

セキュリティ考慮

  • IAMロール、Lakeformationによる権限コントロール
  • S3の暗号化保存(KMS)

コスト考慮

  • ライフサイクル

Win Technoが選ばれる理由

  • プロのチーム

    当社のエンジニアの多くは、主要クラウドベンダーの認定資格を取得しています。クラウド開発に豊富な知識と経験をもったエンジニアによるサービスを展開しています。
  • 全面的なサポート

    当社は各大手ベンダーの環境構築・導入支援、既存システムのクラウド移行、VDIの構築支援、請求代行、システムの運用代行等、様々なサービスを提供しています。
  • 独自の技術力

    Win Technoはシステムのセキュリティ強化、24時間365日モニタリング体制の運用において豊富なノウハウを有しており、ブロックチェーンベースのソリューションの開発に力を入れています。