Contenu connexe Similaire à DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜 (20) DRIVE CHARTの裏側 〜 AI ☓ IoT ☓ ビッグデータを 支えるアーキテクチャ 〜2. 森 健太郎 (@moriken)
● 出身:福岡
● 経歴:
○ 大手SIerで、毎年1プロダクト新規開発を経験
■ 2009年 第1回SBIビジネスコンテスト準優勝 (個人)
○ 2011年12月 DeNA入社
■ Mobage/AndAppのゲームプラットフォーム開発
■ 第7回DeNAビジネスコンテスト 最終選考
■ IoTデジタルサイネージ自販機開発(お蔵入り..)
■ DRIVE CHARTの立ち上げ(リードエンジニア兼アーキテクト)
■ 会社を起業し、エクセライク会計(クラウド会計)をローンチ
8. A2 DRIVE CHARTとは
DRIVE CHARTは、交通事故ゼロ社会をめざすべく、AIドラレコが、
ドライバーの速度超過などの荒い運転や、脇見などの気の緩みを検知し、レポートで振り返り
を行って、運転が改善していき、結果として、事故が減る、というサービスになります。
16. AI x IoT x ビッグデータ
を支えるアーキテクチャ
B
AI IoT BigData
18. 車両数: X,000台 x 3ヶ月間 X00,000台 x 3ヶ月間
ECS 車両からのリクエスト数 60 RPS 4,000 RPS
コンポーネント数 21 21
起動Container数 230 15,000
Aurora Auroraレコード数 3億レコード 200億レコード
Aurora容量 70 GB 4.5 TB
S3 S3オブジェクト数 6億オブジェクト 400億オブジェクト
S3容量 200 TB 13 PB
S3秒間GET数 500 get/s 35,000 get/s
S3秒間PUT数 60 put/s 4,000 put/s
ビ
ッ
グ
デ
|
タ
要求
仕様
20. AI x IoT x ビッグデータを支えるアーキテクチャB1
CloudWatch CloudTrail
Aurora
Trusted
Advisor
CloudFront
Route 53
ALB
Secret
Manager
KMS
WEB
DynamoDB
SNS
OPE
OPS
CAR
UPL
S3
Glue
SQS
BigQuery
User
Device
Firehose
Internet
gateway
VPC
WEB
CAR
BATCH
JOB
OUT
DNA
OUT
DAEMON
MapMatch
AI
Scoring
FaceRecog.
DB
CDN
MONITORING ANALYTICS
KMS
S3
Queue
Medjed
Argus(BI)
22. シーケンス
Edge
API Server AI Server
走行ファイル送信
(GPS/加速度etc.) データ保存
ファイル保存 AI解析
エンキュー
デキュー
走行ファイル取得
MAPマッチ
スコアリング
危険運転検知
スコア登録
危険運転登録
Aurora S3 SQS
危険運転動画要求
危険運転動画送信 ファイル保存
1分単位
に送信
5分単位
に処理
大量データ処理は
SQS + Daemon!
動画は危険運転のみPickUp!
MAPマッチ結果保存
データ連携は
DB + S3 + SQS
28. サーバコスト削減対策: ECSとFargateの住み分け
• 用途別にEC2 Container InstanceとFargateで分けて管理
• Spot Instanceを活用したい場合はEC2を。
• 一時的な処理やバッチ向けにFargateを。
• 車載器からの大量のデータアップロードへの対応
• AI処理やAI顔認証周りの大規模処理でSpot Intanceを活用中
• 現在は、9割以上がSpot Instanceで起動中
55%のコスト
削減に成功!
31. S3でのデータ対策
• Storage Class
• Standard
• S3操作
• LIST は禁止! (高コスト)
• PUT/GET回数を減らすため、ファイル数は最小限に。
• アーカイブ
• 一定期間経過したオブジェクト群をまとめ圧縮し、Glacier送り
• S3ライフサイクルでのStorage Class変更はコスト爆上げなので要注意
• 1,000リクエストあたり、0.0571USD (ap-noarheast-1@2020/2)
33. • 車載器がS3に保管している設定ファイルをダウンロード
• CloudFront + S3 署名付きURL
▼いろいろ試した結果...
• DBで管理する?
• 容量、実行ファイルetc...
• AWS SDK + S3 GetObject?
• 車載器側でのSDKの更新
• credentialsの運用
• S3 署名付きURL?
• 発行しすぎてスロットリング
S3署名付きURLのスロットリング対策
Car API Cloud
Front
S3
Secret
Manager
Device
key-pair 取得
認証付き
URL 取得
アクセスNG
34. 分析データの保存先はBQ
分析データは、Google Big Query (BQ) に保存
• Webアプリの操作ログ、走行情報などをS3に転送
• S3に保存後、MedjedでBQへ転送
• BQのデータを、BIツール(Argus)でKPI設計・グラフ化
• Glue + Medjedで、アナリストがスキーマ定義して、BQまで必要な形式で連
携
Web
ECS
Firehose
S3GlueAurora Medjed
(Embulk)
Big Query Argus(BIツール)
35. ログ・レコード転送にはGlue
• Auroraから取得するテーブル群は、AWS Glueで生成
• GlueはAWSのマネージドETLツール
• Aurora < - Glue -> S3の経路でデータ転送
• DPU(Data Processing Unit)単位で、IPアドレスを使用
• 大量にDBのレコードを抽出する場合、IPアドレスもその分消費
• Glueは、サービスの稼働するVPCとは切り離して実行
• ➔ DPU大量起動するため、一緒のVPCだと最悪IP枯渇問題発生のため
• アクセスログは、Kinesis FirehoseでS3へ
36. モニタリング
• CloudWatch + Lambdaで各種リソースをモニタリング
• サービスの外形監視
• ECSのstatus監視
• Spot Instanceの停止イベント検知
• エラーログ、スロークエリログ監視
• SNSで通知
• Slack通知 (CWログからエラー内容を抜粋通知し1次判断可能)
• PagerDuty通知
• リソースの制限
• AWS Limit Monitorで監視
• https://aws.amazon.com/jp/solutions/limit-monitor/
38. APIテストにおける工夫
• 背景
• 0 ➔ 1 フェーズではスピード最優先
• API:1,000本、モデル:150個と大量
• UnitTest書いてる時間がない&書いても仕様変更激しい
• ➔ API仕様書(I/F)を書いたら、req/resの自動テストできたら便利では...
• やったこと
• API 仕様書の規格
• OpenAPI 3 規格に沿って書く
• ツール選定
• テストツールは Dredd
• クラウドサービス (S3、SQS等)もローカル化し実行可能とし、ファ
イルのアップロード、メール送信までもカバー
42. 自己紹介
• 木村 尭海(きむら たかうみ)
• 所属
• DRIVE CHART
• ハードウェアメーカーと協業してデバイス・ソフト開発および推進を担当
• 業務経歴
• メーカー系 家電連携Androidアプリ開発
• Androidデバイス開発
• toB/toC向け
• 執筆
• プロの力が身につくAndroidプログラミングの教科書
• Amazon Alexa開発ガイド Alexa対応スキル&AVS対応アプリの作り方
43. 業務用車両を持つ会社の課題
• 事故削減のPDCAのサイクルが長い
• 運行管理
• 乗務員の事故防止や安全運行に支障が出ないように指導・監督
• 現行の安全運転指導
• 事故が発生した映像から指導が多い
• 1人あたりの乗務員の業務時間12時間〜20時間
• 1人の運行管理者に対して39車両を監督することがある
• 事故削減にはPDCAのサイクルを短くする必要がある
• 指導対象者を早く見つける
• 不安全運転を見つけやすくする
月に数回、1ヶ月に1回程度の指導をすることしかできないのが実
態
47. DRIVE CHART Spec
動作温度範囲 -10℃〜+60℃
外形寸法 約100 × 約62 × 約49mm
本体質量 約220g
電源電圧 5V
消費電流 1.2A
有効画素数 約400万画素
フレームレート 27fps (変更可)
記録解像度 1920 × 1080 (変更可)
録画フォーマット mp4(H.264, AAC)
音声記録 オン/オフ 可
HDR オン
動作温度範囲 -10℃〜+60℃
外形寸法 約52 × 約27 × 約
26mm
本体質量 約60g
電源電圧 8V
消費電流 300mA
有効画素数 約200万画素
フレームレート 27fps (変更可)
記録解像度 1920 × 1080 (変更可)
録画フォーマット mp4(H.264, AAC)
赤外線照明 赤外線LED × 4
HDR オン
63. • 営業時間すべての情報をアップロードはNG
• 20時間勤務
• 実運転時間は12時間程度
• 走行中判断
• 3分以上の停止を停車と判断
リスク運転動画用データの削減
時間
センサー
データ収集
データ収集
運転中 一時停車 運転中 一時停車 運転中 一時停車 停車停車走行状態
40%の通信量削減
安全運転
リスクのある
運転
ヒヤリ
ハット
事
故
● 速度超過
● 一時停止場所での不停止
● 急減速
● etc...