AWS IoT Core のアイコン

AWS IoT Core

数十億台の IoT デバイスを安全に接続し、クラウドと双方向通信できるマネージドサービス

何ができるか

AWS IoT Core は、IoT デバイスをクラウドに安全に接続し、デバイスとクラウド間の双方向メッセージングを実現するフルマネージドサービスです。MQTT、HTTPS、MQTT over WebSocket などの軽量プロトコルに対応し、数十億台のデバイスと数兆件のメッセージを処理できます。デバイス認証、メッセージルーティング、デバイスシャドウ (デバイスの仮想的な状態管理) などの機能を提供します。

どのような場面で使うか

スマートホームデバイスの遠隔制御、工場の設備監視と予知保全、農業センサーによる環境データ収集、車両のテレマティクスデータ送信、スマートシティのインフラ監視、ウェアラブルデバイスからのヘルスデータ収集など、あらゆる IoT シナリオで活用されています。 この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。

身近な例え

郵便局の仕組みに例えるとわかりやすいでしょう。世界中に散らばるデバイス (差出人) からのメッセージ (手紙) を受け取り、宛先 (クラウドサービス) に確実に届けてくれます。さらに、クラウドからデバイスへの返信も可能で、双方向の通信を安全に仲介する役割を果たします。

IoT Core とは

AWS IoT Core は、IoT デバイスとクラウドアプリケーションを接続するためのマネージドメッセージブローカーです。従来、IoT システムの構築には、MQTT ブローカーの構築・運用、デバイス認証基盤の整備、メッセージルーティングの実装など、多くのインフラ作業が必要でした。IoT Core はこれらをフルマネージドで提供し、開発者はデバイスのファームウェアとクラウド側のビジネスロジックの開発に集中できます。

デバイス接続とセキュリティ

IoT Core は、X.509 証明書によるデバイス認証を標準でサポートしています。各デバイスに固有の証明書を発行し、TLS による暗号化通信を行うことで、なりすましや盗聴を防止します。IoT ポリシーにより、デバイスごとにアクセスできるトピックやアクションを細かく制御できます。カスタム認証機能を使えば、既存の認証基盤との統合も可能です。

メッセージルーティングとデバイスシャドウ

IoT Core のルールエンジンは、受信したメッセージを SQL ライクな構文でフィルタリングし、DynamoDB、S3、Lambda、Kinesis、SNS など 15 以上の AWS サービスに自動的にルーティングできます。デバイスシャドウ機能は、デバイスの最新状態をクラウド上に仮想的に保持する仕組みで、デバイスがオフラインの間もアプリケーションからデバイスの状態を参照・更新できます。デバイスが再接続した際に、シャドウとの差分が自動的に同期されます。

Azure・オンプレミスとの比較

Azure の対応サービス Azure IoT Hub
オンプレミスでの対応手段 Eclipse Mosquitto、HiveMQ

AWS の優位点

  • ルールエンジンにより SQL ライクな構文でメッセージをフィルタリングし、15 以上の AWS サービスに直接ルーティングできるため、サーバーレスな IoT バックエンドを最小限のコードで構築できる
  • デバイスシャドウ機能により、デバイスのオンライン・オフラインを問わず状態管理と同期が自動化され、不安定なネットワーク環境でも確実なデバイス制御を実現できる
  • X.509 証明書によるデバイス単位の認証と IoT ポリシーによるきめ細かなアクセス制御を標準で提供し、大規模 IoT 環境のセキュリティ管理を簡素化できる

注意点

  • MQTT プロトコルは軽量で低帯域環境に適しているが、デバイスのネットワーク環境によっては HTTPS の方が適切な場合もあるため、要件に応じてプロトコルを選択すること
  • デバイスシャドウはデバイスの状態管理に便利だが、大量のデバイスで頻繁に更新すると課金が増加するため、更新頻度の設計に注意が必要

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