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
Greengrassを使ったIoTのアーキテクチャ
Search
Ryohei Hisamitsu
February 21, 2022
Technology
0
160
Greengrassを使ったIoTのアーキテクチャ
Ryohei Hisamitsu
February 21, 2022
Tweet
Share
More Decks by Ryohei Hisamitsu
See All by Ryohei Hisamitsu
re:Invent参加フィードバック会
hisami
0
92
GoのアプリをEKS(Fargate)にデプロイしてみた話
hisami
0
250
ECS Execを使ってFargateにログインしてみた
hisami
1
380
TypeScriptでDIしてみた
hisami
0
520
Other Decks in Technology
See All in Technology
1万人を変え日本を変える!!多層構造型ふりかえりの大規模組織変革 / 20260108 Kazuki Mori
shift_evolve
PRO
6
950
松尾研LLM講座2025 応用編Day3「軽量化」 講義資料
aratako
15
4.9k
小さく、早く、可能性を多産する。生成AIプロジェクト / prAIrie-dog
visional_engineering_and_design
0
350
Scrum Guide Expansion Pack が示す現代プロダクト開発への補完的視点
sonjin
0
480
スクラムマスターが スクラムチームに入って取り組む5つのこと - スクラムガイドには書いてないけど入った当初から取り組んでおきたい大切なこと -
scrummasudar
1
1.7k
Data Hubグループ 紹介資料
sansan33
PRO
0
2.5k
ハッカソンから社内プロダクトへ AIエージェント ko☆shi 開発で学んだ4つの重要要素
leveragestech
0
580
AWS re:Inventre:cap ~AmazonNova 2 Omniのワークショップを体験してきた~
nrinetcom
PRO
0
130
Redshift認可、アップデートでどう変わった?
handy
1
130
会社紹介資料 / Sansan Company Profile
sansan33
PRO
11
390k
AI駆動開発ライフサイクル(AI-DLC)の始め方
ryansbcho79
0
300
迷わない!AI×MCP連携のリファレンスアーキテクチャ完全ガイド
cdataj
0
320
Featured
See All Featured
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.4k
Design in an AI World
tapps
0
110
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1.1k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Site-Speed That Sticks
csswizardry
13
1k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
420
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.9k
It's Worth the Effort
3n
187
29k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
74
Transcript
Greengrassを使ったIoTのアーキテクチャ 久光遼平 AWS LT会 2022.02.18
自己紹介:久光 遼平(ひさみつ りょうへい) l 自動車業界約6年、IT業界約4年のエンジニア l 大学:Java l 自動車会社:Matlab、C++ l
前職:PHP l NCDC:TypeScriptでの開発、 AWSでのインフラ構築(5日前にSAP資格取れました!) l 趣味 l マラソン:フルマラソン2回、30km大会1回、ハーフマラソン1回 l サッカー 2
今日するお話 l 作ったもの l システム構成 l Greengrassについて l メリット l
設定〜デプロイの大まかな流れ l はまったポイント l 実運用に向けたポイント 3
作ったもの 4 センサーデータ
TVCOFU 71$ システム構成 3%4 "84$MPVE &$4 6TFS $MPVE'SPOU 4 ʢ8FCΞϓϦͷஔʣ
ΤοδσόΠε .255 $PHOJUP (SFFOHSBTT ηϯαʔ &UIFSOFU '51 *P5$PSF "1*(BUFXBZ 4FDSFUT.BOBHFS $MPVE8BUDI -PHT "1*(BUFXBZ "NQMJGZ 今日のお話のメイン センサからのデータを受け取ってクラウドに送信&受信
Greengrassとは? l AWSの機能をエッジデバイスに拡張するサービス l Greengrassを使うことでデバイス上でLambdaを動かせる 6 引用:AWS Black Belt
Greengrassを使用するメリット l MQTTを使ったクラウドへのデータ送信が簡単に作れる l Greengrass用のSDKが用意されています l デプロイの制御が簡単にできる l 複数台のエッジデバイスに数クリックでデプロイできる。更新も簡単。 l
ログの管理がしやすい l CloudWatch Logsにエッジデバイスのログを送付できる (ただし、仕様にクセがあるので後で別途お話します) 7 ΤοδσόΠε .255 (SFFOHSBTT *P5$PSF import ggSdk from "aws-greengrass-core-sdk"; const iotClient = new ggSdk.IotData(); iotClient.publish( { topic, payload }, publishCallback);
設定〜デプロイの大まかな流れ 8 マイコンポーネント (Lambda) の作成 デバイス の設定 コンポーネント のデプロイ
設定〜デプロイの大まかな流れ 9 マイコンポーネント (Lambda) の作成 デバイス の設定 コンポーネント のデプロイ ・Greengrass
Coreのインストールパッケージをダウンロード ・デバイス名などを指定してインストールコマンドを実行 (デバイスの環境変数にAWSの認証情報を保持する必要あり ) インストールコマンド実行 AWSのコンソール上にデバイスが登録される
設定〜デプロイの大まかな流れ 10 マイコンポーネント (Lambda) の作成 デバイス の設定 コンポーネント のデプロイ ・Lambdaの関数名・バージョンを指定
・メモリやタイムアウト時間などを選択
設定〜デプロイの大まかな流れ 11 マイコンポーネント (Lambda) の作成 デバイス の設定 コンポーネント のデプロイ ・AWSで既に用意されているパブリックコンポーネントも存在
(CloudWatch Logsとの連携用など) ・上記の自分で作ったコンポーネントとパブリックコンポーネン トを組み合わせてデプロイ
はまったポイント l Greengrassにバグがある l メッセージの送信を許可するトピックの設定に、”hello/#”のようにワイル ドカードを挟むと、メッセージが二重に送信されるバグがあった l AWSに問い合わせ後、約3ヶ月やりとりした後に修正版リリース l その他
l JavaScriptには新ver用のsdkがないため、LegacySubscriptionRouterが必要 l メモリ増やすにはLambdaのメモリだけでなくJVMの設定が必要 12
実運用に向けたポイント l ログの設定 l CloudWatchにログを送れますが、挙動に少しクセがあります l リアルタイムでは送れない。デバイスに新しいログファイルが生成される タイミングで送られる l 1時間経過&次の時間の新しいログが出力された場合
l ログファイルのサイズ上限(1024KB)をオーバーした場合 l 厳密にリアルタイムで見るにはデバイスにsshするしかない 13 ↓デバイス上のログファイル
まとめ l Greengrassを使うと、エッジデバイス(ラズパイなど)から簡単に クラウドにデータを送れます l たまにバグと出くわしたり、トラブルが起きた時の情報がまだ少 ないです →抱え込みすぎず、サポートなどを有効に活用しましょう 14
None
実運用に向けたポイント l 複数環境の構築 l Greengrassのグループを使用して、送信するトピックを分けています 16 テスト用グループ 本番用グループ デバイス ①
デバイス ② デバイス ③ デバイス ④ *P5$PSF stg/hello prd/hello テスト用Lambda 本番用Lambda