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
【IoT-Tech Meetup #6】サーバーレスで始める IoTデータパイプラインとファン...
Search
SORACOM(ソラコム)
PRO
October 24, 2023
Technology
2.1k
0
Share
【IoT-Tech Meetup #6】サーバーレスで始める IoTデータパイプラインとファンアウトのアーキテクチャー
2023年10月24日開催『
IoT-Tech Meetup 第6回【IoT × サーバーレス入門】
』で、ソラコム小梁川(koya)が発表した資料です。
SORACOM(ソラコム)
PRO
October 24, 2023
More Decks by SORACOM(ソラコム)
See All by SORACOM(ソラコム)
投資家様向けビジネス概要<2026年5月版>
soracom
PRO
0
17
IoT活用の今を知る!現場の最新事例20選を紹介
soracom
PRO
0
330
15分でわかる「フィジカルAI」今知っておきたい基礎と今後の活用のカギとは
soracom
PRO
0
360
モノ売りとコト売りを両立!成功事例に学ぶ、顧客接点を生むビジネス変革とIoTの関係
soracom
PRO
0
240
事例で知る位置情報活用の今とAI×IoTがひらく社会の変化 | 人流データ活用普及イベント~人流データから始まる、まちづくりの新しい一歩~
soracom
PRO
0
18
投資家様向けビジネス概要<2026年2月版>
soracom
PRO
0
470
Business Overview for Investors [February 2026 Edition]
soracom
PRO
0
120
Designing local Generative AI inference with AWS IoT Greengrass | AWS re:Invent 2025
soracom
PRO
0
16
投資家様向けビジネス概要<2025年11月版>
soracom
PRO
0
540
Other Decks in Technology
See All in Technology
AIと乗り切った1,500ページ超のヘルプサイト基盤刷新とさらにその先の話
mugi_uno
2
340
【関西製造業祭り2026春】現場を変える技術はここまで来た〜世界最大の製造業見本市から持って帰ってきたもの〜
tanakaseiya
0
130
いつの間にかデータエンジニア以外の業務も増えていたけど、意外と経験が役に立ってる
zozotech
PRO
0
500
「背中を見て育て」からの卒業 〜専門技術としてのテスト設計を軸に、品質保証のバトンを繋ぐ〜 #genda_tech_talk
nihonbuson
PRO
3
1.3k
Every Conversation Counts
kawaguti
PRO
0
210
AI時代に越境し、 組織を変えるQAスキルの正体 / QA Skills for Transforming an Organization
mii3king
5
4.3k
AI時代の品質はテストプロセスの作り直し #scrumniigata
kyonmm
PRO
4
1.5k
そのSLO 99.9%、本当に必要ですか? 〜優先度付きSLOによる責任共有の設計思想〜 / Is that 99.9% SLO really necessary? Design philosophy of shared responsibility through prioritized SLOs
vtryo
0
600
鹿野さんに聞く!CSSの最新トレンド Ver.2026
tonkotsuboy_com
6
2.9k
オライリーイベント登壇資料「鉄リサイクル・産廃業界におけるAI技術実応用のカタチ」
takarasawa_
0
400
Agent の「自由」と「安全」〜未来に向けて今できること〜
katayan
0
360
Gaussian Splattingの表現力を拡張する — 高周波再構成とインタラクションへのアプローチ —
gpuunite_official
0
150
Featured
See All Featured
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.2k
Heart Work Chapter 1 - Part 1
lfama
PRO
6
35k
Building Applications with DynamoDB
mza
96
7k
Agile that works and the tools we love
rasmusluckow
331
21k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
560
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
790
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
110
How to Ace a Technical Interview
jacobian
281
24k
Thoughts on Productivity
jonyablonski
76
5.1k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
190
Transcript
サーバーレスで始める IoTデータパイプラインと ファンアウトのアーキテクチャー Oct. 24, 2023 IoT-Tech Meetup【IoT × サーバーレス】
株式会社ソラコム ソリューションアーキテクト 小梁川 貴史 #6-2
自己紹介 株式会社ソラコム / ソリューションアーキテクト 小梁川 貴史(こやながわ たかし) 経歴: • SI会社で開発/インフラ設計、構築など幅広く経験
• 電機メーカーで自社サービス、社内共通プラットフォームの開発、運用 • 外資系クラウドのソリューションアーキテクトとして パートナー担当 => IoT スペシャリスト/プロトタイピング
はじめに Severlessという趣旨の回になっておりますが、ここでは広義 にマネージドサービスでサーバを意識しないサービスまでを含 めてお話します。
データパイプライン ソース 受付 処理 収集/蓄積 利用/連携 • IoTにおけるデ バイスやセン サーにあたる
データを生み出 すもの • IoTデータの通 信を受け付けつ 部分と認証や 振り分け • デバイス差分や データフォー マットの version差分な どを吸収し利用 しやすいデータ を作成したり、 データ間にまた がる意味付けを したりする • データの格納、 DBやオブジェ クトストレージ など、アプリ ケーションやシ ステム要件に合 わせた保管 • 可視化(ダッシュ ボード)環境の構 築やWebアプリ ケーション • その他全社データ 統合などのデータ レイク、データ ウェアハウス
データパイプライン 大きな話 • 1つの会社で複数のシステムがあり、全社データベース、データレイ クなどを構築するようなデータパイプライン IoTスコープでの話 • 1つのシステムで複数のデバイスやバージョンのフォーマットを単一 のデータウェアハウスとして構築するようなデータパイプライン 今回の対象
データパイプライン ETL • Extract(抽出) , Transform(変換), Load(書き出し)の頭文字、様々な データソースからデータと取り出し、扱いやすいフォーマットへ変 換するような前処理 データレイク
• 複数(もしくは未確定)用途として、Rawデータのまま保管されて いるようなデータ データウェアハウス • 特定用途へむけた処理済みデータとしてビジネス担当者にとって使 いやすい構造になっているデータ
IoTにおけるプロトコル選択 HTTP • クラウド側からニアリアルタイムで送信したい要件がない。結果整 合でデバイスにコンテキストが通知できれば良いようなユースケー ス。 • HTTPでの定期情報送信のレスポンスに乗せてデバイスへの通知コンテキ ストを返信するようなユースケースでニーズが満たせる MQTT
• クラウドなどからの通知をニアリアルタイムで反映されてほしい データがある。 • MQTTでclientがメッセージ受信用のSubscriberセッションを作成してメッ セージを待ち続ける必要がある
AWS IoT Core を使ったアーキテクチャ例 PoCフェーズ AWS IoT Core Amazon DynamoDB
Amazon OpenSearch Service デバイスの数も少ない、データ変換などの要件もないのでのデータストアと可視化ツールがあ ればよいフェーズ 作り込みや利用サービスも最小限でスタート
AWSを使ったアーキテクチャ例 本番環境 AWS IoT Core Amazon DynamoDB Amazon OpenSearch Service
デバイスの数が増えて、個別/都度の書き込みが非効率になるのストリームデータ処理基盤を追加、 DBに投入する前にデータの構造を変換する必要がでた、、、などをクラウドプラットフォーム側で極力影響 吸収することでデバイス運用を楽にすることができる AWS Lambda Amazon Kinesis Data Firehose Amazon S3 Amazon Kinesis Data Streams
AWSを使ったアーキテクチャ例 本番環境 AWS IoT Core Amazon DynamoDB Amazon OpenSearch Service
デバイスの数が増えて、個別/都度の書き込みが非効率になるのストリームデータ処理基盤を追加、 DBに投入する前にデータの構造を変換する必要がでた、、、などをクラウドプラットフォーム側で極力影響 吸収することでデバイス運用を楽にすることができる AWS Lambda Amazon Kinesis Data Firehose Amazon S3 Amazon Kinesis Data Streams デバイスごとのデータの 差分やフォーマットバー ジョンの差分を吸収する レイヤー 設定変更だけで後段のデ ータ転送先サービスを変 更可能 本構成上インスタンスが 唯一必要なサービス Lambdaの同時起動数な ども加味して マイクロバッチ化
サービスの例 プロトコル/ 認証 業務 ロジック データストア 可視化/分析 Amazon API Gateway
AWS IoT Core Azure Application Gateway Azure IoT Hub API Gateway AWS Lambda Amazon Kinesis AWS IoT Analytics Azure Event Hubs Azure Functions Azure Stream Analytics Cloud Functions Cloud Pub/Sub Cloud Storage BigQuery Firestore Azure Cosmos DB Storage Account Data Lake Storage Gen2 Amazon S3 Amazon DynamoDB Cloud Dataflow
Severless、マネージドサービスのメリット • スケーラビリティの確保 • 使った分(時間や回数)の従量課金 • 非機能要件の大半をクラウドベンダによりかかること が可能 必要なもの、欲しい機能を作れば開始できる!
ファンイン(Fan-in)/ファンアウト(Fan-out) ファンイン • 多数のデバイスからのデータ送信(publisher) から送られてくるデータ が単一のデータ受信者(subscriber)へ送られるようなケース • 先のような多数のデバイスからの単一のデータストアへのデータ収集の ユースケースがファンインにあたります ファンアウト
• 単一のメッセージ配信(publisher)を多数のデバイスが受信者 (subscriber)となるユースケース。 • 例えば、デバイスのアップデート通知など、単一のコンテキストを多数の デバイスに通知するもの
AWS IoT Core MQTT message Broker Chatアプリケーションで考えてみる MQTT message brokerがactiveなセッション(接続済みのsubscriber)を管理、
channel名をtopicで表現することなでそのチャンネルを受信している人へ 単一publish命令をsubscriberへ送信してくれる。 (ただしpub/subのみで実現すると過去ログなどは読めずに接続している感のやり取りのみの表示になります) channel/room1 送信者 受信者
Message BrokerもAWS IoTのごく一部の機能
たとえば同じことをサーバレス構成の WebSocketで実現すると Amazon API Gateway Amazon DynamoDB AWS Lambda AWS
Lambda セッション管理用 接続クライアント を取得してメッセ ージを送る用 セッション管理 = 接続デバイス情 報管理DB connect channel 参加 発言 アクティブな ユーザへPUSH 受信したいチャンネル情報をRESTのパスなどで表現し、 接続情報やchannel情報を管理するDBで管理、メッセージが着信したら そのDBから接続情報を引いて対象のチャンネルに接続しているPUSHする仕組みを 作る必要がある。 送信者 受信者
適材適所 上記例では異なるサービスでファンアウトのアーキテクチャの 例をみていただきましたが、AWS IoTはMQTT通信ということ も含めて大規模通信でスケールし易い、マネージドな領域が多 いことがわかります。 WebSocketでAPI Gatewayをベースに類似のシステムを作成 することができますがその場合には接続情報の管理までユーザ が作る必要があります。
AWSさんの事例を読んで見る 大規模台数のたまごっちへ AWS IoT Jobs で高速かつ高効率にファーム ウェアを配信する方法 https://aws.amazon.com/jp/blogs/news/aws -iot-jobs-for-bandai-tamagotchi/
ファンアウトのまとめ 一斉配信(ファンアウト)の使い所を考えましょう。 AWS IoT Core , Azure IoT Hub などにはDevice
shadow, Device twinなどを使い 1:1 での管理、通知の仕組みなどの検 討をしましょう。 一斉通知は配信側やネットワーク側にも負荷が重く、サーバレ スとはいえアカウントリミットなどにも当たりやすい構成にな るので回避できる、気がつける仕組みも重要です。
•AWS LambdaではRDSを使わない方が良い •RDS Proxyで対応可能に アンチパターンがなくなることもある • Kinesis Data Streamなどを挟む場合はshard数などの兼ね合いで 必要セッション数がもとから小さい場合もあります。
おすすめドキュメント AWS IoT CoreのMQTTトピックの設計 https://d1.awsstatic.com/whitepapers/ja_JP/Designing_MQTT_Topics_for_AWS_IoT_Core.pdf 古いですが、2017年のre:Invent AWS IoTで1つのメッセージを大量デバイスへ配信するためには の解説。 One
message to a Million Things https://www.slideshare.net/AmazonWebServices/iot308one-message-to-a-million-things-done-in-60- seconds-with-aws-iot
IoT の「つなぐ」を簡単に You Create. We Connect.