AWS IoT Core で実現する IoT デバイス接続 - MQTT 通信とデバイスシャドウ

IoT Core による MQTT デバイス接続、デバイスシャドウ、ルールエンジンによるデータルーティングを解説します。

IoT Core の概要

IoT Core は IoT デバイスをクラウドに安全に接続するマネージドサービスです。MQTT プロトコルでデバイスとクラウド間の双方向メッセージングを提供し、ルールエンジンで受信データを AWS サービスにルーティングします。デバイスの認証は X.509 証明書で行い、IoT ポリシーでトピックごとのパブリッシュ・サブスクライブ権限を制御します。

この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。

デバイスシャドウとルールエンジン

デバイスシャドウは JSON ドキュメントでデバイスの状態を管理します。desired (期待状態) と reported (実際の状態) の差分を delta として検出し、デバイスに設定変更を通知します。デバイスがオフラインの場合、次回接続時に delta が送信されます。ルールエンジンは SQL ライクなクエリで受信メッセージをフィルタリングし、条件に合致するメッセージを Lambda、DynamoDB、S3、Kinesis、Timestream などにルーティングします。

さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。

まとめ

IoT Core は MQTT ベースのデバイス接続とルールエンジンによるデータルーティングを提供するサービスです。デバイスシャドウでオフラインデバイスの状態管理も実現します。

AWS の優位点

  • MQTT、HTTPS、WebSocket プロトコルで数百万台のデバイスを同時接続し、双方向メッセージングを提供する
  • デバイスシャドウでデバイスの最新状態をクラウドに保持し、デバイスがオフラインでも状態の参照・更新が可能
  • ルールエンジンで受信メッセージを SQL ライクなクエリでフィルタリングし、Lambda、DynamoDB、S3、Kinesis にルーティングできる
  • X.509 証明書によるデバイス認証と IoT ポリシーによるきめ細かいアクセス制御を提供する
  • Basic Ingest でルールエンジンに直接メッセージを送信し、メッセージブローカーの課金を回避できる

同じテーマの記事

AWS Auto Scaling で実現する需要追従型インフラ - スケーリングポリシーの設計と最適化 Auto Scaling のスケーリングポリシー設計、ターゲット追跡、予測スケーリングの活用を解説します。 バッチコンピューティング基盤 - AWS Batch で実現する大規模並列処理 AWS Batch を活用した大規模バッチ処理の構築方法を解説します。ジョブキュー、コンピューティング環境の自動スケーリング、Spot インスタンスによるコスト最適化など、科学計算や大規模データ処理に最適なバッチ基盤の設計を紹介します。 AWS Batch でバッチコンピューティングを自動化 - ジョブキューとコンピューティング環境の設計 AWS Batch によるジョブのスケジューリング、Fargate/EC2 コンピューティング環境の使い分け、スポットインスタンスの活用を解説します。 AWS Batch で実現する大規模バッチ処理 - ジョブキュー設計とコスト最適化 AWS Batch のジョブキュー設計、Fargate と EC2 コンピューティング環境の選定、スポットインスタンス活用によるコスト最適化を解説します。 放送品質ライブ配信 - AWS Elemental MediaLive と MediaPackage で大規模配信基盤を構築する AWS Elemental MediaLive と MediaPackage を使った放送品質のライブ配信基盤を解説。リアルタイムトランスコード、DRM、広告挿入、マルチ CDN 配信を紹介します。 AWS Deadline Cloud でマネージドレンダーファームを構築 - VFX レンダリングのクラウド移行 Deadline Cloud によるレンダーファームの構築、ジョブスケジューリング、スポットインスタンスによるコスト最適化を解説します。 EC2 Instance Connect で SSH キー管理を不要に - ブラウザとCLI からの安全な接続 EC2 Instance Connect によるキーレス SSH 接続、IAM ベースのアクセス制御、Endpoint の活用を解説します。 Amazon EC2 インスタンスの選び方 - インスタンスファミリーと購入オプションの最適化 EC2 のインスタンスファミリーの特徴、Graviton プロセッサの活用、購入オプションの使い分けを解説します。 エッジ・5G コンピューティング - AWS Wavelength と Local Zones で超低遅延を実現する AWS Wavelength と Local Zones を使った超低遅延コンピューティングを解説。5G ネットワークエッジでの処理、都市部への近接配置、ユースケースと通常リージョンとの使い分けを紹介します。 Amazon Elastic Transcoder でメディアファイルを変換 - プリセットとパイプラインの設計 Elastic Transcoder によるメディアファイルの変換、プリセットの選定、S3 連携パイプラインの構築を解説します。 Amazon EVS でハイブリッドクラウドを運用する - DR サイト構築とバースト対応 Amazon EVS を活用したハイブリッドクラウド運用を解説。DR サイトの構築、オンデマンドのキャパシティバースト、AWS サービスとの統合パターンを紹介します。 Amazon GameLift でマルチプレイヤーゲームサーバーをホスティング - マッチメイキングとフリート管理 GameLift によるゲームサーバーのデプロイ、FlexMatch マッチメイキング、スポットインスタンスの活用を解説します。 AWS IoT Greengrass で構築するエッジ IoT アプリケーション - ローカル処理とクラウド連携 IoT Greengrass によるエッジデバイスでのローカル処理、Lambda 関数のエッジ実行、デバイスシャドウとの同期を解説します。 AWS Ground Station で実現する衛星データ処理 - ダウンリンクから分析までのパイプライン Ground Station による衛星通信のスケジューリング、データのダウンリンク、EC2 でのリアルタイム処理を解説します。 ハイブリッドクラウドインフラ - AWS Outposts で実現するオンプレミスと AWS の統合基盤 AWS Outposts によるオンプレミス環境への AWS インフラ拡張と、EC2 との統合によるハイブリッドクラウドアーキテクチャの構築方法を解説します。データレジデンシー要件やレイテンシ要件への対応パターンを紹介します。 EC2 Image Builder で自動化する AMI パイプライン - ゴールデンイメージの構築とテスト Image Builder による AMI 構築パイプラインの設計、コンポーネントの作成、自動テストの実装を解説します。 AWS IoT SiteWise で構築する産業データ分析基盤 - 設備データの収集とアセットモデリング IoT SiteWise による産業機器データの収集、アセットモデルの設計、ダッシュボードでの可視化を解説します。 Amazon IVS で構築する低レイテンシライブ配信 - ストリーミングチャネルとチャット統合 IVS によるライブ配信チャネルの構築、プレーヤー SDK の統合、チャット機能の実装を解説します。 Amazon Lightsail で手軽に始めるクラウド - VPS 感覚で使える AWS の入口 Amazon Lightsail の固定料金プラン、WordPress やコンテナのデプロイ、EC2 への移行パスを解説します。 Amazon Lightsail でシンプルにクラウドを始める - VPS、データベース、コンテナの月額固定運用 Lightsail による VPS の構築、マネージドデータベース、コンテナデプロイ、月額固定料金の活用を解説します。 Amazon Lightsail で構築する WordPress サイト - SSL 設定からCDN 配信まで Lightsail での WordPress 構築、Let's Encrypt による SSL 設定、Lightsail CDN によるグローバル配信、バックアップ戦略を解説します。 AWS Elemental MediaConvert でサーバーレス動画変換 - HLS 配信とサムネイル生成 MediaConvert による動画トランスコーディング、HLS/DASH 出力、S3 + CloudFront での配信パイプラインを解説します。 Amazon Nimble Studio でクラウドクリエイティブ環境を構築 - VFX とアニメーション制作 Nimble Studio によるクラウドワークステーションの構築、ストレージ設計、リモートコラボレーションを解説します。 AWS Outposts でオンプレミスに AWS を拡張 - ハイブリッドクラウドの設計と運用 AWS Outposts によるオンプレミス環境への AWS インフラ拡張、ユースケース、ネットワーク設計と運用モデルを解説します。 AWS ParallelCluster で構築する HPC 環境 - Slurm クラスタの自動構築とスケーリング ParallelCluster による Slurm ベースの HPC クラスタ自動構築、スポットインスタンス活用、EFA による高速ノード間通信を解説します。 AWS RoboMaker でロボットアプリケーションを開発 - ROS 2 シミュレーションとフリート管理 RoboMaker による ROS 2 アプリケーションの開発、シミュレーション環境の構築、フリートデプロイを解説します。 衛星通信基盤 - AWS Ground Station で衛星データをクラウドに直接取り込む AWS Ground Station を使った衛星通信のクラウド統合を解説。地上局のマネージドサービス化、衛星データの取り込み・処理パイプライン、従来の地上局運用との比較を紹介します。 Amazon WorkSpaces で構築するクラウドデスクトップ - DaaS の設計とコスト最適化 WorkSpaces による仮想デスクトップの構築、バンドル選定、AutoStop によるコスト最適化を解説します。