Upload
amazon-web-services-japan
View
10.218
Download
1
Embed Size (px)
Citation preview
2015 / 11 / 24アマゾン ウェブ サービス ジャパン 株式会社ソリューション アーキテクト吉田 英世
【 AWS 初心者向け Webinar 】AWSではじめよう、IoTシステム構築
2
ご質問を受け付け致します!
質問を投げることができます!• Adobe Connect のチャット機能を使って、質問を書き込ん
でください。(書き込んだ質問は、主催者にしか見えません)
• 最後の Q&A の時間で可能な限り回答させていただきます。
①画面右下のチャットボックスに質問を書き込んでください
②吹き出しマークで送信してください
3
AWS 初心者向け Webinar のご紹介
• AWS についてこれから学ぶ方むけのソリューションカットの Webinar です
• 過去の Webinar 資料– AWS クラウドサービス活用資料集ページにて公開
http://aws.amazon.com/jp/aws-jp-introduction/
• イベントの告知– 国内のイベント・セミナースケジュールページにて告知
http://aws.amazon.com/jp/about-aws/events/(オンラインセミナー枠)
4
自己紹介
名前:吉田 英世 (@aquaviter)
所属:アマゾン ウェブ サービス ジャパン株式会社技術本部 ストラテジックソリューション部ソリューションアーキテクト
経歴:インフラエンジニア(ネットワーク)IoTプラットフォーム アーキテクト
好きなAWSサービス: AWS IoT
5
アジェンダ
イントロダクション
IoTシステムの事例
IoTシステムの技術的要件
IoTシステムでのAWS活用
デザインパターン
まとめ
6
アジェンダ
イントロダクション
IoTシステムの事例
IoTシステムの技術的要件
IoTシステムでのAWS活用
デザインパターン
まとめ
7
IoTとは?
データ
価値
モノのインターネット(Internet of Things、IoT)は、世の中にある様々な「もの」がネットワークに接続され、クラウドを利用したり相互に通信することにより新しいサービスや価値を産むという考え方。
コントロール
コミュニケーション サービスの創造
8
フレキシブル
IoT to AWS?
セキュア 信頼性 ハイパフォーマンス
使いやすさ 高コスト効果 豊富なサービス
9
Enterprise
ApplicationsVirtual Desktop Sharing & Collaboration
Platform
Services
Analytics
Hadoop
Real-time
Streaming Data
Data
Warehouse
Data
Pipelines
App Services
Queuing &
Notifications
Workflow
App streaming
Transcoding
Search
Deployment & Management
One-click web
app deployment
Dev/ops resource
management
Resource
Templates
Mobile Services
Identity
Sync
Mobile
Analytics
Push
Notifications
Administration
& SecurityIdentity
Management
Access
Control
Usage
Auditing
Key
Storage
Monitoring
And Logs
Core
Services
Compute(VMs, Auto-scaling
and Load Balancing)
Storage(Object, Block
and Archival)
CDNDatabases(Relational, NoSQL,
Caching)
Networking(VPC, DX, DNS)
Infrastructure Regions Availability Zones Points of Presence
10
Enterprise
ApplicationsVirtual Desktop Sharing & Collaboration
Platform
Services
Analytics
Hadoop
Real-time
Streaming Data
Data
Warehouse
Data
Pipelines
App Services
Queuing &
Notifications
Workflow
App streaming
Transcoding
Search
Deployment & Management
One-click web
app deployment
Dev/ops resource
management
Resource
Templates
Mobile Services
Identity
Sync
Mobile
Analytics
Push
Notifications
Administration
& SecurityIdentity
Management
Access
Control
Usage
Auditing
Key
Storage
Monitoring
And Logs
Core
Services
Compute(VMs, Auto-scaling
and Load Balancing)
Storage(Object, Block
and Archival)
CDNDatabases(Relational, NoSQL,
Caching)
Networking(VPC, DX, DNS)
Infrastructure Regions Availability Zones Points of Presence
サーバー、ストレージ、DBから、アプリケーションまで50を超えるクラウドサービスを提供
11
IoTリファレンスアーキテクチャ
デバイスインタフェース
外部システム向けインターフェース
イベント処理
データ保管 機械学習
通知/コマンド実行 データ可視化 データ分析
データ処理
デバイス
WiFi/3G/LTE
センサー アクチュエータ
12
対応するAWSサービス
デバイスインタフェース
外部システム向けインターフェース
イベント処理
データ保管 機械学習
通知/コマンド実行 データ可視化 データ分析
データ処理
デバイスセンサー アクチュエータ
WiFi/3G/LTE
Amazon EC2Amazon Kinesis StreamAWS IoT
Amazon EMRAmazon Kinesis AnalyticsAmazon Kinesis FirehoseAWS IoT
Amazon LambdaKinesis Client LibraryAWS IoT
AWS SDKAWS Device SDK
Amazon Machine Learning
Amazon ElasticsearchService (kibana)Amazon Quicksight
Amazon S3Amazon DynamoDBAmazon RDS
Amazon Redshift
Amazon API Gateway
Amazon SNS
13
アジェンダ
イントロダクション
IoTシステムの事例
IoTシステムの技術的要件
IoTシステムでのAWS活用
デザインパターン
まとめ
14
ヘルスケアライフサイエンス
自治体のインフラ スマートホーム 小売業
製造業流通
農業 教育 オートモーティブ
様々な産業であらゆるデバイスがAWSとつながっている
15
Amazonでの取組み
Amazon Drone
Amazon Dash
Amazon echo
16
AWSとのIoTイニシアチブでの事例
17
BMW:IoT Journey with AWS (re:Invent2015)
• Mission: Change customer experiences with cloud enhanced services and adopt new market requirements– Scalable, flexible, agile, and cost
effective infrastructure for IoT/M2M
• Connected cars deliver sensor data to AWS
• Digital map dynamically verified and enhanced
• Key feature to enable automated driving
• Estimation– CARASSO processes 8+ billion
km driven with several hundreds of thousands vehicles in 2018
18
dash:Connected Vehicle by dash device
•Drive Smarter
•Save Money
•Take Control
•Drive Green
•Have Fun with it
•Engine Light
19
あきんどスシロー様
捨てていたデータをクラウドに送り、他のデータと合わせて分析することで、今まで見えなかったことがデータとして可視化ができた。
20
アジェンダ
イントロダクション
IoTシステムの事例
IoTシステムの技術的要件
IoTシステムでのAWS活用
デザインパターン
まとめ
21
デバイスの認証・認可
・許可されたデバイスのみ接続を受付・認証済のデバイスに適切な権限を付与・認証情報を更新することは困難
クラウド側でデバイスを認証・認可をコントロールAWSの認証機能を利用してデバイスに対する認証や権限付与が可能
22
デバイスからのデータ受信
時刻ドリブン
イベントドリブン
ピーク性なし一定のインターバルにトラフィックが集中要求処理性能はデバイス数により変化
ピーク性あり特定の時間にトラフィックが集中要求処理性能はイベント/デバイス数により変化
デバイス数に応じたスケーラビリティが必要AWSでは自動もしくは手動でスケールする機能を利用可能
23
デバイスデータの書込
・新規追加のみ(更新はなし)・並列度が高い・書込のワークロードが高い・データ容量は単調増加・書込データは時系列データが主
書込処理のキャパシティとデータ容量がスケールするデータストアが必要AWSのスケーラブルなストレージやデータベースが利用可能
24
データ処理基盤との連携
Value
・データ加工、集計、分析など多様な処理との連携
・複数の処理を並列実行・目的によって要件の変更や追加が発生
データ処理基盤とのシームレスに連携できる、フレキシブルな構成AWSは疎結合をベースとしていろいろなサービス・機能を必要に応じて組み換え可能
25
アプリケーションからデバイスのリモート制御
Pull型 Push型
・デバイスから一定時間アプリケーションをポーリングし、データを取得
・リアルタイム性はインターバルに依存・オーバーヘッドが大きい・HTTPによるLong Pollingなどを利用
・アプリケーションからデバイスへデータを送信
・リアルタイム性は非常に高い・オーバーヘッドが少ない・MQTTやWebsocketを利用
リアルタイム要件や利用プロトコルにより方式を選定AWSではPull/Push型それぞれ選択可能
26
アジェンダ
イントロダクション
IoTシステムの事例
IoTシステムの技術的要件
IoTシステムでのAWS活用
デザインパターン
まとめ
27
AWS IoT BETA
IoTに必要な機能を簡単にセキュアに利用
セキュアな認証とプロトコル
ルールベースのアクション設定
デバイスSDKで開発も簡単
•TLS1.2を利用したクライアント証明書による認証•HTTPSとMQTTSを採用
•SQLライクなルールの定義でメッセージ処理をアクションが設定•AWSサービスとのシームレスな連携
C-SDK
(Ideal for embedded
OS)
JS-SDK
(Ideal for Embedded
Linux Platforms)
Arduino Library
(Arduino Yun)
Mobile SDK
(Android and iOS)
•AWS IoTの各種機能をデバイスから利用可能
28
Amazon Kinesis Stream
デバイスからのデータを大規模にストリーミング処理するフルマネージドサービス
スケーラブルなデータ受信
複雑なデータ処理のインテグレーション
• “シャード”を増減することでデータ受信の処理能力を調節可能
•KCL(Kinesis Client Library)を利用し、Kinesis Streamからのデータ取得を簡単に•自作のアプリケーションで複雑なデータ処理も組込み可能
29
Amazon API Gatewayアプリケーションだけでなくデバイス向けWeb APIの作成・保護・運用と公開を容易に
RESTfulエンドポイントに必要な豊富な機能が利用可能
•リクエスト数に応じてスケール•バックエンドへの負荷を軽減するためのスロットリング•APIのバージョンを管理•APIアクティビティのメトリクス取得
Lambdaの利用でサーバレスなAPIを作成
•API呼出し後のアクションでLambdaを指定することでプログラムの登録のみでAPIを作成
30
AWS Lambda
IoTの各イベントをトリガーにいろいろなコードを実行
OS,キャパシティなどインフラの管理不要
多様なイベントに対応
コンピューティング使用時間のみの課金
•コードを書いてLambdaにアップロードするのみ•登録されたコードを自動的に実行
•AWS IoTのルールアクションとして動作可能•Kinesis Streamのストリームもイベントとして登録可能
•コードが実行される100msごと、およびコードがトリガーされた回数に対して課金
31
Amazon Simple Storage Service (S3)
デバイスからの大量データを高い堅牢性で安全に保存
高い堅牢性99.999999999%
格納容量は無制限
様々なAWSサービスと連携
•データを3箇所以上にレプリケーション•障害検知とデータ修復を自動で行なう
•ファイル数、合計のファイル容量の制限なし•利用した分のみ課金
•各サービスのデータ入出力においてS3を活用•疎結合なデータ連携を実現
32
Amazon DynamoDB
時系列ななどトランザクショナルなセンサーデータを格納し、蓄積されたデータをクエリー操作することが可能
管理不要で信頼性が高い
プロビジョンスループット
ストレージの容量制限がない
•SPOFの存在しない構成•データは3箇所のAZに保存されるので信頼性が高い•スループット監視管理以外に管理作業不要•データ量が増えてきてもパフォーマンス劣化の心配なし
•ReadとWrite、それぞれに対して必要な分だけのスループット割り当てる•SSDで低レイテンシー
•使った分だけの従量課金制のストレージ•データ容量が増えてもディスクやノード追加作業不要
33
Amazon Redshift
センサーデータを高速に分析、多くのBIツールとも連携できるDWHサービス
フルマネージドなDWHサービス
列志向型
高い汎用性
• 数クリックで起動•使った分だけ課金、初期費用なし
•長期的に保存されたセンサーデータも高速に分析
•PostgreSQL互換のSQL•多くのBIツールでセンサーデータを分析可能
34
AWS Identity and Access Management (IAM)
アプリケーションやデバイスからAWS サービスおよびリソースへのアクセスを安全にコントロール
AWSリソースへのきめ細かなアクセス制御
•どのアプリケーション、デバイスがどのAWSのリソースを利用できるかを細かく設定可能
{ "Version": "2012-10-17", "Statement": [ {
"Effect": "Allow", "Action": [ "iot:Connect", "iot:Publish", "iot:Subscribe", "iot:Receive", "iot:GetThingShadow", "iot:UpdateThingShadow"
], "Resource": “"arn:aws:iot:us-east-1:123456789012:topic/foo/bar"" }
]}
AWS IoTのfoo/barトピックに対する接続、publish/subscribeを許可
35
Amazon CognitoIDプロバイダや独自認証基盤と認証を連携、アプリケーションやデバイスに必要な権限を一時的に付与
複数のIDプロバイダや独自の認証基盤と連携
Amazon Cognito
(AWS IAM / STS)
AWS SDKから簡単に利用可能
•SDKを利用することで認証から権限の付与まで簡単に実装可能
• IDプロバイダと独自認証基盤と連携して認証•AWSのリソースを利用するための任意のポリシーを持った一時的なクレデンシャルが発行される
どのサービスをどのように利用するか?
37
デバイスの実装
C-SDK
(Ideal for embedded OS)
JS-SDK
(Ideal for Embedded Linux
Platforms)
Arduino Library
(Arduino Yun)Mobile SDK
(Android and iOS)
AWS IoTDevice SDK
Open Library
JavaPython (boto)
PHP .NET Ruby Node.js
AWS Toolkit for Visual
Studio
AWS Toolkit for
Eclipse
AWS Tools for Windows
PowerShell
AWS CLI
JavaScript
・AWSのリソースはAWSSDKを利用
・AWS IoTのDevice SDKはMQTTを利用
・AWS IoTは汎用のオープンライブラリも利用可能
・HTTPS/MQTTS以外のプロトコル利用の場合は独自で実装が必要
38
デバイスの認証
Kinesis
Cognito
AWS IoT
証明書
EC2
認証要求
認証OK
サービス利用
サービス利用
発行インストール
認証OK
認証要求
・デバイス独自の認証方式の場合はEC2で自前のアプリケーションで認証・KinesisをはじめとしたAWSサービスの利用はCognitoを推奨・AWS IoTではクライアント証明書認証にも対応
独自AWSサービス AWS IoTのみ
39
利用できるプロトコル
Kinesis
AWS IoTEC2
何でもOK
API Gateway
どんなプロトコルでもOK HTTPSのみ MQTTS/HTTPS
・HTTPS/MQTTS以外のプロトコルはEC2上で自前のアプリケーションを利用・KinesisをはじめとしたAWSリソースは各API(SDK)でHTTPSを利用・AWS IoTはHTTPSに加えMQTTSに対応
40
生データはS3へアーカイブ
S3にデータがあるとAWSサービスとの連携が容易
アクセスしない過去データはさらにGlacierにアーカイブすることで安価に長期保管
高い堅牢性により生データが安全に保管できる生データから2次データ以降の加工済データを再生可能
41
時系列データの扱い
Redshift 時系列データベースの使用http://docs.aws.amazon.com/ja_jp/redshift/latest/dg/c_best-practices-time-series-tables.html
DynamoDB 時系列データへのアクセスパターンを理解するhttp://docs.aws.amazon.com/ja_jp/redshift/latest/dg/c_best-practices-time-series-tables.html
DynamoDB Redshift
・短期~長期の時系列データの保存・アプリからの時系列データ読み出し・データの可視化
・長期的なデータの保存にはS3を利用・時系列データの集計、分析に利用・必要なときにS3などからデータを読込み
42
コスト
データ収集 プロセッシング データ保管
$8/100万メッセージ
※:表示価格は東京リージョンの価格です。
AWS IoT $0.033/GB(最初の1TB/月)$0.0047/1,000リクエスト(PUT等)$0.0037/10,000リクエスト(GET)
S3
DynamoDB
KinesisStream
Simple Monthly Calculatorhttp://calculator.s3.amazonaws.com/index.html?lng=ja_JP#
$0.0195/h,1シャード$0.0215/100万PUTレコード
$0.14/時間(c4.large)KinesisApplication
APIGateway
Lambda $0.000000208(128M, 100ms)$4.25/100万リクエスト$0.14/GBのデータ送出
サービスにより課金体系が異なる。開発、運用コストなどトータルコストでサービスを選定。
$0.0742/10ユニットの書込/時$0.0742/10ユニットの読込/時
43
アジェンダ
イントロダクション
IoTシステムの事例
IoTシステムの技術的要件
IoTシステムでのAWS活用
デザインパターン
まとめ
44
45
ケース1
工場のセンサーデータをリアルタイムに閲覧したい。将来的に分析を行なうために、データを保管しておきたい。
<要件>・センサーデータを集約しているゲートウェイはHTTP対応・将来的にセンサー数は数十万となる見込み
46
データ受信Webサーバ
アプリケーション
SQS S3
RDS
RDS
ELB
センサーデータ書込
センサーデータ読込
専用線
VPN
ゲートウェイ機器
データ受信Webサーバ
アプリサーバ
ワーカー
ワーカー
アプリサーバ
AZ-a
AZ-c
Auto Scaliing
47
データ受信Webサーバ
アプリケーション
SQS S3
RDS
RDS
ELB
センサーデータ書込
センサーデータ読込
専用線
VPN
ゲートウェイ機器
データ受信Webサーバ
アプリサーバ
ワーカー
ワーカー
アプリサーバ
AZ-a
AZ-c
Auto Scaliing
デバイス用とアプリケーション用のアプリはELB+EC2でスケーラブルな構成
工場とAWS間は専用線やVPNで安全な接続
SQS+ワーカーでRDSへのInsertを非同期に行い、書込負荷を均質化
S3へ生データをアーカイブ
ゲートウェイはセンサーデータを集約
Auto Scalingにより、負荷に応じた自動スケール
48
ケース2
環境センサーのデータをクラウドに収集し、収集したデータを開発者にAPIとして公開したい。
<要件>・センサーは全国1万ヶ所・データは5分に1回アップロード
49
アプリケーション
気象センサーAPI Gateway Lambda S3
DynamoDBLambdaAPI Gateway
インターネット
Cognito
センサーデータ書込
センサーデータ読込
50
アプリケーション
気象センサーAPI Gateway Lambda S3
DynamoDBLambdaAPI Gateway
インターネット
Cognito
Cognitoでデバイスとアプリケーションの双方を認証
Lambdaでサーバレスなバックエンド処理
DynamoDBに時系列データを格納
S3へ生データをアーカイブ
センサーデータ書込
センサーデータ読込
デバイスからのPOSTをAPI Gatewayで処理
アプリケーションからのGET/POSTもAPI Gatewayで処理
51
ケース3
車の走行データをクラウドにアップロードし、分析したい。
<要件>・車載器は1万台の車に搭載・回線は3Gを利用・データは10秒に1回、100ms間隔で取得したデータをまとめて送信
52
S3 Redshift
DynamoDB
インターネット
KinesisStream
KinesisApplication車載器
アプリケーション LambdaAPI Gateway
BIツール
Cognito
NEW!!
KinesisFirehose
53
S3 Redshift
DynamoDB
インターネット
KinesisStream
KinesisApplication車載器
アプリケーション LambdaAPI Gateway
BIツール
Cognito
NEW!!
KinesisFirehose
Kinesisでデータを受信シャード数を調節でスケーラブルな受信性能
FirehoseでS3/Redshiftにデータを格納
KCLの利用で柔軟性の高いプロセッシング処理
Redshiftで高速な時系列データ分析
センサーデータ書込
センサーデータ読込
AWS SDKでKinesisを利用(PutRecord(s))
Kinesisを利用するための認証
54
ケース4
室温・湿度データを取得し、それらのデータを利用してビニールハウスの環境を最適化したい。
<要件>・温度、湿度のデータが一定のしきい値を超えたらアラート送信・かつ自動的に窓の開閉を行なう
55
S3
DynamoDB
SNS
アプリケーション
Lambda
ルール(しきい値)
センサーデータ用トピック
シャドウ用トピック
ルール(すべて)
ビニールハウス
Cognito
AWS IoT
センサーデータ書込
センサーデータ読込
56
S3
DynamoDB
SNS
アプリケーション
Lambda
ルール(しきい値)
センサーデータ用トピック
シャドウ用トピック
ルール(すべて)
ビニールハウス
Cognito
AWS IoT
センサーデータ書込
センサーデータ読込
AWS IoTで発行された証明書をインストール
到着したメッセージはS3とDynamoDBにストア
しきい値を超えた場合、SNSとLambdaにメッセージが転送される
ビニールハウスへ窓を開閉するようにコマンド送信
アプリケーションに通知デバイスSDKを組込み
特定のMQTTトピックでデータを受信
57
アジェンダ
イントロダクション
IoTシステムの事例
IoTシステムの技術的要件
IoTシステムでのAWS活用
デザインパターン
まとめ
58
まとめ
• AWSのサービスを組み合わせることで様々な要件のIoTシステムが構築可能
• AWSを利用することで、IoTによる新しい価値の創造に最大限注力できる
59
Q&A
60
詳しくは、http://aws.amazon.com/training をご覧ください
メリット
• AWS について実習や実践練習を通じて学習できる
• AWS を熟知したエキスパートから直接 AWS の機能について学び、疑問の答えを得られる
• 自信をもって IT ソリューションに関する決定を下せるようになる
提供方法
e ラーニングや動画
セルフペースラボ
クラスルームトレーニング
AWSトレーニングでは様々な学習方法をご提供しています
61
公式Twitter/FacebookAWSの最新情報をお届けします
@awscloud_jp
検索
最新技術情報、イベント情報、お役立ち情報、お得なキャンペーン情報などを日々更新しています!
もしくはhttp://on.fb.me/1vR8yWm
62
AWS 初心者向け Webinar
• AWSをこれからご使用になる技術者向け、ソリューションカットのセミナー
• 今後の配信予定
12月3日(木) 【AWS 初心者向け Webinar】AWSでのコスト削減オプション
12月10日(木) 【AWS 初心者向け Webinar】Big Data 活用
※12時~13時分の時間帯です!
• 申し込みサイト
– http://aws.amazon.com/jp/about-aws/events/
アンケートにご協力ください。ご意見/ご要望お待ちしております。
63
AWS Black Belt Tech Webinar 2015
AWSのサービスをディープにご紹介
• 今後の配信予定 11月はデプロイ&プロビジョニング月間!
– 11月25日(水)18:00〜 AWS Elastic Beanstalk
– 12月2日(水)18:00〜 AWS IoT
– 12月9日(水)18:00〜 AWS WAF
– 12月15日(水) 18:00~ スポットインスタンス&Auto Scaling
– 12月22日(水) 18:00~ Black Belt 年の瀬座談会
• 申し込みサイト
– http://aws.amazon.com/jp/about-aws/events/
64
AWSの導入、お問い合わせのご相談
• AWSクラウド導入に関するご質問、お見積り、資料請求をご希望のお客様は、以下のリンクよりお気軽にご相談くださいhttps://aws.amazon.com/jp/contact-us/aws-sales/
※「AWS 問い合わせ」で検索してください
ご清聴ありがとうございました!