AWSのIoT Coreについてまとめています。
AWSのIoT Coreは、クラウドアプリとモノの通信プラットフォーム
関連)AWS IoT Core(デバイスをクラウドに接続)| AWS
AWSのIoT Coreは、インターネット接続されたデバイスとクラウドアプリケーション間で安全に通信するためのプラットフォームです。
AWS IoT Coreでは、X.509 証明書、AWS IAM 認証情報、AWS Cognito 経由のサードパーティ認証のいずれかを使った強力な認証が必要とされ、すべての通信が暗号化されるんですね。
このため、デバイスとアプリケーション間の通信を盗聴してデータを抜き取ったり、頭頂葉のデバイスをクラウドアプリに接続させるといったことを防ぎ、通信を保護します。
AWSのIoT Coreは、以下の用途での実績があります。
- 生産性とプロセスの最適化
- リモートで患者の健康と状態をモニター
- 在庫の可視化と倉庫業務の最適化
- 家庭、建物、都市のスマート化と、良い体験の構築
- 効率的に良品の作物を育てる
- エネルギー資源を効率的に管理
- コネクテッドカー、自動運転で輸送の変革
- 家庭、オフィス、工場の安全性向上
認証 勝手に変なデバイスが接続されないよう
AWS IoT coreの使い方
AWS IoT Coreは、AWSマネジメントコンソールから管理画面を呼び出すことができます。
【関連記事】
▶AWS Management Console(マネージメントコンソール)って何?主な機能と利用方法を解説
マネジメントコンソールの検索窓にて「IoT」と入力し、検索すると「IoT Core」が表示されるのでクリックします。
AWS IoTの管理画面が開きます。デバイス(モノ)の登録時に、証明書やポリシーがアタッチできます。
まずは「モノ」を物理的に設置・接続します。モノをAWS IoTで制御するためのソフトウェアをデプロイするには、AWS Greengrassというサービスを利用すると便利です。
【関連記事】
▶AWS GreengrassでIoT制御サーバにデバイスソフトをデプロイ&管理
AWS IoTの管理画面からモノを登録するには、左のナビゲーションペインから管理→モノを選択し、「モノを作成」をクリックします。
モノは1つのみ、もしくは複数のモノを一度に作成できます。モノに名前をつけ、「次へ」をクリックすると証明書にポリシーをアタッチする画面が表示されます。
証明書は、AWS IoTの認証機関を利用して自動生成する他に、「自分の証明書を使用」「CSRをアップロード」「今回の証明書の作成をスキップ」が選べます。スキップした場合でも、あとから証明書のアタッチは可能です。
【関連記事】
▶AWSで証明書(SSL/TLS)の発行や更新 パブリック・プライベートに対応
証明書に、IoTアクションの実行を許可/拒否するポリシーをアタッチします。
ポリシーは、「ポリシーを作成」ボタンをクリックするか、左のナビゲーションペインから「安全性」→「ポリシー」を選択します。MQTTポリシーアクション、Device Shadowポリシーアクション、ジョブアクションの3種類に分類されたアクションごとに許可もしくは拒否を設定可能です。
異常を検知するには、異常検知用のルールを定義するほか、「ML(機械学習)を使用して異常を検知」が選べます。
機械学習用のモデルは、デバイスの履歴データに基づいて自動構築され、機械学習によって異常を検知し、アラームをトリガーすることができます。
AWS IoT coreの料金
AWS IoT Coreには無料利用枠が設定されていて、AWS アカウント作成日から12ヶ月間利用できます。無料枠の範囲は以下の通りです。
- 接続時間 2,250,000 分
- メッセージ 500,000 件
- レジストリまたはデバイスシャドウのオペレーション 225,000 回
- トリガールール 250,000 件、実行アクション 250,000 件
【関連記事】
▶AWSの無料利用枠は、各サービスを条件付きで無料使用できる 3タイプの無料枠あり
AWS IoT Coreの使用には以下の料金が発生します。
- 接続
- メッセージング
- デバイスシャドウとレジストリ
- ルールエンジン
- Device Advisor
例えば、メッセージングをMQTTとしてデバイス1,000個を1ヶ月利用(43,800分)する場合、月額料金は3.5ドルになります。相当な数のデバイスを接続して、メッセージングの回数が10億件を超えてくこないと、接続料金以外にかかるコストは安いです。
欧州 (アイルランド) リージョンで、AWS IoT Core に常時接続を維持する 100,000 台のデバイスの例を考えてみましょう。1日にデバイスごとに送信されるメッセージが1KBサイズが325件。うち100件がデバイスシャドウの更新がトリガーされ、200件はアクションを実行するルールがトリガーされるとすると、30日間では以下の料金が発生します。
- 接続
- 接続時間 (分) = 接続数 100,000 件 * 60 分/時間 * 24 時間/日 * 30 日 = 4,320,000,000 分間接続
- 接続の料金 = 4,320,000,000 分間接続 * 0.08 ドル/1,000,000 分間接続 = 345.60 ドル
- メッセージング
- メッセージ数 = 100,000 台のデバイス * 325 件のメッセージ/デバイス (1 日あたり) * 30 日 = 975,000,000 件のメッセージ
- メッセージングの料金 = 975,000,000 件のメッセージ * 1.00 ドル/1,000,000 メッセージ = 975.00 ドル
- デバイスシャドウとレジストリ
- デバイスシャドウリクエスト数 = 100,000 台のデバイス * 100 件のリクエスト/デバイス (1 日あたり) * 30 日 = 300,000,000 件のリクエスト
- デバイスシャドウのサイズは 1 KB 未満であるため、1 KB 単位で最も近い値 (1 KB) に切り上げられます。
- デバイスシャドウの料金 = 300,000,000 件のリクエスト * 1.25 ドル/1,000,000 オペレーション = 375.00 USD
- ルールエンジン
- トリガールール数 = 100,000 台のデバイス * 200 件のトリガールール/デバイス (1 日あたり) x 30 日 = 600,000,000 件のトリガールール
- 実行アクション数 = 600,000,000 件のトリガールール * 1 件の実行アクション/トリガールール = 600,000,000 件の実行アクション
- トリガールールの料金 = 600,000,000 件のトリガールール * 0.15 ドル/1,000,000 トリガールール = 90.00 ドル
- 実行アクションの料金 = 600,000,000 件の実行アクション * 0.15 ドル/1,000,000 実行アクション = 90.00 ドル
- ルールエンジンの合計料金 = 90.00 ドル + 90.00 ドル= 180.00 ドル
- 合計料金 = 346.60 ドル+ 975.00 ドル+ 375.00 ドル+ 180.00 ドル= 1,876.60 ドル
AWS IoT Coreのまとめ
- AWS IoT Coreは、インターネット接続されたモノとクラウドアプリケーション間の通信プラットフォーム
- 証明書を使った認証と暗号化により、不正接続やデータの盗聴から保護。機械学習による異常検知も可能
- 料金は、接続、メッセージング、デバイスシャドウ費用などが個別に課金される