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
87
(ほとんど)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
200
【四国クラウドお遍路 2024 in 高知】AWSのIoTサービスを駆使して異常検出デモを作ったお話_DENET寺井_20240907
ttelltte
1
300
【JAWS-UG 大阪 × Amplify Japan User Group】祝☆Amplify ホスティング 大阪リージョン - 『AWS Cloud Quest』という神ゲーについて_DENET寺井_20240613
ttelltte
0
81
【AWS パートナーミートアップ in 大阪】「SageMaker Canvas」で「Bedrock」の基盤モデルをファインチューニングして俳句のウマさを競わせてみた_DENET寺井_20231219
ttelltte
0
440
【緊急開催!サーバーレス座談会 in JAWS-UG 大阪】Lambdaの「プロビジョニング済み同時実行」を試す_DENET寺井_20230924
ttelltte
0
49
【四国クラウドお遍路2023】パタパタプロジェクト-AWSを活用して手軽に画像分析を実装した_20230916
ttelltte
1
410
AWS駆け出しエンジニアがノーコードに触れてみた #JAWS-UG 四国クラウドお遍路(2022-1112)
ttelltte
1
360
Other Decks in Technology
See All in Technology
AndroidXR 開発ツールごとの できることできないこと
donabe3
0
120
速くて安いWebサイトを作る
nishiharatsubasa
9
11k
ハッキングの世界に迫る~攻撃者の思考で考えるセキュリティ~
nomizone
13
5k
リーダブルテストコード 〜メンテナンスしやすい テストコードを作成する方法を考える〜 #DevSumi #DevSumiB / Readable test code
nihonbuson
11
6.8k
レビューを増やしつつ 高評価維持するテクニック
tsuzuki817
1
480
なぜ私は自分が使わないサービスを作るのか? / Why would I create a service that I would not use?
aiandrox
0
510
2024.02.19 W&B AIエージェントLT会 / AIエージェントが業務を代行するための計画と実行 / Algomatic 宮脇
smiyawaki0820
10
1.6k
関東Kaggler会LT: 人狼コンペとLLM量子化について
nejumi
3
540
エンジニアの育成を支える爆速フィードバック文化
sansantech
PRO
3
990
人はなぜISUCONに夢中になるのか
kakehashi
PRO
6
1.5k
第13回 Data-Centric AI勉強会, 画像認識におけるData-centric AI
ksaito_osx
0
370
転生CISOサバイバル・ガイド / CISO Career Transition Survival Guide
kanny
3
920
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
223
9.3k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
YesSQL, Process and Tooling at Scale
rocio
171
14k
Unsuck your backbone
ammeep
669
57k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
Designing Experiences People Love
moore
139
23k
Rails Girls Zürich Keynote
gr2m
94
13k
Documentation Writing (for coders)
carmenintech
67
4.6k
Making Projects Easy
brettharned
116
6k
How STYLIGHT went responsive
nonsquared
98
5.4k
Being A Developer After 40
akosma
89
590k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
630
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アドバンスト コンサルティングパートナー ご清聴ありがとうございました。