Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
機械学習・データ分析のお供に!! AWS IoT Greengrassのご紹介
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
TomoyaIwata
April 17, 2019
Technology
1.5k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
機械学習・データ分析のお供に!! AWS IoT Greengrassのご紹介
2019/4/17に開催された「HIGOBASHI.AWS 第10回 機械学習&データ分析編」の発表資料です
TomoyaIwata
April 17, 2019
More Decks by TomoyaIwata
See All by TomoyaIwata
Lambdaの常識はどう変わる?!re:Invent 2025 before after
iwatatomoya
1
1.2k
Aurora DSQLはサーバーレスアーキテクチャの常識を変えるのか
iwatatomoya
1
2.4k
これでLambdaが不要に?!Step FunctionsのJSONata対応について
iwatatomoya
2
6.5k
Qdrantでベクトルデータベースに入門してみよう
iwatatomoya
0
2.7k
詳解 AWS Lambdaコールドスタート
iwatatomoya
2
3.4k
真のサーバーレスへ向けたAuroraの進化Aurora Limitless Database
iwatatomoya
1
5.1k
AWS SDKのClientはFactory経由で作ろう
iwatatomoya
1
1.1k
OpentelemetryでアプリケーションのObservabilityを強化しよう
iwatatomoya
0
1.3k
AWS Lambdaは俺が作った
iwatatomoya
2
3.3k
Other Decks in Technology
See All in Technology
機械学習を「社会実装」するということ 2026年夏版 / Social Implementation of Machine Learning June 2026 Version
moepy_stats
4
1.2k
価格.comをAI駆動で全面刷新する ー 30年分の技術的負債を返し、次の30年の土台をつくる ー / AI Engineering Summit Tokyo 2026
tkyowa
53
59k
小さく始める AI 活用推進 ― 日経電子版 Web チームの事例/nikkei-tech-talk47
nikkei_engineer_recruiting
0
170
ルールやカスタム機能、どう活かす?ハンズオンで体感するIBM Bobの出力コントロール
muehara
1
130
AI Engineering Summit Tokyo 2026 AIの前に、やることがある 〜医療データ企業の4フェーズ〜
dtaniwaki
0
2.5k
小さくはじめるSLI/SLO ~育てながら組織に定着させる実践知~ / Starting Small with SLI/SLOs: Building Adoption Through Continuous Growth
nari_ex
2
1.3k
非定型業務をAI slackbotで自動化する ~ 社内要望を自動壁打ちするbotを作った ~/automating-ad-hoc-work-with-ai-slackbot
shibayu36
0
580
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.5k
自律型AIエージェントは何を破壊するのか
kojira
0
150
脆弱性対応、どこで線を引くか
rymiyamoto
0
350
2026.06.13_AI時代に事業会社が「SIer出身エンジニア」を求める理由 / Why Businesses Seek Engineers with a System Integrator Background in the AI Era
jumtech
0
1k
地球に⽣きるAI —GeoAIと「中間領域」— / AI Living on Earth — GeoAI and the “Intermediate Layer” —
ykiyota
0
250
Featured
See All Featured
Six Lessons from altMBA
skipperchong
29
4.3k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
330
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
A Tale of Four Properties
chriscoyier
163
24k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
sira's awesome portfolio website redesign presentation
elsirapls
0
280
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
390
Docker and Python
trallard
47
3.9k
The Curious Case for Waylosing
cassininazir
1
380
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
180
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Transcript
1 機械学習・データ分析のお供に︕︕ AWS IoT Greengrassのご紹介
スライドは後で⼊⼿することが出来ますので 発表中の内容をメモする必要はありません。 写真撮影をする場合は フラッシュ・シャッター⾳が出ないようにご配慮ください Attention
#higobashi.aws 3 ⾃⼰紹介 lサーバーレス開発部 l2018年5⽉⼊社 l最近もっぱらGreengrassおじさん l最近機械学習に⼊⾨ lML取ったどー︕ 岩⽥ 智哉
#higobashi.aws 4 話すこと/話さないこと • 話すこと • Greengrassの概要 • データ分析・機械学習にGreengrassをどう活⽤できるのか •
Greengrassと他のAWSサービスの連携 • 話さないこと • データ分析・機械学習の具体的な⼿法やアルゴリズム • ベストプラクティス的な話
#higobashi.aws 5 アジェンダ • Greengrassについて(これがメイン) • 他のAWSサービスについて • Greengrassと他のAWSサービスの組み合わせ例 •
デモ • まとめ
6 Greengrassとは︖
#higobashi.aws 7 Greengrassとは • エッジコンピューティングに利⽤できるAWSのサービス • エッジデバイスにGreengrass Core(以後GGCore) をインストールして利⽤ •
GreengrassGroup(以後GGGroup)という単位でエッジ側のリソースを管理 • AWS IoTとシームレスに統合 • AWS IoTが備える各種の機能を拡張し、エッジ側での処理を可能に • エッジ側でLambda関数を実⾏可能 • メッセージング • 状態の同期(ローカルシャドウ) • …etc
#higobashi.aws 8 エッジコンピューティングについて • そもそもエッジコンピューティングとは︖ • データの⽣成元・⽣成元付近でデータを処理する形態 • いちいちクラウドにデータを上げない •
分散処理 • エッジコンピューティングに期待すること • レイテンシの削減 • 帯域幅の削減 • クラウドサービスの利⽤費削減
#higobashi.aws 9 Greengrassの構成要素 Shadows implementation Lambda runtime Message manager Group
management Discovery service OTA agent Local Resource access Local Machine learning Inference Local secret Manager Connectors Software Disitribution Feature CloudService AWS IoT Greengrass API
#higobashi.aws 10 GGCoreのセットアップ⼿順 • クラウド側の設定 • GGGroupの作成 • 証明書の発⾏ 等
• エッジ側の設定 • GGCore導⼊に必要なOSの設定(カーネルパラメータの調整など) • GGCoreの導⼊ • クラウド側で発⾏した証明書や設定ファイルの組み込み 等 イケてるエッジデバイスが完成
#higobashi.aws 11 GGの管理コンソール(デプロイ) 「デプロイ」という単位で 諸々の定義をエッジデバイスに反映
#higobashi.aws 12 GGの管理コンソール(サブスクリプション) サブスクリプションという単位で Lambda関数ごとに権限を管理
#higobashi.aws 13 GGの管理コンソール(Lambda) エッジデバイスで稼働させたい Lambda関数の設定を管理
#higobashi.aws 14 GGの管理コンソール(コネクタ) AWSが提供する「コネクタ」を 利⽤することで他のAWSサービスとの 連携が容易に
15 Greengrassでの Lambda関数について
#higobashi.aws 16 GreengrassでのLambda関数 • AWS Lambdaと同等のランタイム(⾔語は制限あり)がエッジで利⽤可能 • AWS Lambdaと同様の プログラミングモデルで実装が可能
• クラウド上で開発したLamdba関数をシームレスにデプロイ可能 AWS Lambdaと異なりクラウド上のリソースを使わないので いくら使っても従量課⾦が発⽣しない︕︕
#higobashi.aws 17 GGでのLambda関数のユースケース • データ収集系 • 取得したデータを加⼯してクラウドにUP • 取得したデータをフィルタして必要なデータだけクラウドにUP •
機械学習系 • トレーニング⽤のデータを収集してクラウドにUP • 取得したデータに対してローカルで推論処理を実⾏ • ローカルの推論処理に失敗したデータをクラウドUP
18 GreengrassでのLambda関数 データ分析や 機械学習のお供に最適︕︕
#higobashi.aws 19 Lambda関数の仕様の違いについて Greengrass(ローカルLambda) AWS Lambda ライフサイクル オンデマンド、long-lived - ※分類するならオンデマンド
プログラミング⾔語 Python2.7 Java8 Node.js6.10 C,C++ Python2.7 Python3.6 Python3.7 ….. タイムアウト制限 上限なし 15分 メモリ制限 上限なし マシンスペックが許す限りは.. 3008M root権限 設定すれば利⽤可能︕︕ 利⽤不可 プログラミング⾔語に制約があるが、AWS Lambdaよりも柔軟な実装が可能
#higobashi.aws 20 Lambda関数のライフサイクル ライフサイクルにlong-livedを選択することでタイマー処理なども実現可能 • イベント発⽣に合わせてコンテナを新規作成or再利⽤ • AWS Lambdaと同じようなライフサイクル •
1つのLambda関数に対して複数のコンテナが⽣成され得る オンデマンド • GG Core起動時にコンテナを1つ起動 • 1つのコンテナで全てのイベントを処理 • 常駐プロセスとして捉えることもできる long-lived
#higobashi.aws 21 GG上のLambda関数の開発 AWS IoT Greengrass Core SDKを利⽤することでLambda関数の開発がスムーズに 以下のランタイム向けにGGCoreのSDKが提供されている •
Python2.7 • Java8 • Node.js6.10 • C、C++
#higobashi.aws 22 SDKを使った開発(Python2.7の場合) 通常のAWS Lambdaでboto3の IoTDataPlane.Clientクラスを利⽤するのと ほぼ同様の感覚でコードが書ける import greengrasssdk client
= greengrasssdk.client('iot-data') import boto3 client = boto3.client('iot-data') GG 上で動かす場合 AWS Lambdaや開発環境で動かす場合 client.publish(‘some/topic/hoge’, data)
#higobashi.aws 23 AWS Lambda開発との⽐較 同名メソッドでもたまにインターフェースが 違うことがあるので注意︕︕ print(res['payload’]) {"metadata":{"desired":{… print(res['payload’]) <botocore.response.StreamingBody
object at 0x10f77eb70> GG Lambdaの場合 AWS Lambdaやローカル環境の場合 get_thing_shadow()のレスポンスに 含まれるペイロードが dict get_thing_shadow()のレスポンスに 含まれるペイロードが botocore.response.StreamingBody
24 リソースについて
#higobashi.aws 25 Greengrassでのリソース • エッジデバイス上のデバイスやボリュームを表現するエンティティ • ホワイトリスト形式でLambda関数から「リソース」へのアクセスを制御 IoTDevice GreenGrass Core
Lambda function Lambda function Lambda function
#higobashi.aws 26 GG Groupに定義できるリソース • デバイス・・・カメラやセンサー等 • ボリューム・・・ホストOS上のボリュームをLambdaのコンテナ内にマウント ローカル •
Sagemakerでトレーニング済みのモデルをエッジデバイスにデプロイ︕︕ • S3に保存したモデルをエッジデバイスにデプロイ︕︕ Machine Learning︕︕ • AWS Secrets Managerと連携して機密情報を管理 シークレット
#higobashi.aws 27 Machine learning inference • GGCore1.6以後で利⽤可能 • 任意の場所でトレーニングしたモデルをGGにデプロイ可能 •
SageMakerのトレーニングジョブ結果 • S3上に保存したモデル...SageMakerNEOとの連携が︕︕ • デプロイ後はGG上のLambda関数からアクセスが可能
#higobashi.aws 28 SageMaker Neo • Machine Learningのモデルをどこでも実⾏可能に変換 • ARM, Intel,
NVIDIA • モデルの作成はSageMaker以外の環境でもOK • オンプレに学習環境があるなら、それを使うのもOK • 複数のフレームワークをサポート • TensorFlow, MXNet, PyTorch, XGBoost ※東京リージョンはまだ
29 GG Groupに定義できるリソース Machine Learningのリソースを 利⽤することで、エッジ側で 推論処理の実⾏が可能に︕︕
30 コネクタについて
#higobashi.aws 31 Greengrass Connectorsについて • ⼀般的なユースケースに合わせてAWSが⽤意したモジュール • Connectorsを使うことで他サービスとの連携が容易に ConnectorsによってLambda関数の開発が加速化︕︕ https://docs.aws.amazon.com/ja_jp/greengrass/latest/developerguide/connectors.html
#higobashi.aws 32 提供済みのGreengrass Connectors 2018/4現在AWSから提供されているGreengrass Connectors Connector 説明 CloudWatch Metrics
カスタムメトリクスを Amazon CloudWatch に発⾏します。 Device Defender システムメトリクスを AWS IoT Device Defender に送信します。 Image Classification ローカルイメージ分類推論サービスを実⾏します。この connector では、複数 のプラットフォーム⽤のバージョンが⽤意されています。 IoT Analytics Sends data from devices and sensors to AWS IoT Analytics. Kinesis Firehose Amazon Kinesis Data Firehose デリバリストリームにデータを送信します。 Modbus-RTU Protocol Adapter Modbus RTU デバイスにリクエストを送信します。 Raspberry Pi GPIO Raspberry Pi Core デバイスの GPIO ピンをコントロールします。 Serial Stream Core デバイスのシリアルポートに対する読み込みと書き込みを⾏います。 ServiceNow MetricBase Integration ServiceNow MetricBase に時系列メトリクスを発⾏します。 SNS メッセージを Amazon SNS トピックに送信します。 Splunk Integration データを Splunk HEC に発⾏します。 Twilio Notifications Twilio のテキストまたは⾳声メッセージをトリガーします。 https://docs.aws.amazon.com/ja_jp/greengrass/latest/developerguide/connectors-list.html
33 Greengrassと組み合わせて 有効活⽤できそうな 他のAWSサービスの紹介
#higobashi.aws 34 他のAWSサービス紹介1 AWS Lambda Amazon Kinesis AWS Glue Amazon
QuickSight AWS上で発⽣したイベントをトリガーにユーザーが作成した関数が実⾏できるサービス クラウド側でのデータ加⼯やサービス間連携のラッパーに データの抽出、変換、ロード (ETL) 処理を⾏うためのマネージドサービス 機械学習やデータ分析の前処理に BI(Business Intelligence)サービス データの分析・可視化に最適 ストリーミングデータをリアルタイムで収集、処理、分析するためのサービス エッジ -> クラウドのデータ収集に
#higobashi.aws 35 他のAWSサービス紹介2 Amazon S3 ストレージサービス データレークとしてサービス関連系の中核に利⽤ Amazon Elasticsearch Service
Elasticsearchのマネージドサービス 検索・分析・可視化に Amazon Sagemaker 機械学習のワークフロー全般をカバーするマネージドサービス 様々なライブラリに対応 AWS IoT Analytics IoTデータの分析を簡単に実⾏できるマネージドサービス SagemakerやQuick Sightと連携可能
36 Greengrassと他の AWSサービスを組み合わせた データ分析・機械学習の環境例
#higobashi.aws 37 GGと他AWSサービスの組み合わせ例1 GG Lambda -> Kinesis Firehose connector ->
Kinesis Firehose -> Amazon ES & Kibana Lambda function AWS Cloud GG Core Amazon Kinesis Data Firehose Amazon Elasticsearch Service AWS IoT Core Amazon ESにデータを集めてKibanaで可視化
#higobashi.aws 38 GGと他AWSサービスの組み合わせ例1
#higobashi.aws 39 GGと他AWSサービスの組み合わせ例2 GG Lambda -> Kinesis Firehose connector ->
IoT Analytics -> Quick Sight Lambda function AWS Cloud GG Core AWS IoT Core IoT Analyticsにデータを集めてQuick Sightで可視化 Amazon QuickSight AWS IoT Analytics
#higobashi.aws 40 GGと他AWSサービスの組み合わせ例2
#higobashi.aws 41 GGと他AWSサービスの組み合わせ例3 SageMakerのモデルをエッジにデプロイ エッジで画像分類 結果の信頼度が範囲外の画像をS3にUPし、再トレーニングに利⽤ https://aws.amazon.com/jp/blogs/iot/machine-learning-at-the-edge-using-and-retraining-image-classification-models-with-aws- iot-greengrass-part-1/
#higobashi.aws 42 GGと他AWSサービスの組み合わせ例3
43 デモ 先ほどの組み合わせ例を 使って簡単にデモします
#higobashi.aws 44 デモ1 データ収集&可視化 • デバイス上で計測した温度の情 報をクラウドにUP • 上記の処理を5秒に1回実⾏ •
今回はデモなので温度は0~30の 範囲でランダムに設定
#higobashi.aws 45 デモ2 エッジでの推論 • デバイス上で画像を撮影し、 ローカルで推論処理を実⾏ • 推論結果をクラウドにUP •
推論結果が閾値の範囲外の場合 は画像データをS3にUP https://aws.amazon.com/jp/blogs/iot/machine-learning-at-the-edge-using-and-retraining-image-classification-models-with-aws- iot-greengrass-part-1/
#higobashi.aws 46 まとめ • データ分析や機械学習のためにエッジ側の技術 が注⽬されている • エッジコンピューティングには⼤きな可能性が • Greengrassを活⽤することでクラウドとエッジ
の統合が容易に
47 まとめ Greengrass⾯⽩いので ぜひ遊んでみて下さい
48