•  

コラム

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

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

  • LINEで送る
  • このエントリーをはてなブックマークに追加
第1回 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

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

Greengrassを正しく理解した上で適用し、最大限の効果を得られるようスキルアップしたい方にもEureka Boxでの学習はお勧めで、無料会員登録だけでも以下の特典が受けられます。

Eureka Box会員登録特典(無料)
  1. 各連載コラムの全容、未公開コラムも一気にまとめて読める(一部動画解説付!)
  2. USDM(要求記述)、MBD(モデルベース開発)、システムズエンジニアリング、AWS Greengrass(新世代エッジエンジニアのための技術講座)など、ソフトウェア開発に関わる知識がギュッと凝縮、困った時のお助けアイテムとしても長期で活用出来る
  3. ソフトウェア開発に関わる無料お試しコンテンツも充実


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

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

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

執筆者プロフィール

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

小浜 宗隆

 

専門分野:

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

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

技術別コラム一覧

要求の定義と仕様化(USDM)

ROS

システムズエンジニアリング

クラウド技術
(AWS Greengrass)

Docker

モデルベース開発(MBD)

派生開発(XDDP)

SPL

用語集