あめがえるのITブログ

頑張りすぎない。ほどほどに頑張るブログ。

MQTTプロトコルについて調べてみた

AWS SAPの試験勉強をしなければいけないが夏の暑さにやられてやる気が起きない。そんな中またわけわからん単語が出てきたのでしかたなく調べてみた。。。

MQTTプロトコルとは

MQTT(Message Queuing Telemetry Transpot)は、リソースに制約のあるデバイスや低帯域幅、高遅延、または信頼性の低いネットワーク向けに設計された、軽量でパブリッシュ・サブスクライブに基づくメッセージプロトコルである。
aws.amazon.com

MQTTコンポーネント

 ・MQTTクライアント:サーバからMQTTライブラリを実行するマイクロコントローラーまでの任意のデバイス。クライアントがメッセージを送信している場合パブリッシャーとして機能し、メッセージを受信している場合サブスクライバーとして機能する。
 ・MQTTブローカー:異なるクライアント間でメッセージを調整するバックエンドシステム。ブローカーの役割は、メッセージの受信とフィルタリング、各メッセージをサブスクライブしているクライアントの識別、それらのクライアントへのメッセージの送信が含まれる。
※クラサバのIot版という感じですね。

AWSでMQTTを使用するサービス

 ・AWS MQ
 ・AWS Iot Core

AWS MQとAWS Iot Coreの違い

目的:
 ・AWS MQ: アクティブ・アクティブの冗長性を持つ高可用性のメッセージングサービスで、Apache ActiveMQ と RabbitMQ に基づいている。従来のアプリケーションでメッセージングブローカーが必要な場合、特にオンプレミスのブローカーからの移行の際に、AWS MQ が有用。
 ・AWS IoT Core: このサービスは、IoT デバイスクラウドアプリケーションの間の通信を可能にするために特化している。デバイスが安全に接続してメッセージを送受信できるようにするサービス。

主な機能:
 ・AWS MQ:
JMS、NMS、AMQP、STOMP、MQTT、WebSocket などの複数のプロトコルをサポート。マネージドなネットワークとハードウェア、自動化されたソフトウェアのアップグレード、自動化された障害回復機能など。標準的なメッセージング機能、トピックやキューのサポート。
 ・AWS IoT Core:
MQTT プロトコルのネイティブサポート(HTTP と WebSockets 経由の接続もサポート)。デバイスのシャドウ機能を提供し、デバイスの状態を保存、取得、設定する。ルールエンジンでメッセージをトリガーとして他のAWSサービスと統合。デバイスの認証と認可の強固なセキュリティ。

使用シナリオ:
 ・AWS MQ: エンタープライズアプリケーションのメッセージング、マイクロサービスのコミュニケーション、システム間のデータ転送など。
 ・AWS IoT Core: スマートホーム、工業オートメーション、ウェアラブル、スマートシティなどの IoT プロジェクトやアプリケーション。


感想

AWS SAPにIotが入ってくる時代ですね( ゚Д゚)ンマー