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
82
(ほとんど)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
100
【四国クラウドお遍路 2024 in 高知】AWSのIoTサービスを駆使して異常検出デモを作ったお話_DENET寺井_20240907
ttelltte
1
290
【JAWS-UG 大阪 × Amplify Japan User Group】祝☆Amplify ホスティング 大阪リージョン - 『AWS Cloud Quest』という神ゲーについて_DENET寺井_20240613
ttelltte
0
74
【AWS パートナーミートアップ in 大阪】「SageMaker Canvas」で「Bedrock」の基盤モデルをファインチューニングして俳句のウマさを競わせてみた_DENET寺井_20231219
ttelltte
0
420
【緊急開催!サーバーレス座談会 in JAWS-UG 大阪】Lambdaの「プロビジョニング済み同時実行」を試す_DENET寺井_20230924
ttelltte
0
45
【四国クラウドお遍路2023】パタパタプロジェクト-AWSを活用して手軽に画像分析を実装した_20230916
ttelltte
1
410
AWS駆け出しエンジニアがノーコードに触れてみた #JAWS-UG 四国クラウドお遍路(2022-1112)
ttelltte
1
340
Other Decks in Technology
See All in Technology
Alignment and Autonomy in Cybozu - 300人の開発組織でアラインメントと自律性を両立させるアジャイルな組織運営 / RSGT2025
ama_ch
1
2.1k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
6
54k
embedパッケージを深掘りする / Deep Dive into embed Package in Go
task4233
0
170
2025年の挑戦 コーポレートエンジニアの技術広報/techpr5
nishiuma
0
120
MasterMemory v3 最速確認会
yucchiy
0
340
When Windows Meets Kubernetes…
pichuang
0
290
Storage Browser for Amazon S3を触ってみた + α
miura55
0
120
20240522 - 躍遷創作理念 @ PicCollage Workshop
dpys
0
310
Azureの開発で辛いところ
re3turn
0
230
チームが毎日小さな変化と適応を続けたら1年間でスケール可能なアジャイルチームができた話 / Building a Scalable Agile Team
kakehashi
1
200
いま現場PMのあなたが、 経営と向き合うPMになるために 必要なこと、腹をくくること
hiro93n
3
2.1k
Unlearn Product Development - Unleashed Edition
lemiorhan
PRO
2
170
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
Unsuck your backbone
ammeep
669
57k
A better future with KSS
kneath
238
17k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
950
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
4 Signs Your Business is Dying
shpigford
182
22k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7.1k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.5k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
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アドバンスト コンサルティングパートナー ご清聴ありがとうございました。