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
AWSを活用した空調機IoTプラットフォームの開発
Search
Kenta Nohara
April 16, 2021
Technology
7.2k
7
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWSを活用した空調機IoTプラットフォームの開発
AWS IoT@Loft #18
Kenta Nohara
April 16, 2021
More Decks by Kenta Nohara
See All by Kenta Nohara
空調設備向けIoTシステムにおけるクラウドランニングコスト
nohara
3
3.9k
Other Decks in Technology
See All in Technology
AIのReact習熟度を測る
uhyo
2
200
小さく始める AI 活用推進 ― 日経電子版 Web チームの事例/nikkei-tech-talk47
nikkei_engineer_recruiting
0
230
Microsoft Build Keynoteふりかえり
tomokusaba
0
120
2026TECHFRESH畢業分享會 - Lightning Talk - 打造精準高效的 MCP 設計模式與測試實務
line_developers_tw
PRO
0
870
EventBridge Connection
_kensh
5
700
AIソロプレナー時代に2ヶ月で20人増員した事業創造会社の開発組織の話
miyatakoji
0
610
FDE という解 ― 暗黙知と明示知をつなぐ、伴走型エンジニアリング ―
otanet
0
140
ACE-Step-1.5で見る 音楽生成AIのしくみと“破綻だけ直す”Retake機能の開発【zennfes spring 2026 登壇資料】
personabb
1
140
失敗を資産に変えるClaude Code
shinyasaita
0
540
LLMにもCAP定理があるという話
harukasakihara
0
310
【Cyber-sec+】経営層を"動かす"ための考え方
hssh2_bin
0
140
ルールやカスタム機能、どう活かす?ハンズオンで体感するIBM Bobの出力コントロール
muehara
1
130
Featured
See All Featured
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
320
A Modern Web Designer's Workflow
chriscoyier
698
190k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
220
Building AI with AI
inesmontani
PRO
1
1.1k
Why Our Code Smells
bkeepers
PRO
340
58k
Become a Pro
speakerdeck
PRO
31
6k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
360
YesSQL, Process and Tooling at Scale
rocio
174
15k
BBQ
matthewcrist
89
10k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.6k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
160
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Transcript
AWSを活用した 空調機IoTプラットフォームの開発 2021.04.14 ダイキン工業株式会社 空調生産本部 野原健太 IoT@Loft #18 Copyright: ©2019
DAIKIN INDUSTRIES, LTD., All Rights Reserved.
2 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. 自己紹介
野原 健太 ダイキン工業株式会社所属 • 2008年4月に入社 • 入社以降、組み込みソフト開発(主にC++) • ここ数年、IoTシステム開発に進出 • クラウド歴(=AWS歴) 3年ほど • Daikin Global Platformプロジェクトのクラウド開発チームリーダー
3 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. 今日話したいこと
1. ダイキン工業のIoTへの取り組み 2. Daikin Global Platformのシステム構成と 設計で工夫(苦労)した点
ダイキン工業のIoTへの取り組み 4 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved.
5 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. ダイキン工業株式会社とIoT
会社概要 • 空調事業を主力とする会社 • 150カ国以上に事業を展開 IoTの取り組み(Daikin Global Platform) 全世界の空調機をインターネットにつないで、販売、施工、運用、保守、 更新といったライフサイクルに対するサービスを提供する
6 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. Daikin
Global Platform Daikin Global Platform アプリケーション 建物 エッジ 空調設備 機器 空調設備 機器 建物 エッジ 空調設備 機器 空調設備 機器 AWS Cloud
7 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. 大量接続、大量アクセス
• 想定機器接続台数500万台 (各機器から毎分データ発生) • 想定ユーザー数30万人 (同時アクセス9万人) • 求められる高い処理性能とスケーラビリティ • 無限に発生するデータを扱えるストレージ
8 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. 接続台数に応じたコスト最適化
• 中規模物件向け空調機サービスの適正価格はシビア • 初期投資を限りなく抑えたい(スモールスタート) • 接続台数とAWS利用料を限りなく正比例にしたい • 階段状で増えるのは嫌、リニアに増えて欲しい 利用料 利用料 接続台数 接続台数 初期投資を 抑えたい 階段を正比例 にしたい
9 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. AWSサービスのフル活用
• AWSサービスを徹底活用 • 性能とスケーラビリティの担保をAWSに任せる! • 従量課金サービスの利用によるスモールスタート! 大量接続、大量アクセス AWSサービスのフル活用 接続台数に応じたコスト最適化
Daikin Global Platformのシステム構成と 設計で工夫(苦労)した点 10 Copyright: ©2021 DAIKIN INDUSTRIES, LTD.,
All Rights Reserved.
11 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. システム構成(空調機データ収集・蓄積)
Amazon Simple Storage Service (Amazon S3) Amazon Elastic Container Service (Amazon ECS) AWS Cloud AWS IoT Core Amazon Kinesis Data Streams AWS Lambda Amazon DynamoDB Amazon ElastiCache Amazon Kinesis Data Streams AWS Lambda AWS Lambda エッジ 空調機データ アプリケーション 空調機データ (現在値) 空調機データ (時系列データ) Amazon API Gateway
12 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. システム構成(空調機データ収集・蓄積)
① 通信量&AWS IoT Core利用料の最適化 ② DynamoDB 利用料の最適化 ③ 時系列データ作成に伴う AWS利用料の最適化 Amazon Simple Storage Service (Amazon S3) Amazon Elastic Container Service (Amazon ECS) AWS Cloud AWS IoT Core Amazon Kinesis Data Streams AWS Lambda Amazon DynamoDB Amazon ElastiCache Amazon Kinesis Data Streams AWS Lambda AWS Lambda エッジ 空調機データ アプリケーション 空調機データ (現在値) 空調機データ (時系列データ) Amazon API Gateway
13 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. ①通信量&AWS
IoT Core利用料の最適化 AWS Cloud AWS IoT Core Amazon Kinesis Data Streams AWS Lambda エッジ 空調機データ AWS Cloud Amazon Kinesis Data Streams AWS Lambda エッジ 空調機データ 変化データ 全データ • 通信量を削減するため、定常時は値が変化したデータのみ送信される(変化データ) • エッジ起動時、エッジ間通信切断⇒復旧時など、状態同期時に全データが送信される(全データ) 例えば、空調機が「ON/OFF」「設定温度」「室温」の3データを持っているとすると、 • 変化データ:室温変化時に「室温=20℃」を送信、ON/OFF変化時に「ON/OFF=ON」を送信 • 全データ:「ON/OFF=ON」「設定温度=22℃」「室温=20℃」を送信
14 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. ①通信量&AWS
IoT Core利用料の最適化 AWS Cloud AWS IoT Core Amazon Kinesis Data Streams AWS Lambda エッジ 空調機データ AWS Cloud Amazon Kinesis Data Streams AWS Lambda エッジ 空調機データ 変化データ 全データ • 最初の設計では、全てKinesisで受信 ⇒ 通信費用がビジネス要件に合わない • Kinesisへデータ送信する度に発生するHTTPS接続確立のためのハンドシェイクが大きな割合を 占める ⇒高頻度・少量のデータ送信である変化データ送信を、AWS IoT Core(MQTT)で受信することで、 大幅に通信量を削減。
15 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. ①通信量&AWS
IoT Core利用料の最適化 AWS Cloud AWS IoT Core Amazon Kinesis Data Streams AWS Lambda エッジ 空調機データ AWS Cloud Amazon Kinesis Data Streams AWS Lambda エッジ 空調機データ 変化データ 全データ • 変化データ受信処理には、AWS IoT Coreのルールアクションを利用 • AWS IoT CoreにかかるAWS利用料を最適化するため、Basic Ingestを利用 [Basic Ingest] ・AWS re:Invent 2018で発表 ・メッセージングコストを発生させることなくルールアクションを実行できる
16 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. ②DynamoDB利用料の最適化
AWS Cloud AWS Lambda Amazon DynamoDB • 数百万の空調機の遠隔監視を可能とするデータベー スとして、無限のスケーラビリティをサーバーレス で実現するDynamoDBを採用 • DynamoDBのAWS利用料を最適化するために、 DynamoDBの料金体系を考慮した設計を実施 Amazon Kinesis Data Streams 空調機データ 空調機データ (現在値)
17 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. ②DynamoDB利用料の最適化
• 料金体系 DynamoDB上のデータを読み書きする際、アイテムの一部だけ読み書 きする場合でも、アイテム全体のサイズに応じたキャパシティが消費 される 書き込みにかかる料金(WCUの料金)は、読み込みにかかる料金 (RCUの料金)の10倍以上 • キー設計 高頻度に送信される空調機データ(変化データ)の書き込みにかかる WCUの消費を最適化するようにキーを設計 AWS Cloud AWS Lambda Amazon DynamoDB Amazon Kinesis Data Streams 空調機データ 空調機データ (現在値)
18 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. ②DynamoDB利用料の最適化
• 料金体系 プロビジョニングモード(あらかじめ必要なキャパシティを確保)と オンデマンドモード(消費した分だけ料金発生) プロビジョニングモードにはオートスケーリング機能、リザーブド キャパシティの仕組がある • キャパシティモードの使い分け 常に負荷がかかり続けるDB(=空調機データ用のDB) ⇒プロビジョニングモード ユーザ操作時のみ負荷がかかるDB(マスタデータ用のDBなど。シス テム構成図上は記載を省略)⇒オンデマンドモード AWS Cloud AWS Lambda Amazon DynamoDB Amazon Kinesis Data Streams 空調機データ 空調機データ (現在値)
19 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. ②DynamoDB利用料の最適化
• 料金体系 データストレージにかかるコストはS3に比べると高い (Amazon Aurora等、他のデータベースサービスと比べてもやや高い) • ストレージサービスの使い分け 時系列でデータ量が増え続けていくデータはS3に格納 時系列でデータ量が増えないデータはDynamoDBに格納 空調機の遠隔監視に用いる空調機データ(現在値)や、マスタデータ はDynamoDBに格納し、データ見える化等に用いる空調機データ (時系列)はS3に格納する AWS Cloud AWS Lambda Amazon DynamoDB Amazon Kinesis Data Streams 空調機データ 空調機データ (現在値)
20 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. ③時系列データ作成に伴うAWS利用料の最適化
AWS Cloud エッジ 空調機データ 空調機データ (時系列データ) 時系列データ作成処理 Amazon Simple Storage Service (Amazon S3) エッジから送信される空調機データ 00:00 ON/OFF=ON、設定温度=22℃、室温=20℃ 00:12 ON/OFF=OFF 00:27 設定温度=23℃ 00:49 室温=24℃ 時系列データ 時刻 ON/OFF 設定温度 室温 00:00 ON 22℃ 20℃ 00:05 ON 22℃ 20℃ 00:10 ON 22℃ 20℃ 00:15 OFF 22℃ 20℃ 00:20 OFF 22℃ 20℃ 00:25 OFF 22℃ 20℃ 00:30 OFF 23℃ 20℃ 00:35 OFF 23℃ 20℃ 00:40 OFF 23℃ 20℃ 00:45 OFF 23℃ 20℃ 00:50 OFF 23℃ 24℃ 00:55 OFF 23℃ 24℃ エッジから送信される空調機データは変化データであるため、 そのデータをもとに時系列データを作成する処理が必要
21 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. ③時系列データ作成に伴うAWS利用料の最適化
• 時系列データ作成処理 空調機データ(現在値)DynamoDBのデータから時系列データの作成は困難 (例えば、空調機データ(現在値)を定周期でポーリングして時系列データを 作成する案があるが、ポーリング処理が遅延、停止などが起こると、 即、時系列データの欠損につながるので現実的ではない。) Amazon Simple Storage Service (Amazon S3) Amazon Elastic Container Service (Amazon ECS) AWS Cloud Amazon Kinesis Data Streams AWS Lambda Amazon DynamoDB Amazon ElastiCache Amazon Kinesis Data Streams AWS Lambda 空調機データ (現在値) 空調機データ (時系列データ) 空調機 データ
22 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. ③時系列データ作成に伴うAWS利用料の最適化
• 時系列データ作成処理 エッジから送信された空調機データを一時的に ElastiCacheに保持し、 ElastiCacheに保持したデータを元に、ECSでバッチ処理で 時系列データを作成し、S3に格納する Amazon Simple Storage Service (Amazon S3) Amazon Elastic Container Service (Amazon ECS) AWS Cloud Amazon Kinesis Data Streams AWS Lambda Amazon DynamoDB Amazon ElastiCache Amazon Kinesis Data Streams AWS Lambda 空調機データ (現在値) 空調機データ (時系列データ) 空調機 データ 00:00 ON/OFF=ON、設定温度=22℃、室温=20℃ 00:12 ON/OFF=OFF 00:27 設定温度=23℃ 00:49 室温=24℃
23 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. ③時系列データ作成に伴うAWS利用料の最適化
• 時系列データ作成処理 Lambda、DynamoDBではAWS利用料が合わず、ECS、ElastiCacheを採用 空調機データ(現在値)と異なり、障害発生が即、ユーザ影響につながるわけではないため、 サーバーレスにこだわりすぎず、AWS利用料削減を優先した (必ずしも、サーバーレス=コストダウンとは限らない) Amazon Simple Storage Service (Amazon S3) Amazon Elastic Container Service (Amazon ECS) AWS Cloud Amazon Kinesis Data Streams AWS Lambda Amazon DynamoDB Amazon ElastiCache Amazon Kinesis Data Streams AWS Lambda 空調機データ (現在値) 空調機データ (時系列データ) 空調機 データ
24 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. まとめ
• 通信量まで考慮したAWSサービスの選定 • IoTシステムにおいてはAWS利用料だけでなく通信量も重要 • 通信頻度が高い場合はIoT Core(MQTT)が効果的 • AWSの料金体系を考慮した設計 • 機能実現だけでなく、料金体系まで考慮したAWSの使いこなしが重要 • 特にDynamoDBの書き込みに関わるキー設計は重要 • サーバーレス=コストダウンとは限らない • IoTシステムにおける機器データ処理部は、常時負荷がかかるので要注意 • サーバーレスにこだわりすぎない判断も必要
25 Copyright: ©2021 DAIKIN INDUSTRIES, LTD., All Rights Reserved. ご清聴ありがとうございました
Daikin Global Platformに興味を持っていただいた方! AWSをやりたい方! 一緒にDaikin Global Platformを作りませんか? ご応募、お待ちしております! (採用HP) http://www.daikin.co.jp/recruit/career/