Azure IoT Hub と AWS IoT Core の比較: 機能と費用
Google Cloud IoT Core が終了した今、Azure IoT Hub と AWS IoT Core は、主要クラウドのマネージドなデバイスゲートウェイとして最も長い実績を持ちます (Oracle の新しい IoT Platform は、メッセージ単位ではなくコンピューティング単位で課金します。IoT プラットフォームの料金のしくみを参照)。どちらもデバイスを安全に接続し、テレメトリーを受け取って他のサービスに転送します。違いは課金のしかたと、設計に影響するいくつかの機能です。
各料金モデルの詳しい仕組みは、IoT プラットフォームの料金のしくみをご覧ください。このガイドでは 2 つを並べて比べます。
一覧
| Azure IoT Hub (Standard) | AWS IoT Core | |
|---|---|---|
| 料金モデル | 月額のユニット制で、ユニットごとに 1 日のメッセージ上限 | メッセージ、接続時間 (分)、ルール、アクションごとの従量課金 |
| メッセージの計測 | 4 KB ブロック | 5 KB ブロック |
| 他のサービスへの転送 | メッセージルーティングを内蔵 (ユニット価格に含まれる) | ルールエンジン (実行されたルールとアクションごとに課金) |
| デバイスの状態 | デバイスツイン | デバイスシャドウ (操作ごとに課金) |
| 大規模なプロビジョニング | Device Provisioning Service (別サービス、操作ごと) | フリートプロビジョニング (IoT Core の一部) |
| プロトコル | MQTT、AMQP、HTTPS (WebSocket 経由も可) | MQTT、HTTPS、WebSocket 経由の MQTT、LoRaWAN (IoT Core for LoRaWAN 経由) |
| エッジランタイム | Azure IoT Edge、ランタイムは無料 | AWS IoT Greengrass、稼働中のデバイスごと |
| 未使用の容量 | ユニット全体の上限分を支払う | 使った分だけ支払う |
どちらにも、試用向けの小さな無料枠があります。条件は変わるため、各ベンダーの最新の無料枠の条件を確認してください。
費用の発生源
Azure IoT Hub は、ユニットごとに定額を課金します。ユニットの 1 日の上限の範囲内なら、メッセージを増やしても追加費用はかからず、Event Hubs、ストレージ、Service Bus へのルーティングも含まれます。費用は段階的に動き、最も忙しい日が上限を超えると、ユニットを丸ごと 1 つ追加します (Basic 階層は安価ですが、クラウドからデバイスへのメッセージ、デバイスツイン、IoT Edge のサポートがなく、多くの産業向け設計では必要になります)。
AWS IoT Core には段階がありません。メッセージ 1 件、デバイスが接続している 1 分、ルールの一致、アクション 1 件ごとに少額が加算されます。メーターが 4 つに分かれているため予測しにくい面がありますが、請求は実際の使用量に近く連動し、動いていないデバイス群ならほとんど費用がかかりません。
どちらが安いか
1 つの答えはありませんが、傾向は一貫しています。
- 既知のデバイス群から安定して大量に届く場合は、IoT Hub が有利になりがちです。ユニットを購入すれば、その上限分は「無料」で、ルーティングも含まれます。
- 量が少ない場合や変動が大きい場合、またはデバイス群が成長中の場合は、余裕分に課金しない IoT Core が有利になりがちです。
- 接続したまま送信が少ない多数のデバイス (たとえば 15 分ごとに送信するセンサー) では、IoT Hub にはない AWS の接続時間 (分) 単位の課金が効いてきます。
- メッセージサイズは両方向に影響します。4.5 KB のメッセージは IoT Hub では 2 件ですが、IoT Core では 1 件です。メッセージサイズとバッチ処理を参照してください。
答えを最も早く出す方法は、ご自身の数値で試すことです。当サイトの見積もりツールは、負荷に対して最も安い IoT Hub の階層とユニット数を選び、AWS のすべてのメーターを現在のリスト価格で見積もります。
価格以外の観点
- すでにどちらかのクラウドを使っていますか? ゲートウェイが最大の費用になることはまれ (多くは時系列データベース) なので、システムの残りがあるクラウドにとどまるほうが重要なことが多いです。
- LoRaWAN が必要ですか? AWS にはマネージドの LoRaWAN ネットワークサーバーがあります。Azure ではパートナーのものを使います。
- デバイス管理の層なしで、単純な MQTT ブローカーが欲しいですか? Azure には Event Grid にも MQTT ブローカーがあり、IoT Hub とは料金体系が異なります。新しい設計では、こちらを使う例もあります。