目次
はじめに
以下のイメージ図のように、ボタン押したら自動で商品を注文するようにできたらいいなあと思い、「Amazon自動注文ボタン」を自作する方法を調べました。
事前調査したところ、「Amazon自動注文ボタン」を自作する方法としては、
以下のような方法があることがわかりました。
本ブログでは、「AWS IoT ボタン(AWS IoT Button Dev)+AWS IoT Core+AWS Lambda」で作った場合の費用を検討します。
その他の構成の検討については、以下のブログをご覧ください。
「AWS IoT ボタン(AWS IoT Button Dev)+AWS IoT Core+AWS Lambda」のイメージ図
「AWS IoT Button Dev」はスマホにバーチャルなAWS IoTボタンをインストールできるアプリです。
「AWS IoT Button Dev」をクリックすると、AWS上のLambda上の自動購入プログラムが実行されて、商品を購入するような流れとなります。
費用の検討
上で記載したシステムイメージを実現した場合の費用を見積もりました。
費用項目 | 初期費用 | ランニングコスト | 備考 |
---|---|---|---|
AWS IoT Button Dev | 0円 | 0円/月 | |
iPhone | 3,000円~ (中古iPhone想定) | 0円/月 (自宅Wi-Fi接続) | 中古iPhoneをもっているのなら、 わざわざ買わなくてもOK |
インターネット通信費 | ー円 | ー円/月 | 自宅既設のネット回線を使用するため、 費用はかからない想定 |
AWS IoT Core | ー円 | 0.0008円/月 | |
AWS Lambda | ー円 | 0.0015円/月 | |
合計 | 3,000円~ | 0.0023円/月 | |
AWS IoT Button Dev
「AWS IoT Button Dev」はスマホにバーチャルなAWS IoTボタンをインストールできるアプリです。
以前はアンドロイド版アプリもあったみたいですが、2021年7月時点ではiOSのみ対応していました。
iPhone
楽天の中古iPhoneを調べたところ、以下のような価格帯でした。(2021年8月時点)
- iPhone4S : 3,000円~5,000円
- iPhone5 : 3,000円~6,000円
- iPhone6S : 85,00円~10,000円
- iPhone7 : 12,000円~15,000円
AWS IoT Core
「AWS IoT Core」は、IoTデバイスをAWSクラウドに接続するサービスです。
AWS IoT Core を使用すれば、IoT デバイスを AWS クラウドに接続できます。サーバーをプロビジョニングまたは管理する必要はありません。
AWS IoT Core は、MQTT (メッセージキューとテレメトリトランスポート)、HTTPS (ハイパーテキスト転送プロトコル - セキュア)、MQTT over WSS (WebSockets セキュア)、および LoRaWAN (低電力長距離広域ネットワーク) をサポート
引用元:AWS IoT Core
価格については、HTTPを使ったメッセージングであれば、
メッセージ数に応じた料金がかかるようです。
※「アジアパシフィック(東京)リージョン」の場合
接続料金(MQTTを使った場合)
・接続料金: 0.096USD (接続 100 万分あたり)
・接続料金は、デバイスが AWS IoT Core に接続されていた時間の合計に基づいて 1 分単位で計算されます。メッセージング 料金
・MQTT および HTTP のメッセージング料金:1.20USD (メッセージ 100 万件あたり)
・メッセージングの使用量は、デバイスと AWS IoT Core の間で送信されたメッセージ数により計算されます。
・送受信できるメッセージのサイズは最大 128 キロバイト (KB) です。メッセージ数は 5 KB ごとに増加します。例えば、8 KB のメッセージは 2 件のメッセージとして計算されます。引用元:AWS IoT Core 料金
上記の料金をもとに「AWS Pricing Calculator」で月額料金を見積もってみました。
なお、料金を算出するにあたって、メッセージ数等の条件は以下としました。
- HTTPを使用
- メッセージング数は6回/月(1週間に1回+予備2回)
- メッセージの平均サイズを1KB
AWS Lambda
「AWS Lambda」は、サーバレスコンピューティングサービスで、AWS上のイベントに応じて、プログラムを実行することができます。
「AWS IoT Core」がボタンからの操作イベントを受信したら、「AWS IoT Core」から「AWS Lambda」上でプログラム実行を行うようにします。
AWS Lambda はサーバーレスコンピューティングサービスで、サーバーのプロビジョニングや管理、ワークロード対応のクラスタースケーリングロジックの作成、イベント統合の維持、ランタイムの管理を行わずにコードを実行できます。
Lambda を使用すれば、実質どのようなタイプのアプリケーションやバックエンドサービスでも管理を必要とせずに実行できます。
引用元:AWS Lambda
価格については、リクエスト数と実行時間によって課金されるようです。
※「アジアパシフィック(東京)リージョン」の場合
リクエスト
リクエスト 100 万件あたり 0.20USD実行時間
GB-秒あたり 0.0000166667USD引用元:AWS Lambda 料金
上記の料金をもとに「AWS Pricing Calculator」で月額料金を見積もってみました。
なお、料金を算出するにあたって、メッセージ数等の条件は以下としました。
- リクエスト数は6回/月(1週間に1回+予備2回)
- 実行時間は1秒とする(適当)
- 割り当てたメモリ量は最小の128MB
まとめ
「AWS IoT ボタン(AWS IoT Button Dev)+AWS IoT Core+AWS Lambda」で
Amazon自動注文ボタンを自作した場合、
初期費用とランニングコスト(月ごと)は以下だと分かりました。
構成案 | 初期費用[円] | ランニングコスト[円/月] |
---|---|---|
AWS IoT ボタン(AWS IoT Button Dev) +AWS IoT Core+AWS Lambda | 3,000円~ | 0.0023円/月 |
参考
以上!
コメント