AWS IoT見積もりツールのご紹介

まいど、大阪の市田です。
気がつけば、AWSのIoT関連サービスがとてもたくさん増えてきました。サービスも充実してきたので、そろそろIoTに挑戦しようという方も増えてきたのではないでしょうか?

まずは基本的な機能から試したいということなら、「AWS IoT Core」というサービスから利用することになると思います。

AWS IoT Core(デバイスをクラウドに接続)| AWS

そこで、いざ始める前に気になるのが、利用料金ですね。
「AWS IoT Core」の料金ページは下記になります。

料金 - AWS IoT Core | AWS

これを見ると色々と書かれていて、ページの内容から試算していくのは大変そうですね。。。

しかし、この面倒な見積もりを簡単にできるツールがAWSから提供されていますので、手作業で計算した場合と比較してみたいと思います。

見積もりの前提

課金項目はいくつかありますが、今回は「接続」「メッセージング」を例にしてみます。
また、下記の環境を仮の環境と想定して計算していきます。

  • リージョン:バージニア北部
  • デバイスの数:3000台
  • AWS IoT Coreと常時接続
  • 1つのデバイスとAWS IoT Coreとの間で送信される1日あたりのメッセージ数:20件
  • 1度のMQTTメッセージサイズは4KB

手作業で見積もる

まずは「接続」の料金を計算してみましょう。

バージニア北部リージョンでは「接続時間100万分あたり0.080 USD」なので、「接続時間1分あたり0.00000008 USD」です。
「1ヶ月は43200分(30日)」なので、1台のデバイスの接続料金の月額は「0.003456 USD/月」になります。

43200分 * 0.00000008 USD = 0.003456 USD

デバイス数は3000なので、全体の接続料金の月額は「10.368 USD/月」になりますね。

0.003456 USD/月 * 3000台 = 10.368 USD/月

次にメッセージングの料金を計算していきます。

先程と同じように、バージニア北部リージョンでは「メッセージ100万件あたり1.00 USD」なので、「一件あたり0.000001 USD」です。
また、メッセージ数は1つのデバイスあたり「20件/日」なので、月間のメッセージ数は「600件/月」です。
このことから、1台のデバイスのメッセージング月額は「0.0006 USD/月」となります。

デバイスは3000台あるので、全体のメッセージング料金の月額は「1.8 USD/月」になります。

0.0006 USD/月 * 3000台 = 1.8 USD/月

以上より、「接続」と「メッセージ」の合計の月額は「12.168 USD/月」と分かりました。

0.003456 USD/月(接続料金) + 1.8 USD/月(メッセージング料金)= 12.168 USD/月

分かってしまえば簡単ですが「忘れた頃にまた計算」なんていう場面になると、またドキュメントを見るのは回避したいところです。

次に「見積もりツール」を使って計算してみましょう。

AWS IoT Core 見積りツールで見積もる

先程の料金ページ「AWS IoT Core 見積りツール」というリンクがあるので、ここからツールをダウンロードしましょう。 ツールといっても計算式が埋め込まれたExcelなので、Excelが使える環境が必要になります。

00-price-iot-core

このExcelファイルを開くと、デバイス数やリージョンの指定を入力できるようになっています。 それでは、最初の前提通り、デバイス数など各種条件を入力してみましょう。

01-tool

数字を入れていくと、右側の料金欄(Estimated Price)に自動的に月額と年額が表示されています。月額合計は「$12」と表示されているので、手作業で計算した「12.168 USD」とほぼ一致しています。 各項目単位の月額も、項目名の右端に出力されています。これは便利ですね!

見積もりツールは直感的に分かるインターフェイスですが、入力した項目について簡単に説明します。

  • Devices:「デバイスの数」を入力します
  • AWS Region:利用するリージョンを選択します
  • Connectivity:1日の内で接続している時間を割合で指定します
  • Messaging:
    • Each device exchanges:1日で送信するMQTTメッセージの数を指定します
    • the Message Broker, with a size of:送受信される各メッセージサイズを指定します

このExcelシートや料金サイトにも書かれていますが、メッセージサイズは「5KBまでを1件」としてカウントされます。そのため一度に送るメッセージサイズが8KBの場合は、1件しか送らなくても「料金上は2件」としてカウントされます。

今回は、4KBの想定なので、1件として計算されています。

その他の課金項目

その他の「Rule Engine」「Device Shadow」「Registry」は任意項目になっています。

これらを使わなくてもAWS IoT Coreを使ったメッセージのやりとりはできるので、利用する場合は該当機能の横にあるチェックボックスを有効にして、数値を入力します。

下記は「Device Shadow」の例です。
想定として、Shadowに各デバイスが読み書きするのは「1日に10回」、各Shadowのサイズは4KBとしています。
Shadowレコードは1KB単位でカウントされるので、4KBは4回分とカウントされます。この辺りの計算も自動的に計算してくれるので便利ですね。

02-device-shadow

利用上の注意点

見積もりツールは簡単に概算見積もりができるので、とても便利ですが、利用にあたり次の注意点があります。

  1. 見積もりツールで算出される金額は概算であること
  2. すべての仕様詳細を踏まえた計算はできないこと

まず1つ目ですが、具体的に見てみましょう。
先程のDevice Shadowを上記と同じように手計算すると、Device Shadowの月額料金は「4.5 USD/月」になるのですが、見積もりツールでは「5 USD」と表示されていて、0.5ドル分ずれていますね。

これは、見積もりツール上のセルの書式設定で「通貨の小数点以下が四捨五入」されている為です。
先ほどの「接続」と「メッセージ」の月額が「12.168 USD」に対してツール上では「$12」と表示されたのも同じ理由ですが、「四捨五入される」と理解しておけば大きな問題にはならないかと思います。

次に2つ目です。
Device Shadowの場合は下記ページにあるように、更新メッセージは別途メッセージングの料金がかかります。
しかし、見積もりツールでは考慮されていない為、詳細に算出したい場合は、別途計算して合計額に追加する必要があります。

AWS IoT Additional Metering Details - Amazon Web Services

このように、必ずしもすべての細かい仕様を踏まえたものではないので、より詳しく把握しておきたい場合は、上記ページを一読しておくことをオススメします。

その他のIoT系サービス料金

AWSのIoTサービスには、「AWS IoT Core」の他にも数多くあり、それぞれの料金サイトは次の通りです。

これらの内、AWS IoT Analyticsは、AWS IoT Coreと同じように、上記サイトで専用の見積もりツール「AWS IoT Analytics 見積りツール」が公開されているので、ぜひご利用ください。

03-iota-excel

その他のサービスは残念ながら見積もりツールは提供されておらず、他の計算ツールも未対応なので公式ページの料金表から手作業で計算する必要があります。

最後に

注意しなければいけない点はありますが、基本的な利用料金をザックリ把握したい時に便利に使えるかと思います。