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
(ほとんど)ServerlessサービスだけでIoT異常検出デモを作ってAWS Summitで...
Search
Toshiki Terai
July 09, 2024
Technology
0
120
(ほとんど)ServerlessサービスだけでIoT異常検出デモを作ってAWS Summitで展示した話
IoT異常検出~データ分析・可視化を行う基盤をAWSで実装した話
アーキテクチャの中でも特にServerlessサービスの領域にフォーカスをあてて解説
Toshiki Terai
July 09, 2024
Tweet
Share
More Decks by Toshiki Terai
See All by Toshiki Terai
[【関西開催】AWS Community Builders Meetup 2025]効率厨大歓喜「EventBridge」について語る
ttelltte
2
57
【JAWS-UG大阪 reInvent reCap LT大会 サンバが始まったら強制終了】“1分”で初めてのソロ参戦reInventを数字で振り返りながら反省する
ttelltte
0
270
【四国クラウドお遍路 2024 in 高知】AWSのIoTサービスを駆使して異常検出デモを作ったお話_DENET寺井_20240907
ttelltte
1
350
【JAWS-UG 大阪 × Amplify Japan User Group】祝☆Amplify ホスティング 大阪リージョン - 『AWS Cloud Quest』という神ゲーについて_DENET寺井_20240613
ttelltte
0
120
【AWS パートナーミートアップ in 大阪】「SageMaker Canvas」で「Bedrock」の基盤モデルをファインチューニングして俳句のウマさを競わせてみた_DENET寺井_20231219
ttelltte
0
520
【緊急開催!サーバーレス座談会 in JAWS-UG 大阪】Lambdaの「プロビジョニング済み同時実行」を試す_DENET寺井_20230924
ttelltte
0
74
【四国クラウドお遍路2023】パタパタプロジェクト-AWSを活用して手軽に画像分析を実装した_20230916
ttelltte
1
490
AWS駆け出しエンジニアがノーコードに触れてみた #JAWS-UG 四国クラウドお遍路(2022-1112)
ttelltte
1
420
Other Decks in Technology
See All in Technology
Vault meets Kubernetes
mochizuki875
0
150
DeNA での思い出 / Memories at DeNA
orgachem
PRO
6
1.9k
サンドボックス技術でAI利活用を促進する
koh_naga
0
150
AI時代にPdMとPMMはどう連携すべきか / PdM–PMM-collaboration-in-AI-era
rakus_dev
0
250
実践アプリケーション設計 ①データモデルとドメインモデル
recruitengineers
PRO
5
1.4k
【Grafana Meetup Japan #6】Grafanaをリバプロ配下で動かすときにやること ~ Grafana Liveってなんだ ~
yoshitake945
0
220
ライブサービスゲームQAのパフォーマンス検証による品質改善の取り組み
gree_tech
PRO
0
430
「魔法少女まどか☆マギカ Magia Exedra」のグローバル展開を支える、開発チームと翻訳チームの「意識しない協創」を実現するローカライズシステム
gree_tech
PRO
0
430
モダンフロントエンド 開発研修
recruitengineers
PRO
9
6.1k
実践アプリケーション設計 ②トランザクションスクリプトへの対応
recruitengineers
PRO
4
1.2k
見てわかるテスト駆動開発
recruitengineers
PRO
6
2.4k
250905 大吉祥寺.pm 2025 前夜祭 「プログラミングに出会って20年、『今』が1番楽しい」
msykd
PRO
1
210
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
Writing Fast Ruby
sferik
628
62k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
284
13k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
910
GitHub's CSS Performance
jonrohan
1032
460k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
4 Signs Your Business is Dying
shpigford
184
22k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Testing 201, or: Great Expectations
jmmastey
45
7.6k
Transcript
Serverless × IoT = ネ申 2024年7月9日 Serverless Meetup Osaka #02
株式会社ディーネット 寺井 (ほとんど)Serverlessサービスだけで IoT異常検出デモを作ってAWS Summitで展示した話
2 自己紹介 • 名前 • 寺井 俊喜(テライ トシキ) • 所属
• 株式会社ディーネット(2022/12~) • AWS 設計・構築業務 • 好きなこと • 音楽、猫、お酒、ゲーム、効率化 • 好きなAWSサービス • Amazon EventBridge • SNS/ブログ • X(@TeraiToshiki) • DENET技術ブログ(t.terai)
今日お話ししたいこと 3
IoT×イベント駆動×サーバーレス →ストリームデータ処理 4 ⇨最高
5 1. 出展したデモの紹介 2. アーキテクチャについて 3. サーバーレスを採用する理由 4. IoTとServerlessを気軽に使うためのTips 5.
まとめ アジェンダ
『AWS Summit Japan 2024』 出展したデモの紹介 6
7 ここら辺に設置 AWS Summit Japan 2024 ブース出展しました!
8 補足:Amazon Lookout for Visionについて https://aws.amazon.com/jp/lookout-for-vision/
9 デモ動画(正常時)
10 デモ動画(異常検知)
11 結局なにやってんの??(図解) Jetson Nano 通過を検知 (トリガー) 撮影 コンテナの1番目が あらへんわ!! 赤
外 線 セ ン サ ー ここだけコンテナが無い 1. コンテナの乗せ忘れ(異常)を検出 2. 検出結果をIoT Core経由でAWSへ送信 3. Lambdaでデータ処理(ラップタイム計測等) 4. QuickSightで可視化 結果データ AWS Cloud
12 結局なにやってんの??(図解) コンテナが乗っていない=台座が見えていることを異常としている ここを学習させている
13 デモ動画(異常検知)※再掲
アーキテクチャについて 14
15 全体構成図
16 全体構成図 - 大まかな機能グループ別色分け
17 全体構成図 - 今回ご紹介する箇所
18 全体構成図 - フロー(1/5) ①IoTデバイスからIoT Coreの指定した IoTトピック(受信箱的なもの)へデータ を送信する
19 全体構成図 - フロー(2/5) ②IoTルールで特定トピックへのデータの受信 をトリガーに特定のアクションを実施する (一連の動作を定義するマニュアル的なもの)
20 全体構成図 - フロー(3/5) ③DynamoDB Streamで変更データ(新旧) を取得してLambdaをトリガー
21 全体構成図 - フロー(4/5) ④受け取った新旧イメージから ラップタイムを算出してTimestream に格納
22 全体構成図 - フロー(5/5) ⑤Timestreamをデータソースとして ラップタイムなどの統計データを 可視化
サーバーレスを採用する理由 23
24 なぜサーバーレスを採用したのか • できるだけ安く済ませたい • 検証~開発期間 コストはあまりかけたくない • できるだけ早く処理したい •
リアルタイムな分析結果が求められる 使った分だけの従量課金制(待機期間のコストが発生しない) イベント駆動型のアーキテクチャでリアルタイム処理
25 ServerlessとIoTを 気軽に使うためのTips
26 ①IoT Coreって意外と簡単に使えるんやで 設定ウィザード的なものが用意されており、簡単にセットアップできる
27 IoTデバイス側に設置するためのサンプルコードも用意されてます ①IoT Coreって意外と簡単に使えるんやで https://github.com/aws/aws-iot-device-sdk-python-v2/blob/main/samples/mqtt5_pubsub.py
28 ②IoTルールはアルバイト用のマニュアルみたいなもんや ①このトピックに入ってきた 一連の動作を定義するマニュアル的なもの ②このデータに対して ③このアクションをする
29 合計23のアクション をサポート (2024/07/04時点) ②補足:IoTルール アクションの一覧
30 ③DynamoDB Streamの特殊(?)な使い方について
31 ③DynamoDB Streamの特殊(?)な使い方について(図解) 2330 17:16:54.312 old Amazon DynamoDB Stream AWS
Lambda IoT action - = 10秒! Amazon Timestream 書込 書込 2331 17:17:04.539 new (17:17:04) new (17:16:54) old
32 ④Timestreamは結構ややこしい… 知らん単語いっぱい・・・ • 時系列データとは。 • LiveAnalytics …?? • InfluxDB
ってなんぞ…
33 ④Timestreamは結構ややこしい… けど以外とシンプル (めちゃくちゃ分かりやすいスライドがあったので拝借…) https://pages.awscloud.com/rs/112-TZM-766/images/20201216_BlackBelt_AmazonTimestream.pdf
34 ④補足:Timestream [for LiveAnalytics] vs [for InfluxDB] キャパシティを気にしなくてもいい という概念の方のServerless 特徴
for LiveAnalytics for InfluxDB コスト 使用した分だけ支払い サーバー起動中コストが発生 スケーラビリティ 自動スケーリング インスタンスタイプの変更 クエリ言語 SQLベースのクエリ InfluxQL、Flux クエリ (InfluxDB の特定の機能が使える)
35 ④補足:Timestream は激安 https://aws.amazon.com/jp/timestream/pricing/
36 ④補足:Timestream は激安 公式料金ページより引用 https://aws.amazon.com/jp/timestream/pricing/
37 ④補足:Timestream は激安(英語ページ →Google翻訳) https://aws.amazon.com/jp/timestream/pricing/ • 100万回書き込んでも約100円 (1KB/回) • TCUの計算はややこしい…が、
Summit期間中の2日間中回しっぱな しでも1ドルいかないぐらいでした (期間中100MB程度の読み取り)
38 ④Timestreamにはサンプルデータベースが用意されてるで • サンプルデータが既に入っている データベースをサクッと作れる →雰囲気を感じるために とりあえず作ってみるとイイかも
39 ④Timestreamにはサンプルデータベースが用意されてるで サンプルデータベースに入っているデータはこんな感じでした SELECT * FROM "test-iot-sample-db"."IoTMulti" WHERE time between
ago(15m) and now() ORDER BY time DESC LIMIT 10
まとめ 40
まとめ 41 • サーバーレスなサービスを組み合わせることで 柔軟でコスト効率の高いアーキテクチャを実装できた • サクッと作って、試して、ダメなら壊して クラウドのメリットを最大限活用できた • サーバーレス最高
AWSアドバンスト コンサルティングパートナー ご清聴ありがとうございました。