20170323_AWSをフル活用したクラウドネイティブなIoT基盤の構築について(クラスメソッド株式会社)

 20170323_AWSをフル活用したクラウドネイティブなIoT基盤の構築について(クラスメソッド株式会社)

http://dev.classmethod.jp/news/seminar-20170323/
2017年3月23日開催セミナー講演資料。

0b3465b4092aff6680cc82c6b22f1221?s=128

Classmethod

March 27, 2017
Tweet

Transcript

  1. AWSをフル活用したクラウドネイ ティブなIoT基盤の構築について IoTデータをビジネスに活用する方法と、 そのポイント classmethod.jp 1 2017.03.23 クラスメソッド株式会社 市田善久

  2. 自己紹介 classmethod.jp 2 • 市田 善久 • クラスメソッド株式会社 • AWS事業部@肥後橋

    • 大阪支社初期メンバー • 好きなAWSサービス – ACM – EC2 System Manager – Athena – Polly・・・etc – 結局、全部楽しいです classmethod.jp 2
  3. クラスメソッド株式会社 • 取得コンピテンシー – AWSマイグレーションコンピテンシー – AWSモバイルコンピテンシー – AWSビッグデータコンピテンシー •

    パートナー認定 – AWパブリックセクターパートナー – AWSサービスデリバリーパートナー classmethod.jp 3
  4. Developers.IO • 月間100万PVの技術ブログ • AWS,ビッグデータ,モバイル,IoT • AWS re:Invent2016シリーズ – 約200本

    • 社員総出で書いてます! classmethod.jp 4
  5. 今日お話しすること • IoT基盤の検討要素とは? • クラスメソッド流の解決方法 • デモ classmethod.jp 5

  6. IoT基盤(IoTプラットフォーム) とは? classmethod.jp 6

  7. IoT基盤(プラットフォーム)とは classmethod.jp 7 IoTシステムの一部をプラットフォームサー ビスとして提供するもの

  8. 従来の構成 classmethod.jp 8 ロードバランサ (ELB) Webサーバ (EC2) APサーバ (EC2) DBサーバ

    (RDS) 一般的な構成でも構築可能ですが・・・
  9. AWSフルマネージドサービスの利用 • 運用管理のオフロード – 稼働管理、OS/ミドルウェアのパッチ適用 • スケーラビリティ – 多数のデバイスからの同時アクセスにも対応 •

    高可用性 – ハードウェア障害に備えた設計 • 従量課金 – リクエスト数、データ量による課金 classmethod.jp 9
  10. 構成要素の検討事項 • ディスパッチ – デバイスの認証、データの仕分け・転送 • データプロセッシング – デバイスデータを加工してアウトプット •

    ストアリング – アウトプットされたデータの蓄積 • アナライズ – 蓄積されたデータの分析 classmethod.jp 10
  11. AWSのサービス • ディスパッチ – AWS IoT, API Gateway, Kinesis •

    データプロセッシング – AWS Lambda, Amazon EMR, AWS Batch • ストアリング – S3, RDS, DynamoDB, Redshift • アナリティクス(可視化) – Athena, Amazon Elasticsearch,QuickSight (Amazon Elasticsearchは以後Amazon ESと表記) classmethod.jp 11
  12. どう組み合わせればいいの? classmethod.jp 12

  13. ビルディングブロック方式 • 要素を分解し、積み木を積み上げるよう に適切なシステムを構築 • 最適なAWSリソースを組み合わせて構成 classmethod.jp 13 ストアリング AWS

    IoT Redshift QuickSight アナライズ プロセッシング ディスパッチ Lambda
  14. カスタマーストーリーセンサーズ classmethod.jp 14 • ベストプラクティス – 多様な要件に対応する多数のテンプレート • テンプレート化 –

    IoTシステム構築ノウハウを集積 – IoT向け構成パターンをテンプレート化 – 構築期間やコストの最小化 • データ分析基盤との連携 – 別の解析サービスと連携した効果測定、施策検討 • 初期費用0円
  15. テンプレート classmethod.jp 15 10種類以上

  16. テンプレートの分類 • プロトコルによる場合分け – MQTT/MQTTS使う → AWS IoT • AWS

    IoTがMQTTブローカーとなります – HTTP/HTTPS使う → API Gateway • 要件による場合分け – IoTデバイスと双方向通信 → AWS IoT – IoTデバイスからの片方向通信 → API Gateway classmethod.jp 16
  17. IoTデバイスとの双方向通信 デバイスの証明書管理でデバイスを制御 • 例)データ送信のOn/Off – 不要になったデバイスの証明書をAWS IoT側で 無効にすることでデータの受信を止める • 例)管理アプリからデバイスの状態管理

    – AWS IoTからデバイスのLEDを点灯・消灯 classmethod.jp 17
  18. テンプレートの分類2 • センサー情報の活用方法による場合分け – センサー情報収集・蓄積 • RDSに蓄積 – センサー情報収集・蓄積・分析 •

    BIツールで分析 → Redshift • BIツール:Tableau , QuickSight等との組合せ – リアルタイムで見たい • Amazon Elasticsearchで可視化 • 可視化はKibana • データ量による選定 – 大規模データ(1ヶ月で数十億レコード等) →Redshift classmethod.jp 18
  19. 条件で最適なテンプレートの選出 classmethod.jp 19 これが最適!

  20. テンプレート例 • シンプルセンサー収集・可視化 • シンプルセンサー情報収集・蓄積・分析 • センサー収集・可視化(データ変換) classmethod.jp 20

  21. ~シンプルセンサー収集可視化~ classmethod.jp 21

  22. ~シンプルセンサー収集可視化~ classmethod.jp 22 • 証明書をインストールしたIoTゲートウェイ • MQTTSでセンサー情報をAWS IoTで受信 • Amazon

    ESへセンサー情報を登録 • Kibanaで可視化
  23. ~シンプルセンサー情報収集・蓄積・分析~ classmethod.jp 23

  24. classmethod.jp 24 • IoTゲートウェイの用意やデータ受信は同じ • 大規模データ向けの構成 • AWS IoTからKinesis Firehoseへデータを渡す

    • Kinesis Firehose からRedshiftに データ格納 ~シンプルセンサー情報収集・蓄積・分析~
  25. ~センサー収集・可視化(データ変換セット) ~ classmethod.jp 25

  26. classmethod.jp 26 • HTTPSでセンサー情報をAPI Gatewayで受信 • Lambdaを経由してAmazon ESへ情報登録 • Kibanaで可視化

    • API Gatewayの利 用で一般的なクライ アントを対向デバイ スとして利用可能 ~センサー収集・可視化(データ変換セット) ~
  27. デモ classmethod.jp 27

  28. デモの要件 • デモなのでリアルタイムに可視化したい – Amazon Elasticsearchの採用 • MQTTの実装が時間的に間に合わない – HTTPのまま

    • HTTPSで送りたい – 特に意味はありませんが、そういうケースを 想定してみました。 classmethod.jp 28
  29. デモ構成 classmethod.jp 29 • Raspberry Piに超音波センサー接続 • センサーデータをSORACOM BeamでAWSに送信 •

    センサーデータをリアルタイムに可視化
  30. 実際の構成 classmethod.jp 30

  31. 実際にデータを送信 classmethod.jp 31

  32. テンプレートの秘密 classmethod.jp 32 • CloudFormationによるテンプレート化 • 環境構築は正味で10分程度 • テンプレートなので削除や作り直しが簡単

  33. 作成されるAWSリソース classmethod.jp 33 ベストプラクティスな構成を短期間に 最小コストで構築可能 例) • AWS IoT •

    Redshift • Kinesis Firehose • その他VPC設定など
  34. テンプレート+α • 要件に応じて機能を追加することも簡単 – 例:「BIツールで可視化」を追加したい → QuickSightでRedshiftのデータを分析 classmethod.jp 34

  35. まとめ • IoTプラットフォームはAWSネイティブに • 構成要素は工程単位で検討 – ディスパッチ – データプロセッシング –

    ストアリング – アナライズ • ビルディングブロックで構成の最適化 classmethod.jp 35
  36. ご清聴ありがとうございました classmethod.jp 36