Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
89
GoのアプリをEKS(Fargate)にデプロイしてみた話
hisami
0
240
ECS Execを使ってFargateにログインしてみた
hisami
1
380
TypeScriptでDIしてみた
hisami
0
520
Other Decks in Technology
See All in Technology
OCI Oracle Database Services新機能アップデート(2025/09-2025/11)
oracle4engineer
PRO
1
180
意外とあった SQL Server 関連アップデート + Database Savings Plans
stknohg
PRO
0
320
【AWS re:Invent 2025速報】AIビルダー向けアップデートをまとめて解説!
minorun365
4
520
.NET 10の概要
tomokusaba
0
100
Ruby で作る大規模イベントネットワーク構築・運用支援システム TTDB
taketo1113
1
300
生成AIでテスト設計はどこまでできる? 「テスト粒度」を操るテーラリング術
shota_kusaba
0
750
第4回 「メタデータ通り」 リアル開催
datayokocho
0
130
今年のデータ・ML系アップデートと気になるアプデのご紹介
nayuts
1
330
CARTAのAI CoE が挑む「事業を進化させる AI エンジニアリング」 / carta ai coe evolution business ai engineering
carta_engineering
0
1.3k
評価駆動開発で不確実性を制御する - MLflow 3が支えるエージェント開発
databricksjapan
1
170
20251209_WAKECareer_生成AIを活用した設計・開発プロセス
syobochim
7
1.5k
re:Invent 2025 ~何をする者であり、どこへいくのか~
tetutetu214
0
210
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
432
66k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.2k
Making Projects Easy
brettharned
120
6.5k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1k
BBQ
matthewcrist
89
9.9k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
A better future with KSS
kneath
240
18k
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