AWSサービスの機能を調べる(Internet of Things)
皆さんは、AWSクラウドが持つ機能を調べるとき、どうしていますか?
また、使おうと考えているサービスの仕様をどのように調べていますか?
私はこのところ、AWSサービスの機能のホントのところを確認するために、AWS公式ホームページの「AWSサービス別資料」で確認を取っています。
(資料には、SlideShare 、PDF 、Youtube があります)
ちまたのインターネットでの技術ネタを調べることも過去多かったのですが、情報の鮮度もありますし、やっぱり本家の情報がしっくりと安心できます!!
今回は、この画面の左にあるカテゴリー分けから「Internet of Things」を選んだときに、各資料にはどのような情報が含まれているかを箇条書きにします。(99-99 形式の数字はページを表します)
Internet of Things
●●●資料【01_FreeRTOS】
6-10 IoTの背景
12-14 FreeRTOSとは?
16-17 FreeRTOS kernel
18-21 組み込み開発、マルチスレッド実装ライブラリ、マイコン向けOS
22-23 タスクスケジューラ、FreeRTOSのAPI
24-29 タスク、キュー
30-31 ミューテックスとセマフォ
32-33 タスク通知(Task Notification)、ストリームバッファ(Stream Buffers)
FreeRTOS ライブラリ
35Page Amazon FreeRTOS Architecture
36Page FreeRTOS Libraries
37Page クラウドの接続性
38Page MQTTプロトコル
39Page MQTTライブラリ
40Page Device Shadowライブラリ
41Page AWS IoT ルールの利用
42Page ローカル接続
43Page AWS IoT Greengrass 検出ライブラリ
44Page Wi-Fiライブラリ
45Page MQTT over BLE
46Page Wi-Fi Provisioning over BLE
47Page セキュリティ
48Page TLS を使った相互認証
49Page IoTポリシーを用いた認可
50-51 AWS IoT Device Defenderライブラリ
52-53 監査内容 (FreeRTOS側の設定は不要)
54Page 異常の検出
55-57 セキュアエレメント
58-59 OTAコード署名、OTA エージェントライブラリ
60Page OTA – 作業者の操作
61-62 OTA – OTAエージェントのアクション
63Page OTA – ブートローダーおよびアプリのアクション
64Page OTA – 更新ジョブのプログレス
開発方法
66Page FreeRTOSのソースコード
67Page AWS Partner Device Catalog
68Page Device Tester for FreeRTOS
69Page AWS デバイス認定プログラム
70Page FreeRTOS以外でのAWS IoTとの接続⽅法
●●●資料【02_AWS IoT Analytics】
7Page 技術の進化とIoTサービスの進化
8Page IoT データが生み出す価値
9Page 活用例1: 生産状況の見える化
10Page 活用例2: 分析による業務改善
11Page 活用例3: 予知保全 / 品質予測
12Page 予知保全を実現するアーキテクチャ例
13-14 IoTデータの特徴、IoTデータ処理の流れ
①IoTデータのノイズ、ギャップ、誤測定値などの整形
②データのフィルタリング、処理、変換、および拡充
③生データと処理済みデータを保存する
④アドホッククエリ実行や高度な分析、可視化
15-17 AWS IoT Analytics
AWS IoT Analyticsの詳細
19Page AWS IoT Analytics
20Page AWS IoT Analytics Overview
21Page 保存・分析したいデータのみ収集
22Page BatchPutMessage(S3, Kinesis経由の連携が実現可能)
23Page AWS IoT Greengrass IoT Analytics Connector
24Page 取り込みデータ形式について
25Page 処理:生データを意味のある情報に変換
26Page pipelineでのメッセージの変換・強化・フィルタ
27Page データの拡充による強化
28Page IoT Coreレジストリ・シャドウ情報でメッセージを強化
①レジストリ情報で強化 (deviceRegistryEnrich)
②シャドウで強化 (deviceShadowEnrich)
29Page Lambda関数を使ったメッセージの変換・強化・フィルタ
※ AWS IoT Analytics から Lambda 関数を呼び出せるように、
関数ポリシーを追加する必要あり
30-32 pipelineを指定してchannelデータ再処理 ※ 過去データが置き換わる。
33Page 保存:分析のためにデバイスデータを時系列データストアに保存
34Page ストレージタイプ
①サービスマネージド型ストア(直接参照できない)
②顧客マネージド型S3バケット
35Page 解析:資産の健全性とパフォーマンスに対する深い洞察を得る
36-37 SQLデータセットとコンテナデータセット
38-41 DeltaTime Window
42Page コンテナデータセット
43Page コンテナプログラムサンプル (Python)
44Page 配信ルール (S3アクション、IoT Eventsアクション)
45Page IoTデータをデータレイク上の非IoTデータと統合する
IoT Eventsアクションを使った警報連携例
47Page 可視化:データセットをすばやく可視化
48Page QuickSight
49Page SageMaker Jupyter Notebook Templates
50Page コンテキスト的な異常の検出 – Detecting Contextual Anomalies
51Page ソーラーパネルの出力予測 – Solar Panel Output Forecasting
52Page スマートシティの大気汚染予測 – Smart City Air Quality Forecasting
53-54 SageMakerコンテナでの分析定期実行、可視化・分析結果表示
55Page パイプラインを構成して複数の分析を実行する
56Page パイプライン構成パターン
57Page Type1: 1 channel + 1 pipeline + 1 datastore
58Page Type2: N channel + N pipeline + 1 datastore
59Page Type3: 1 channel + N pipeline + N datastore
60Page Type4: 1 channel + N pipeline + 1 datastore
62Page AWS IoTルールエンジンとAWS IoT Analyticsの接続①
63Page AWS IoTルールエンジンとAWS IoT Analyticsの接続②
●●●資料【03_AWS IoT Core】
6-9 IoT のユースケースと要件
11Page AWS IoT アーキテクチャ
12-13 AWS IoT サービス一覧
14Page AWS IoT Coreとは?
15Page AWS IoT Core アーキテクチャ
16Page デバイスゲートウェイ:IoTワークロードに最適化されたフルマネージド接続管理
17Page メッセージブローカー:IoTデバイス間で信頼性の高い高速通信
18Page MQTTプロトコル
19Page Publish / Subscribe モデル
20-21 Topic
22-24 ワイルドカード、メッセージについて、QoS
25Page 認証サービス:デバイス認証を管理し、ユニークなアイデンティティを大規模に提供
26Page 認証方法:①x.509クライアント証明書 ②Cognito ③IAM ④カスタム認証
27Page TLS 相互認証によるデバイス認証
28Page IoT ポリシーによる認可
29Page AWS IoT Coreで利用できるプロトコルと認証認可方法
30Page AWS IoT Core における証明書発行とデバイス登録方法⼀覧
31Page レジストリ:AWSサービス利用のため、デバイスを定義してカタログ化する
32Page AWS IoT Core におけるデバイス情報
33-37 Thing Type
39Page AWS IoT Device SDK
40Page AWS SDK とAWS IoT Device SDK の違い
41Page FreeRTOS
42Page パートナーデバイスの利用
AWS IoT Coreによるデータ収集
44Page AWS IoT Coreの2つの利用用途
45-46 AWS IoT Coreによるデータ収集アーキテクチャ例
47Page ルールエンジン:大量データをSQLライクな取込、分析、視覚化で、10以上のサービスを利用可能
48Page ルールエンジン – アクション
49Page ルールエンジン – メッセージのフィルタリング
50Page データ収集におけるTopic設計のベストプラクティス
51Page MQTTでは扱えないデータの収集方法
52Page デバイス証明書を利用した認証トークンの取得
53Page Basic Ingestによるメッセージングコストの削減
54Page データ収集で活用できるその他のIoTサービス
AWS IoT Core による遠隔制御
56Page 遠隔制御のパターン
57Page コマンドの送信
586Page データ収集とコマンド送信を併用する場合のTopic設計
:データとコマンドのTopicを最上位階層で分ける
59Page 状態の同期
60-65 デバイスシャドウ:いつでもあなたのデバイスの状態を把握し、管理する
66Page 名前付きシャドウ
デバイスの運用・管理
68-70 ⼀括制御、AWS IoT Device Management、デバイスの検索とグルーピング
71-76 Jobs:実行したジョブの各デバイスのステータスを受信し、可視化します
77-81 デバイスのロギングとモニタリング
●●●資料【04_AWS IoT Events】
7-10 AWS IoT サービス紹介
12-16 AWS IoT Eventsとは?
18Page 複数のソースから入力を受けいれ
19Page 入力データのフォーマットはIoT Events側で定義
20Page 簡単な論理式を使って複雑なイベントのパターンを認識
21Page 探知器モデル
22Page 状態
23Page 遷移イベント
24Page 利用可能な条件式
イベントに基づいたアクションの実行
26Page 利用できるアクション(ビルトイン)
27Page 利用できるアクション(AWSサービス連携)
28Page カスタムペイロード
29Page 置き換えテンプレート
スケーラビリティ
31Page 入力データに合わせてスケール
探知器モデルについて
33Page 探知器の生成メソッド ①一意のキー毎に探知器を作成 ②単一の探知器を作成
34Page 探知器モデルの評価方法 ①バッチ評価 ②シリアル評価
35Page 探知器の評価方法(例 シリアル):順番に処理
36Page 探知器の評価方法(例 バッチ) :最初に全条件を判断
AWS IoT Eventsを使ったユースケース
38Page 1) デバイスの位置情報を監視
39-40 2) AWS IoT EventsとMLを組み合わせた設備の管理
41-42 3) 畑の自動水やり
AWS IoT Eventsの始め方
44Page テンプレートを使ってみよう
45Page AWS IoT Eventsワークショップを試してみよう
46Page 探知器モデルの開発時のベストプラクティス
①CloudWatchログを有効化しておく
②定期的にパブリッシュ(発行)しておく
③使用しないと通知あるが削除されるので、パブリッシュかエクスポートしておく
47Page 探知器モデルのエクスポートとインポート
48Page 料金について
(この後、画面操作デモあり)
●●●資料【05_AWS IoT Greengrass】
8-11 IoTのユースケース
12Page AWS IoTのサービス
13Page AWS IoT Greengrassの基本コンポーネント
14Page AWS IoT GreengrassサービスとGroupとCoreの関係
※ Greengrass Coreは1つ
15-19 ローカルメッセージとトリガー
①Greengrass CoreがMQTTブローカーとなり、端末間通信可
②サブスクリプション設定で、MQTT Topicメッセージを、送信先を設定する
③GreengrassGroup内はQoS 0、ToCloudはQoS 1、
fromCloudはQoS 0 or 1(persistent session)
④ルータ越え:ALPN&&443ポートを利用したMQTT通信が可能
⑤ルータ越え:HTTP/HTTPS Proxyに対応(basic認証も対応)※ OTAはProxy非対応
20Page クラウド転送時のオフラインキャッシュ(FileまたはMemory)はFIFO
⇒ サイズ2.5MBは変更可能で古いものから破棄
21-24 ローカルアクション:ローカルのLambdaで組み込みソフトウエアの開発を簡素化
①制限の自由度が高く、Lambda画面で設定できる、起動数はリソース量による
②Long Lived Lambda:重めの初期化処理など ※ キューが溢れるとエラーになる
25Page Greengrass Lambda 用のSDK
26Page データの状態の同期(Device Shadow)
27Page セキュリティー:ノード間で証明書
(AWS IoT Core ⇔ Greengrass Core ⇔ Greengrass Connected Device)
28Page Greengrass上のMQTTブローカー用証明書の注意点
⇒ サーバ証明書の有効期限はデフォルト7日で、最大30日
⇒ 有効期限が切れる前にサーバ証明書が自動更新される
⇒ 切断状態だとデバイスからの新たな接続ができなくなる
⇒ サーバ証明書の入替え行われるとMQTTブローカーが再起動し、一度切断
※ 再接続実装要
29Page ハードウエアセキュリティーモジュール(HSM)の利用
30Page セキュリティー:Greengrass Core⇔AWSサービス:IAMを使ってアクセス
31Page ローカルリソースアクセス
:コンテナLambdaでリソースアクセスをホワイトアクセス制御できる
32Page Over the Air (OTA)アップデート
AWS IoT Greengrassの拡張機能
34-35 機械学習の推論
⇒ SageMaker Neoでコンパイル、Deep Learning Runtimeを使う
36Page コネクター:汎用的な処理はコネクターの利用で素早く開発
37Page シークレットマネージャー:秘密情報をエッジデバイスに安全に展開
38Page コンテナサポート
39Page ストリームマネージャー
40Page StreamManagerの注意点
AWS IoT Greengrassの始め方
42Page システム要件(2020/12/15現在のv1.11向け)
43Page AWS IoT Greengrassの始め方
44Page Quick Start Scriptの利用
45Page AWS IoT Greengrassのデプロイについて
バルクデプロイ
46Page AWS IoT Greengrassのモニタリングについて:CloudWatch Logs
47Page ⇒ Greengrass Core自体、Lambdaのテレメトリを取得
48Page ⇒ テレメトリの監視例
49Page ⇒ Local Health APIの利用
50Page AWS IoT Greengrassの料金体系(2020/12/15現在)
51Page 独自のデバイスでAWS IoT Greengrassを動かしたい場合
52Page AWS IoT Device Tester
53Page AWS Device Qualification Program:AWS Partner Network
AWS IoT Greengrassのユースケース
56-58 スマートファクトリーでのユースケース
①現状の生産現場における課題
②AWSで実現するスマートファクトリー
③AWS IoT Greengrassの役割
59-60 コネクテッドカーでのユースケース
①車両のデータをクラウドに上げる
②車両上で何らかの判断をする