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
92
(ほとんど)ServerlessサービスだけでIoT異常検出デモを作ってAWS Summitで展示した話
IoT異常検出~データ分析・可視化を行う基盤をAWSで実装した話
アーキテクチャの中でも特にServerlessサービスの領域にフォーカスをあてて解説
Toshiki Terai
July 09, 2024
Tweet
Share
More Decks by Toshiki Terai
See All by Toshiki Terai
【JAWS-UG大阪 reInvent reCap LT大会 サンバが始まったら強制終了】“1分”で初めてのソロ参戦reInventを数字で振り返りながら反省する
ttelltte
0
210
【四国クラウドお遍路 2024 in 高知】AWSのIoTサービスを駆使して異常検出デモを作ったお話_DENET寺井_20240907
ttelltte
1
320
【JAWS-UG 大阪 × Amplify Japan User Group】祝☆Amplify ホスティング 大阪リージョン - 『AWS Cloud Quest』という神ゲーについて_DENET寺井_20240613
ttelltte
0
91
【AWS パートナーミートアップ in 大阪】「SageMaker Canvas」で「Bedrock」の基盤モデルをファインチューニングして俳句のウマさを競わせてみた_DENET寺井_20231219
ttelltte
0
460
【緊急開催!サーバーレス座談会 in JAWS-UG 大阪】Lambdaの「プロビジョニング済み同時実行」を試す_DENET寺井_20230924
ttelltte
0
54
【四国クラウドお遍路2023】パタパタプロジェクト-AWSを活用して手軽に画像分析を実装した_20230916
ttelltte
1
430
AWS駆け出しエンジニアがノーコードに触れてみた #JAWS-UG 四国クラウドお遍路(2022-1112)
ttelltte
1
370
Other Decks in Technology
See All in Technology
MLflowの現在と未来 / MLflow Present and Future
databricksjapan
1
250
コミュニティとおかねの話 / Community and Money
kgsi
0
100
パスキー導入の課題と ベストプラクティス、今後の展望
ritou
7
960
パスキーでのログインを 実装してみよう!
hibiki_cube
0
540
Async avec Messenger et Mercure
lyrixx
1
140
バクラクでのSystem Risk Records導入による変化と改善の取り組み/Changes and Improvement Initiatives Resulting from the Implementation of System Risk Records
taddy_919
0
140
Engineering Managementのグローバルトレンド #emoasis / Engineering Management Global Trend
kyonmm
PRO
5
900
技術好きなエンジニアが _リーダーへの進化_ によって得たものと失ったもの / The Gains and Losses of a Tech-Enthusiast Engineer’s “Evolution into Leadership”
kaminashi
0
160
Go の analysis パッケージで自作するリファクタリングツール
kworkdev
PRO
1
320
AWS のポリシー言語 Cedar を活用した高速かつスケーラブルな認可技術の探求 #phperkaigi / PHPerKaigi 2025
ytaka23
7
1.3k
目次機能実装から理解するLexical Editor
wtdlee
0
120
PHPでアクターモデルを活用したSagaパターンの実践法 / php-saga-pattern-with-actor-model
ytake
0
810
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
KATA
mclloyd
29
14k
Gamification - CAS2011
davidbonilla
80
5.2k
Building an army of robots
kneath
304
45k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.4k
How STYLIGHT went responsive
nonsquared
99
5.4k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
30
1.1k
Visualization
eitanlees
146
15k
A Tale of Four Properties
chriscoyier
158
23k
The Cost Of JavaScript in 2023
addyosmani
48
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アドバンスト コンサルティングパートナー ご清聴ありがとうございました。