•  

コラム

  1. TOP
  2. コラム
  3. コラム
  4. AWSのGreengrassとは?エッジ環境で AWS IoT の機能を利用する

AWSのGreengrassとは?エッジ環境で AWS IoT の機能を利用する

  • LINEで送る
  • このエントリーをはてなブックマークに追加
AWSのGreengrassとは?エッジ環境で AWS IoT の機能を利用する

第1回 新世代エッジエンジニアのための技術講座 コラム

この連載コラムでは、AWS IoT Greengrassについて、数回に分けてお伝えします。

第1回の今回は、概要(全体像)、構成、機能について取り上げます。
その後、第2回と第3回で個々の機能について説明し、最後の第4回目に事例やAWS以外の選択肢を紹介します。

本連載は、次のような想定・目的で記述しています。

想定する読者
  • AWSのGreengrassについて多少は興味がある人
  • 独力で調べようとはしたけれど、公式HPを見ても専門用語満載で、その気が失せた人、記述内容が理解できなかった人
想定する読者の
知識レベル
  • AWS やエッジコンピューティングといった言葉は聞いたことのある人
  • 少しくらいはプログラムを書いたことがある人/読める人
本連載を読んだ後に得られる期待値
  • 以下の問いに答えられるようになる
    • Greengrassって何ができるの?
    • Greengrassに関連して登場する用語の意味は?
  • 公式HPの記述を読むための下地ができる
    • 書いてあることがある程度は理解でき、読み進めることはできる
    • チュートリアルをやってみるとき、各手順の目的や意味がわかる

 



AWS IoT Greengrass の概要

AWS IoT の機能をエッジにオフロード

AWS IoT Greengrassは、AWSが提供するサービスの1つで、AWS の「IoT プラットフォーム」(AWS IoT) の機能をエッジ(現場)にオフロードする仕組みです。

AWS IoT Greengrass の概要
※引用 Eureka Box(ユーリカボックス)【体験版】AWS Greengrass =連載第1回=
https://member.eureka-box.com/products/4/categories/4011892/posts/13450001

IoTシステムでは、さまざまなデバイスからクラウドにデータを吸い上げ、AIでデータを分析して、その結果に基づいてデバイスを制御します。そういったIoTシステムをクラウドの環境で構築できるよう、AWSでは、AWS IoTというサービスをもともと提供していました。そのAWS IoTの機能をエッジ環境でも使えるようにしたプラットフォームがGreengrassです。

クラウドでできることの一部または全部をエッジ環境で実行することで、負荷分散を図ることができます。



クラウドの機能を現場でも

Greengrass の導入によって、IoT システム構築に必要なクラウドの機能が現場にもたらされ、デバイスから収集したデータをクラウドを介さずに現場で処理する「エッジコンピューティング環境」を構築できるようになります。

エッジコンピューティング環境を構築
※引用 Eureka Box(ユーリカボックス)【体験版】AWS Greengrass =連載第1回=
https://member.eureka-box.com/products/4/categories/4011892/posts/13450001

現場の環境の中だけでIoTシステムを構築することも可能ですし、エッジで実行するには負荷の高い処理をクラウドに担当させるような、クラウドと連携したIoTシステムも構築できます。



AWS IoT Greengrass を使用したシステムの例

システムの例をご紹介しましょう。こちらは、製造現場において設備の異常を機械学習モデルで判別し、検知した場合にアラートを出すというシステムです。

AWS IoT Greengrass を使用したシステムの例
※引用 Eureka Box(ユーリカボックス)【体験版】AWS Greengrass =連載第1回=
https://member.eureka-box.com/products/4/categories/4011892/posts/13450001

設備の画像、振動、音、温度などのデータをセンサから収集し、機械学習モデルで異常を検出して、異常があればライトを付けるなどで通知します。

これをGreengrassを使ってエッジで実現できると、どのような利点があるのでしょうか。

  1. センサのデータは発生頻度が高く、カメラのデータは大容量になりがちですが、いちいちクラウドに転送する必要がないため通信コストが削減できます。また、製造中の製品や内部の設備・施設が写り込んでいるなど、外部に流出すると困る画像データは、クラウドに出したくないものです。そういうプライバシーを考慮しなければならないデータを外部に送出せずに処理できます。(図左上)

  2. クラウドを介さないので、異常を検知したら即停止することができます。そのため、リアルタイム性、即応性が求められる処理に対応できます。(図左下)

  3. Greengrassを使用すると、エッジだけで処理する以外に、クラウドと連携させて、エッジでやるには荷が重い処理をクラウドで実行することが可能です。たとえばエッジで動かす機械学習モデルは、精度を上げるために運用中に採取したデータで再学習させることが一般的ですが、その学習にはかなりのリソースが必要なので、エッジで行うのは困難です。その再学習をクラウドで実行するようなことが考えられます。
    またその際に、Greengrassでは、クラウドで学習したモデルをエッジにデプロイする仕組みが提供されているのもメリットです。(図右上)



AWS IoT Greengrass の効果

Greengrassを導入すると、「クラウドヘビー」の弊害が軽減できます。

AWS IoT Greengrass の効果
※引用 Eureka Box(ユーリカボックス)【体験版】AWS Greengrass =連載第1回=
https://member.eureka-box.com/products/4/categories/4011892/posts/13450001

すべてをクラウドで処理すると、図の赤い吹き出しで示されているような「クラウドヘビー」と言われる弊害が生じますが、Greengrassを使うことで処理をエッジ側と分担できるため、問題を軽減できます。つまり、

  • クラウドでのデータ処理や保管コスト
  • 通信量、通信コストを低減できる
  • プライバシー漏洩リスクが軽減される
  • クラウドとつながらないオフラインの状態でも処理ができる
  • リアルタイム性が求められる処理を遅延(レイテンシ)なく実行できる

といったメリットがあります。



ご不明点・ご相談ごとがあれば
お気軽にご連絡ください

ソフトウエア開発オンライン学習Eureka Box


2. AWS Greengrass の構成と機能

AWS Greengrass の構成

Greengrass の構成は以下のとおりです。

AWS Greengrass の構成
※引用 Eureka Box(ユーリカボックス)【体験版】AWS Greengrass =連載第1回=
https://member.eureka-box.com/products/4/categories/4011892/posts/13450001

物理的には大きくエッジ環境とクラウド環境に分かれます。エッジ側はさまざまなデバイス(ハードウェア)で構成されますが、その種類はIoTデバイスとエッジデバイスの2つに大別されます。

  • IoTデバイスは、センサやアクチュエーターなど、いわゆる「Thing」に相当します。
  • エッジデバイスは、IoTデバイス間の連携を支えたりクラウドとの連携を担ったりする、ゲートウェイに相当するデバイスです。
  • クラウド側は基本的にAWSです。ただし、連携先にはサードパーティーのクラウドサービスも利用可能です。

そして、これらのハードウェアに、それぞれソフトウェアが搭載されます。

  • 中でも重要なのが、エッジデバイスに搭載されるGreengrass Coreというソフトウェアで、一般にGreengrassと呼ばれています。(Greengrass Coreの機能については連載の2回目と3回目で詳しく説明します。)
  • IoTデバイスではIoT Device SDKが動作します。これは、Greengrass Coreに接続し、データを転送する処理を簡単に行うためのSDKです。
  • クラウド側のサービスはAWS IoTを使用します。AWS IoTはIoTシステムのクラウド側のプラットフォームであり、これを窓口にして、背後にあるAWSのさまざまなサービスにアクセスできます。

クラウド側に存在するソフトウェアで、Greengrassにとって大切なのは管理コンソールです。これはGreengrassの管理やメンテナンスを行うためのポータルのサイトであり、ここで管理した内容をエッジ側のGreengrass Coreに反映させて使うのが基本です。

これをまとめると、次のようになります。


ハードウェア
構成要素 概要
エッジデバイス エッジ(現場)におけるゲートウェイとして機能するデバイス。
Greengrass Core が搭載される。
IOT デバイス エッジ(現場)内でのモノとして機能するデバイス群。
AWS IoT Device SDK が搭載される。
※AWS 提供のFreeRTOS搭載のIoTデバイスもエッジデバイスとの接続が可能

ソフトウェア

構成要素 概要
Greengrass Core Greengrassの中核となるソフトウェア。
以下のような機能を提供する。
(1)デバイス間/デバイス-クラウド間のメッセージ中継
(2) アプリケーションロジック(Lambda)の実行
AWS IoT Device SDK Greengrass(あるいはAWS IoT)との通信/連携機能を提供するSDK。
管理コンソール エッジ(現場)のデバイス構成やGreengrass の動作を定義・保守するためのクラウドサービス。
下記の定義とGreengrassへのデプロイ機能を提供する。
(a)アプリケーションロジック
(b) デバイス構成
(c)メッセージのルーティング(Subscription)


AWS Greengrass の機能

Greengrass Coreの主要な役割は、IoTデバイス集めたデータを処理するためのアプリケーションやロジックを配置し、実行することです。

AWS Greengrass の機能
※引用 Eureka Box(ユーリカボックス)【体験版】AWS Greengrass =連載第1回=
https://member.eureka-box.com/products/4/categories/4011892/posts/13450001


これらの機能は、図の上半分にあたる中核となる機能セットと、下半分にあたる補助的な機能セットに分類できます。

中核となる機能

「IoTデバイスから収集したデータをエッジで処理する」のを実現する機能

1 IoTデバイスおよびAWS IoTとの接続
2 データの収集と配信
3 データを処理するアプリケーションロジックの実行
4 アプリケーションロジックの開発とエッジへのデプロイ

補助的な機能

ロジック開発のための
ユーティリティとして提供される機能

5 IoT デバイスの状態の監視や操作【デバイスシャドウ】
6 エッジデバイス上のファイル、またエッジデバイスに直接つながるデバイスへのアクセス【ローカルリソースアクセス】
7 外部のサービスとの連携【コネクタ】

これらの各機能について、次回以降、具体的に見ていきます。

これからのエッジエンジニアに求められる技術を知るには

新世代エッジエンジニアのための技術を実際に学んでみたいという方に、まずは無料でお試しいただけるオンライン学習プラットフォームを準備しています。

業務が多忙なエンジニアでも、スキマ時間で効率的に実践的な学習が出来るEureka Boxは、エンジニアの現場の声から生まれたツールです。

ソフトウェア開発を改善するための開発技術を“知り・学び”“実践する”
超実践的オンライン学習プラットフォーム
Eureka Box(ユーリカボックス)
超実践的オンライン学習プラットフォームlink


ご不明点・ご相談ごとがあれば
お気軽にご連絡ください

ソフトウエア開発オンライン学習Eureka Box


次回以降のコラムから、AWS Greengrassの機能解説、活用事例、AWS以外の選択肢(パブリッククラウド系、オープン系)、その他の情報(動作要件、料金)で扱います。

AWSのGreengrassの技術を習得されたい方、ご質問事項は、エクスモーションへお気軽にお問い合わせください。

エグゼクティブコンサルタント 小浜 宗隆

執筆者プロフィール

株式会社エクスモーション エグゼクティブコンサルタント

小浜 宗隆

 

専門分野:

USDM、システム設計、機能安全、自動車、建機

  • LINEで送る
  • このエントリーをはてなブックマークに追加