Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
~BLE Mesh×クラウドの “裏” 見せます!!~
細かすぎて伝わらない
SORACOM Funnelのオプション紹介
株式会社WHERE
なかやま まさひろ
2017-07-05 SORACOM UG #7
BLE Mesh×クラウド
• 例:従業員や物品の在籍把握システム
• iBeaconみたいなBLEビーコンをヒト/モノに持たせる
• 弊社EXBeaconで受信し、BLE Meshでゲートウェイに転送
• ゲートウェイからSORACOM Fu...
在籍把握システムの例
未公開
EXBeacon♥SORACOM
• ゲートウェイの上位回線にSORACOMを採用
• ゲートウェイの処理量を減らしたい⇒SORACOM Funnel
• 各種エンドポイントの管理を一括化⇒SIMグループ
• メンテナンス用リモートアクセス ⇒...
システム上の特徴
• 高トラフィック・リアルタイム
• たくさんのBLEビーコン情報をたくさんのEXBeaconで受信したログが
際限なく上がり続けて、リアルタイムで処理
• そこまで多くは無いけど、ビッグデータ系技術への入口
• AWSベース...
全体アーキテクチャ(簡略版)
EXBeacon
AWS
Credential
SORACOM
Funnel
Kinesis
Streams
Lambda
DynamoDB
BLE Mesh
BLEビーコン
全体アーキテクチャ(簡略版)
EXBeacon
AWS
Credential
SORACOM
Funnel
Kinesis
Streams
Lambda
DynamoDB
BLE Mesh
BLEビーコン
Kinesis Streams × AWS Lambda
• Kinesis StreamsからLambdaへのデータ送信
• 決まった量ごとにLambdaに渡される
⇒ Lambdaの処理能力が足りなくなると詰まる
• Lambdaの同時実行...
Lambda同時実行数の引き上げ
Kinesis
Streams Lambda
Function
Function
Function
Function
SORACOM
Funnel
Shard
Shard
Shard
Shard
落とし穴
• Kinesis StreamsのShardの特性
• 「どのShard」に入るかは「パーティションキー」で決まる
• 同じShardに入ったものは、入った順序で出てくる。
(別のShardとの同期はされない)
• SORACOM ...
これ(IMSI=SIMごと)⇒分散されない…
EXBeacon
AWS
Credential
SORACOM
Funnel
Kinesis
Streams
Lambda
DynamoDB
BLE Mesh
BLEビーコン
2017-04-18 新規機能発表
• 当初のパーティションキー
• IMSI
• 新仕様でランダム化に対応
• 要望から一瞬で対応
• 週末消えずに済んだ\(^o^)/
注意事項
• ランダムなパーティションキー=ランダムなShardに入る
• Lambdaに届いたときの前後関係が一切担保されない
• 後ろの処理で前後依存がある場合は注意
• SORACOM側で付与されるタイムスタンプ等を利用する
• 別のパー...
で、誰?
• 通称Aki (@nekoruri)
• BLEなIoTシステムの
クラウド側担当
• ちょろっと執筆も
• 「薄い本」も出しています
• 最近はすっかり
セキュリティ教育畑に……
• セキュリティ・キャンプ
プロデューサー
• S...
Upcoming SlideShare
Loading in …5
×

細かすぎて伝わらないSORACOM Funnelのオプション紹介 #soracomug

1,846 views

Published on

2017-07-05 #soracomug LT
~BLE Mesh×クラウドの “裏” 見せます!!~
細かすぎて伝わらないSORACOM Funnelのオプション紹介

Published in: Technology
  • Be the first to comment

  • Be the first to like this

細かすぎて伝わらないSORACOM Funnelのオプション紹介 #soracomug

  1. 1. ~BLE Mesh×クラウドの “裏” 見せます!!~ 細かすぎて伝わらない SORACOM Funnelのオプション紹介 株式会社WHERE なかやま まさひろ 2017-07-05 SORACOM UG #7
  2. 2. BLE Mesh×クラウド • 例:従業員や物品の在籍把握システム • iBeaconみたいなBLEビーコンをヒト/モノに持たせる • 弊社EXBeaconで受信し、BLE Meshでゲートウェイに転送 • ゲートウェイからSORACOM Funnel経由でクラウドで分析・表示 (ウフルさんがこのオフィスでやっているのとだいたい一緒) • 例:測位用ビーコンインフラ • iBeaconみたいなBLEビーコンを固定で設置 • BLE Mesh経由で定期的にバッテリー残量等を収集、設定変更 • 同上
  3. 3. 在籍把握システムの例 未公開
  4. 4. EXBeacon♥SORACOM • ゲートウェイの上位回線にSORACOMを採用 • ゲートウェイの処理量を減らしたい⇒SORACOM Funnel • 各種エンドポイントの管理を一括化⇒SIMグループ • メンテナンス用リモートアクセス ⇒SORACOM Gate/Canal
  5. 5. システム上の特徴 • 高トラフィック・リアルタイム • たくさんのBLEビーコン情報をたくさんのEXBeaconで受信したログが 際限なく上がり続けて、リアルタイムで処理 • そこまで多くは無いけど、ビッグデータ系技術への入口 • AWSベースのストリーミング処理基盤を採用 • Amazon Kinesis Streams(でっかいパイプ)で収集 • AWS Lambda(サーバーレス実行環境)で逐次集計 • Amazon DynamoDB(ごっついDB)に保存してAPIで最新データを提供 • いわゆるIoTサーバーレスのテンプレ構成
  6. 6. 全体アーキテクチャ(簡略版) EXBeacon AWS Credential SORACOM Funnel Kinesis Streams Lambda DynamoDB BLE Mesh BLEビーコン
  7. 7. 全体アーキテクチャ(簡略版) EXBeacon AWS Credential SORACOM Funnel Kinesis Streams Lambda DynamoDB BLE Mesh BLEビーコン
  8. 8. Kinesis Streams × AWS Lambda • Kinesis StreamsからLambdaへのデータ送信 • 決まった量ごとにLambdaに渡される ⇒ Lambdaの処理能力が足りなくなると詰まる • Lambdaの同時実行数を増やしたい ⇒ Kinesis StreamsのShard数(パイプの本数)を増やす必要がある • Kinesis StreamsのShard数を増やせば良い (2倍/半分にするのはコンパネからぽちぽちできる)
  9. 9. Lambda同時実行数の引き上げ Kinesis Streams Lambda Function Function Function Function SORACOM Funnel Shard Shard Shard Shard
  10. 10. 落とし穴 • Kinesis StreamsのShardの特性 • 「どのShard」に入るかは「パーティションキー」で決まる • 同じShardに入ったものは、入った順序で出てくる。 (別のShardとの同期はされない) • SORACOM Funnelでパーティションキーはどうなる……?
  11. 11. これ(IMSI=SIMごと)⇒分散されない… EXBeacon AWS Credential SORACOM Funnel Kinesis Streams Lambda DynamoDB BLE Mesh BLEビーコン
  12. 12. 2017-04-18 新規機能発表 • 当初のパーティションキー • IMSI • 新仕様でランダム化に対応 • 要望から一瞬で対応 • 週末消えずに済んだ\(^o^)/
  13. 13. 注意事項 • ランダムなパーティションキー=ランダムなShardに入る • Lambdaに届いたときの前後関係が一切担保されない • 後ろの処理で前後依存がある場合は注意 • SORACOM側で付与されるタイムスタンプ等を利用する • 別のパーティションキーで高速に投げ直す
  14. 14. で、誰? • 通称Aki (@nekoruri) • BLEなIoTシステムの クラウド側担当 • ちょろっと執筆も • 「薄い本」も出しています • 最近はすっかり セキュリティ教育畑に…… • セキュリティ・キャンプ プロデューサー • SecHack365 実施協議会委員 • ProjectDIVA Arcade LV.624 / ミリシタはじめました NEW!

×