10
1

More than 1 year has passed since last update.

はじめに

はじめまして、京セラコミュニケーションシステム 白井 (@kccs_tomoya-shirai)です。

巷では、Google Cloud IoT Coreのサービス終了で賑わっているかと思いますが、代替ソリューションについてはすでに検討されましたでしょうか。

本記事では、Cloud IoT Coreの代替ソリューションをご紹介します。

警告
2022年12月上旬時点の情報となります。
最新の情報は、各ベンダのサイトにてご確認ください。

この記事の対象者

  • Google Cloud IoT Coreを既に利用中のユーザ
  • 新規利用のため、Google Cloud IoT Coreに変わるソリューションをお探しの方

移行先の種類

移行先としては、Cloud IoT Coreと同等のサービスを独自に実装するパターン、外部のSaaSを利用するパターンに分かれるかと思います。

移行先 サービス名 メリット デメリット
独自開発 Rabbit MQ
Mosquitto
HiveMQなど
・IoT Coreと同等のI/Fを作成できる
・ロケーションが自由
・開発工数がかかる
・アーキテクチャ設計が必要
・非マネージドサービス
・HTTP BridgeとMQTT Bridgeをそれぞれ代替する必要がある
SaaS EMQX Cloud
HiveMQ Cloudなど
・MQTT Brokerを備える
・Edgeの管理機能を備える
・マネージドサービス
・HTTP Bridgeを利用している場合、考慮が必要
・デバイスの接続認証方式が変わる場合がある
・ロケーションの制限あり
・Pub/Subに直接連携出来ない

本記事では、移行までのスピードを考え、IoT Coreと同様のサービス提供形態である、SaaS型ソリューションのうち、EMQX CloudとHiveMQ Cloudを調査します。

選定方針として、AWS IoT CoreやAzure IoT Hubといったパブリッククラウドで提供されているサービスではなく、個別に契約ができるクラウドサービスで比較します。

移行先サービス

EMQX Cloud

EMQX CloudはEMQ社が提供するのIoT向けMQTTブローカーサービスです。

MQTT 5およびMQTT 3.1、MQTT 3.1.1に対応

MQTTトピック数やメッセージサイズ、レートなどの使用制限が無く、SQLベースのルール エンジンを使用して、AWS RDSやKafkaなどを始めとする、30以上のデータ統合が可能。

公式

ドキュメント

Hive MQ Cloud

HiveMQは、MQTTを使用した、エンタープライズ対応でスケーラブルなIoTサービス。

MQTT 5およびMQTT 3.xに100% 準拠。

IoTデータをエンタープライズ システムに柔軟に統合できるOpen APIと、Kafka、SQL、NoSQLデータベースなどの他のエンタープライズ システムにすばやく統合するためのビルド済み拡張機能を備えており、

エンタープライズ拡張機能を別途購入することで、Pub/Subへの出力やJWT認証にも対応します。

公式

ドキュメント

機能比較サマリ

EMQX HiveMQ
HTTP Bridge
MQTT Bridge
接続状態の管理
デバイスへのコマンド送信
デバイス接続認証 各パスワード認証
JWT認証
SCRAM認証など
ID,パスワード
公開鍵認証のアルゴリズム ES256可能 不可
認証方式 ユーザー名/パスワード認証、JWT、SASL/SCRAM 認証など ID、パスワード認証
課金 従量課金($0.36/h※Professional) 従量課金($0.10 /device monthly
$0.15 /GB monthly)※月額課金(1000デバイスまで)
展開方法 SaaS SaaS
監視
Pub/Sub連携
日本語サポート
リージョン 北米東部/アジアパシフィック(シンガポール・香港)/欧州 不明

詳細比較

EMQX

機能 ◯/✕ 備考 ソース
HTTP Bridge
※要確認
HTTPで接続可能とは記載されていない。不可能とも記載されていない。
⇒管理APIにPublishのAPIがあるので、それを用いてHTTPでメッセージ送信することはできるかも。
https://www.emqx.io/docs/en/v5.0/admin/api.html#/Publish
MQTT Bridge MQTT 5およびMQTT 3.1、MQTT 3.1.1に対応 https://docs.emqx.com/en/cloud/latest/intro/advance.html
接続状態の管理 ダッシュボードの提供は不明。REST API を介してオンライン デバイスのリストを取得可。 https://docs.emqx.com/en/cloud/latest/overview.html#product-capabilities
デバイスへのコマンド送信 サブスライブはできる。IoT Coreにように、Consoleから任意のコマンドを送信できるかは不明
デバイス接続認証 パスワード認証など ユーザー名/パスワード認証だけでなく、JWT、SASL/SCRAM 認証などの拡張認証もサポート https://docs.emqx.com/en/cloud/latest/deployments/auth.html#authentication
公開鍵認証のアルゴリズム JWT が対称シークレットを使用して署名を生成し、署名を検証(HS256、HS384、および HS512 アルゴリズムをサポート)。

公開鍵を使用して署名を検証 (RS256、RS384、RS512、ES256、ES384、および ES512 アルゴリズムをサポート)。※クラウド版には記載がないが、よくある質問に「EMQX Cloud は、EMQ がホストする EMQX Enterprise クラスター」と記載があるため、同様と思われる。
https://www.emqx.io/docs/en/v5.0/security/authn/jwt.html#authentication-principle
JWT認証方式 JWTによる認証可能 https://docs.emqx.com/en/cloud/latest/deployments/jwt_auth.html#jwt-authentication-rules
課金 従量課金($0.36/h※Professional) プレミアム版は要問い合わせ https://www.emqx.com/en/cloud/pricing
展開方法 SaaS https://docs.emqx.com/en/cloud/latest/quick_start/introduction.html#register-guide
監視 Prometheusメトリックに対応。PrometheusメトリックはCloudMonitoringと連携可能。またはErlangコンソールで監視可能。 https://docs.emqx.com/en/cloud/latest/deployments/monitors.html
Pub/Sub連携 GoogleCloudとの連携あり。 https://docs.emqx.com/en/cloud/latest/rule_engine/rule_engine_gcp_pubsub.html
日本語サポート 英語(おそらく中文も対応)のみ https://www.emqx.com/en/support
リージョン 北米東部/アジアパシフィック(シンガポール・香港)/欧州 AWS、Google Cloud、Microsoft Azure の 17 のリージョンで実行 https://www.emqx.com/en/cloud

Hive MQ

機能 ◯/✕ 備考 ソース
HTTP Bridge 対応してる文言は見つけられなかった。
MQTT Bridge MQTT 5およびMQTT 3.1、MQTT 3.1.1に対応 https://www.hivemq.com/mqtt-cloud-broker/
接続状態の管理 クライアントを監視できるとあるのでおそらく可能 https://www.hivemq.com/docs/hivemq-cloud/cluster-management.html#monitor-control-center
デバイスへのコマンド送信 サブスライブはできる。IoT Coreにように、Consoleから任意のコマンドを送信できるかは不明
デバイス接続認証 ID、パスワード ユーザID、パスワードの認証が基本。
HiveMQ Enterprise Security Extensionを利用すれば、LDAP、JWTなどにも対応可
https://www.hivemq.com/docs/hivemq-cloud/cluster-management.html#access-management
公開鍵認証のアルゴリズム ユーザID、パスワードの認証なので、公開鍵認証には対応していない
※HiveMQ Enterprise Security Extensionを利用すれば対応可だが、アルゴリズムは読み取れず。
JWT認証方式
※ライセンスが必要
HiveMQ Enterprise Security Extensionを利用 https://www.hivemq.com/docs/ese/4.9/enterprise-security-extension/ese-intro.html
課金 $ 0.10 /device monthly
$ 0.15 /GB monthly
月額課金(1000デバイスまで) 。PAY AS YOU GOの場合 https://www.hivemq.com/mqtt-cloud-broker/
展開方法 SaaS SaaS https://www.hivemq.com/docs/hivemq-cloud/introduction.html#access-your-first-cluster
監視 クライアントの監視あり https://www.hivemq.com/docs/hivemq-cloud/cluster-management.html#monitor-control-center
Pub/Sub連携
※ライセンスが必要
Pub/Subとの連携可
Kafka、Oracle、MongoDBなど
https://www.hivemq.com/docs/google-cloud-pubsub/4.9/google-cloud-pubsub-extension/google-cloud-pubsub-extension.html
日本語サポート 日本語サポートの文言は見当たらない。 https://www.hivemq.com/support/
リージョン 不明 展開先はAWSとAzureから選択できるが、リージョン指定可否は不明

おわりに

今回は2つのサービスを比較してみました。
標準プランでも機能が多いEMQX、追加のアドオンで機能を追加できるHive MQと、どちらも一長一短ありますので、デバイスが対応している認証方式、接続台数などで選択する感じでしょうか。

本記事が、皆様のプロダクトの選定のお役に立てますと幸いです。

10
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
1