SORACOM Users

SORACOM LTE-M Button を様々なクラウドや SaaS で活用するアーキテクチャー例

SORACOM LTE-M Button シリーズは、設定不要の eSIM+LTE-M でどこでもつながります。電源は交換可能な単4電池2本で、小型で持ち運びも可能で、ボタンやセンサーの情報を様々なクラウドや SaaS (Software as a Service)と連携することが可能です。

はじめに

当ガイドでは Amazon Web Services (以下 AWS)、 Microsoft Azure (以下 Azure)、 Google Cloud Platform (以下 GCP)、 IBM Cloud 4社の代表的なユースケースにおける連携方法を解説します。


Amazon Web Services (AWS) と組み合わせる

デザインパターン
ボタンアプリケーション構築を AWS で完結したい
button_design_patterns / Button - AWS IoT 1-Click + AWS Lambda
ボタンと AWS Lambda 連携をすばやく構築したい
button_design_patterns / Button - Funk - AWS Lambda
ボタンのデータ利用をサーバレスで実現したい
(例: Amazon SNS による Email 送信)
button_design_patterns / Button - Funnel - AWS IoT Core + Amazon SNS(Email)

ボタンアプリケーション構築を AWS で完結したい
― SORACOM LTE-M Button powered by AWS を利用する構成

ボタンアプリケーション構築を AWS で完結したい場合は、SORACOM LTE-M Button powered by AWS を利用することで AWS IoT 1-Click を通じて AWS Lambda と連携できます。

button_design_patterns / Button - AWS IoT 1-Click, AWS Lambda

具体的な方法は SORACOM LTE-M Button powered by AWS の Getting Started をご覧ください。

ボタンと AWS Lambda 連携をすばやく構築したい
― SORACOM Funk + AWS Lambda パターン

SORACOM LTE-M Button for Enterprise もしくは Plus からAWS Lambda 連携を迅速に構築したい場合は、SORACOM Funk から AWS Lambda を呼び出すパターンを利用します。

button_design_patterns / Button - Funk - AWS Lambda

具体的な方法は SORACOM Funk + AWS Lambda パターン をご覧ください。

ボタンのデータ利用をサーバレスで実現したい
― SORACOM Funnel + AWS IoT Core パターン

SORACOM LTE-M Button for Enterprise もしくは Plus のデータ利用をサーバレスで実現したい場合は、SORACOM Funnel を利用して AWS IoT Core を経由して AWS の各種サービスと連携するパターンを利用します。

button_design_patterns / Button - Funnel - AWS IoT Core + Amazon SNS(Email)

具体的な方法は SORACOM Funnel + AWS IoT Core パターン をご覧ください。


Microsoft Azure と組み合わせる

Azure の Faas である Azure Functions との組み合わせを実現するデザインパターンは以下の通りです。

デザインパターン
ボタンと Azure Functions 連携をすばやく構築したい
button_design_patterns / Button - Funk - Azure Functions
大量のボタンデバイスからのデータを確実に処理したい
button_design_patterns / Button - Funnel - Azure Event Hubs + Azure Functions

Azure Functions の呼び出しは SORACOM Funk を利用することで非常に容易に実現可能です。
一方、Azure Functions の Webhook の呼び出し制約から、大量のデータを常時受け付けるようなアプリケーションになる場合は SORACOM Funnel + Azure Event Hubs パターンも検討します。ただし、Azure Event Hubs は仮想サーバの課金体系に近く、データの発生頻度や量によっては費用が割高になる可能性もあるため、コスト面からの検討も必要となります。

ボタンと Azure Functions 連携をすばやく構築したい
― SORACOM Funk + Azure Functions パターン

ボタンと Azure Functions 連携をすばやく構築したい場合は、SORACOM Funk から Azure Functions を呼び出すパターンを利用します。

button_design_patterns / Button - Funk - Azure Functions

具体的な方法は SORACOM Funk + Azure Functions パターン をご覧ください。

大量のボタンデバイスからのデータを確実に処理したい
― SORACOM Funnel + Azure Event Hubs パターン

大量のボタンデバイスからのデータを確実に処理したい場合は、SORACOM Funnel から Azure Event Hubs を通じて Azure Functions を利用する方法があります。

button_design_patterns / Button - Funnel - Azure Event Hubs + Azure Functions

具体的な方法は SORACOM Funnel + Azure Event Hubs パターン をご覧ください。


Google Cloud Platform と組み合わせる

Google Cloud Platform(以下、GCP) の Faas である Google Cloud Functions (以下、Cloud Functions) との組み合わせを実現するデザインパターンは以下の通りです。

デザインパターン
ボタンと Google Cloud Functions 連携をすばやく構築したい
button_design_patterns / Button - Funk - Google Cloud Functions
関数の保護を手軽に実現したい、もしくは、大量のボタンデバイスからのデータを確実に処理したい
button_design_patterns / Button - Funnel - Google Cloud Pub/Sub + Google Cloud Functions

Cloud Function を安全に運用するためにはエンドポイント URL の保護が必要です。一方、Cloud Functions 単体でエンドポイント保護を行うためには多くの作業を行う※必要があります。
ここでは、 エンドポイント URL の難読化による保護と SORACOM Funk といった組み合わせと、 Google Cloud Pub/Sub (以下、Cloud Pub/Sub) による認証(保護)と SORACOM Funnel の組み合わせを紹介します。Cloud Pub/Sub は大量のデータを処理する基盤としても利用できるため、保護だけでなく大量のデバイスからの接続を受け付ける場合にも有用です。

※多くの作業: OAuth 画面を構成した後、サービスアカウントを作成、ロールの設定を行い、同アカウントの OAuth トークンをコマンドラインやブラウザを利用して生成・入手。また、トークンの有効期限が切れたら再発行する運用も必要となる。

ボタンと Google Cloud Functions 連携をすばやく構築したい
― SORACOM Funk + Google Cloud Functions パターン

ボタンと Google Cloud Functions 連携をすばやく構築したい場合は、SORACOM Funk から Cloud Functions を呼び出すパターンを利用します。

button_design_patterns / Button - Funk - Google Cloud Functions

具体的な方法は SORACOM Funk + Google Cloud Functions パターン をご覧ください。

関数の保護を手軽に実現したい、もしくは、大量のボタンデバイスからのデータを確実に処理したい
― SORACOM Funnel + Google Cloud Pub/Sub パターン

関数の保護を手軽に実現したい、もしくは、大量のボタンデバイスからのデータを確実に処理したい場合は、SORACOM Funnel から Google Cloud Pub/Sub を通じて Google Cloud Functions を呼び出すパターンを利用します。

button_design_patterns / Button - Funnel - Google Cloud Pub/Sub + Google Cloud Functions

具体的な方法は SORACOM Funnel + Google Cloud Pub/Sub パターン をご覧ください。

IBM Cloud と組み合わせる

IBM Cloud の Faas である IBM Cloud Functions との組み合わせを実現するデザインパターンは以下の通りです。

デザインパターン
button_design_patterns / Button - Beam - IBM Cloud Functions
IBM Cloud でボタンアプリケーションを構築したい方向け

IBM Cloud Functions は、それ自身で Webhook (HTTP トリガー) を受けることも可能であるため、SORACOM Beam からの利用が容易となっています。
標準では URL を知っていればどこからでもコール可能となっています。 HTTP リクエストを認証する仕組みは 追加で設定を行うことで可能です。

SORACOM Beam + IBM Cloud Functions パターン

IBM Cloud でボタンアプリケーションを構築したい場合は、SORACOM Beam から IBM Cloud Functions の Webhook を呼び出す方法があります。

button_design_patterns / Button - Beam - IBM Cloud Functions

具体的な方法は SORACOM Beam + IBM Cloud Functions パターン をご覧ください。

pagetop