IoTデバイスをAWSに接続する場合に、AWS IoT Coreを使っている方は多いかと思います。
一方でAWS IoT Coreのデメリットとして、費用がかなり高いことが挙げられます。
今回は、Baisc IngestによるAWS IoT Coreのコスト削減の仕方と注意点についてご紹介します。
AWS IoT Coreの簡単な概要
AWS IoT Core(以下、IoT Coreのみ)は、AWSが提供するインターネットに接続されたデバイスをクラウドに、低レイテンシーかつ高スループットで安全に接続するためのマネージドサービスです。
特徴としては、HTTP/MQTT通信への対応、デバイス証明書の管理、機器状態の保持(デバイスシャドウ)など、IoT機器をAWSで接続するための機能が提供されています。
通常のIoT Coreでは、publishされたメッセージはメッセージブローカーで管理され、機器やアプリから指定トピックのsubscribe、ルールエンジンによるクエリとアクション実行などが行われます。
Basic Ingestとは?
Basic Ingestとは、メッセージブローカーを介さずに、直接ルールエンジンに対してpublishする機能を指します。
Basic Ingestの利用ポイント
Basic Ingestはこんな時に有効です。
- ルールエンジンで処理を振り分けている
- 設定しているルール数が少なく、デバイス側の対応コストが小さい
- メッセージブローカーでの通信も残したまま、開発コストが低い部分でBasic Ingestを適用する
- IoT Coreのコストが非常に高額
一方で、Basic Ingestはこんな事例にはあまり効果はありません。
- subscribeしているトピックに対するpublish(AWSからIoT機器への通信など)
- 設定しているルール数が多く、デバイス側の対応コストが大きい
- メッセージコストが小さい
Basic Ingestによるコスト削減効果
Basic IngestによりIoT Coreのメッセージングコストが削減できます。
メッセージングコストは東京リージョンで1.20$/1Mメッセージなので、かなりのコスト削減効果が期待できるよ。メッセージングコストは下の表の黄色部分だよ。IoT Coreでかかるコストのうち、大部分を占めていることが分かるね。
例えば、接続料金+メッセージング+ルールエンジンを使っていた場合、1.656$/Mメッセージかかっていたのが、Basic Ingestを利用することで0.456$/Mメッセージと70%以上のコスト削減が見込めます。
大項目 | 小項目 | 料金 | 単位 |
接続 | 接続料金 | 0.096 | $/1M接続 |
MQTT/HTTP メッセージング | メッセージ10億件まで | 1.20 | $/1Mメッセージ |
メッセージ10億〜50億件 | 0.96 | $/1Mメッセージ | |
メッセージ50億件以上 | 0.84 | $/1Mメッセージ | |
デバイスシャドウと レジストリ | デバイスシャドウと レジストリ料金 | 1.50 | $/1Mオペレーション |
ルールエンジン | トリガーされたルール | 0.18 | $/1Mトリガールール |
実行されたアクション | 0.18 | $/1M実行アクション |
Basic Ingestの使い方
Basic Ingestは、トピックを以下のようにルール名を含めるようにするだけで使えます。
$aws/rules/{実行したいルール名}/{ルールのFROMで指定したトピック}
例えば、
- ルール名:testRuleName
- ルールのFROM指定のトピック名:device/{deviceId}/publish
- SQLとしては、device/#/publishのように指定する
のような形式になっている場合、以下のトピックにすることでBasic Ingestが使用できます。
$aws/rules/testRuleName/device/device0001/publish
Basic Ingest適用時の注意事項
Basic Ingest適用時の注意として、ルール名を含むBasic Ingest用トピックにもポリシーを忘れずに適用しましょう。
これを忘れると、うまくMQTTがpublishされません。個人的にハマったポイントです。
ポリシーに$aws/rules/{ルール名}/*を使用して、アクセス許可を指定しましょう。
AWSをイチから学ぶなら「RaiseTech」
また、クラウドサービスでトップシェアのAWSの技術を身につけてスキルアップや転職を考えているなら、「RaiseTech(レイズテック)」がオススメです。
現場で使われる技術にフォーカスして、ほかスクールにはない圧倒的なサポートをしてもらえるので、短期集中で環境構築、自動化、DevOpsなどのAWS技術を身に着けることができます。
「RaiseTech」とAWS認定での資格取得によるスキルアップで、もう一段上のエンジニアへステップアップしましょう!
また、AWSで人工知能(AI)もやりたいと考えている人は、完全オンラインのプログラミングスクール「Aidemy」もおすすめだよ。
まとめ
今回は、Baisc IngestによるAWS IoT Coreのコスト削減の仕方と注意点についてご紹介しました。
IoT Coreを利用している場合、Basic Ingestを使って、70%以上のコスト削減を試してみましょう。
コメント