SORACOM Developers

Getting Started

SORACOM Funnel の Kinesis Firehose アダプターを使用してクラウドにデータを収集する(コンソール版)

当ガイドでは、SORACOM Funnel (以下、Funnel) の Amazon Kinesis Firehose アダプターを使用し、デバイスから送信するデータを Amazon S3 に収集します。

Funnel の設定は、SORACOM ユーザーコンソールを使用しています。SDK を使用する場合は、SORACOM Funnel の Kinesis Firehose アダプターを使用してクラウドにデータを収集する( SDK 版) を参照してください。

また、サービスの詳細は 「SORACOM Funnelサービス概要ページ」 を、より詳細な技術仕様は「SORACOM Funnel機能詳細」をご覧ください。


はじめに

Funnel は、デバイスからのデータを特定のクラウドサービスに直接転送するクラウドリソースアダプターです。

クラウドサービス上のリソースを指定するだけで、デバイスからのデータを直接に収集できます。 SORACOM Beamとの大きな相違点は、送信先が汎用的なプロトコルではない一方で、最小限の手間で、迅速にクラウドサービスを利用できます。

Funnel概要


Amazon Kinesis Firehose の設定

まず、クラウドサービス側の Amazon Kinesis Firehose を設定します。 AWS (Amazon Web Services) のコンソールから「Kinesis」を選択します。

Funnel

「Go to Kinesis Firehose」をクリックします。

Funnel

Amazon Kinesis Firehose の管理画面から「ストリームを作成」を選択します。

Funnel

次に、以下のように Destination として「Amazon S3」、Delivery stream name に「my-kinesis-firehose01」を選択し、S3 bucket を選択します。

Funnel

Kinesis Firehose サービスが使用する IAM ロールを選択します。ここでは、「Firehose delivery IAM role」を選択します。

Funnel

以下のような画面が表示されたら、IAM ロールのアクセスを許可します。

Funnel

IAM ロールを確認し、「Next」をクリックします。

Funnel

設定内容を確認し、「Create Delivery Stream」をクリックし、Delivery Streamを作成します。

Funnel

次に、Kinesis Firehose にアクセスする IAM ユーザーを作成します。 AWS の IAM Management Console で、既存のユーザーもしくは、新規にユーザーを作成し、ポリシーをアタッチします。 以下では、Full Access をアタッチしています。

Funnel

以上で、クラウドサービス側(Amazon Kinesis Firehose)の設定は完了です。


SORACOM Funnel の設定

SORACOM 側(Funnel)の設定は、以下の2つのステップで完了します。

クレデンシャルの登録

まず、AWS にアクセスするためのクレデンシャル情報を登録します。 ユーザーコンソールにログインしてください。

画面左上部のプルダウンメニューから「セキュリティ」をクリックします。

Funnel

以下のような画面が表示されます。 左のメニューから「認証情報ストア」を選択し、「認証情報を登録」をクリックしてください。

Funnel

認証情報を登録します。

Funnel

以下のように「my-aws-credentials」という ID で認証情報を登録しました。

Funnel

クラウドサービスの指定

次に、クラウドサービスを指定します。Funnel の設定(クラウドサービスの指定)は Air SIM のグループに適用します。

以下のようにグループを作成してください。

Funnel

画面左上部のプルダウンメニューから「グループ」をクリックし、作成したグループを選択します。 以下のような画面が表示されます。

Funnel

「SORACOM Funnel 設定」のタブを開き、以下のようにクラウドサービスを指定します。

Funnel

以上で、設定は完了です。

Kinesis Firehose アダプターを使用してクラウドにデータを収集する

いよいよデータを送信します。 忘れずに、SORACOM Air の SIM を先ほど作成したグループに所属させてください。

Funnel

Funnel のエンドポイントに対し、リクエストを送信します。エンドポイントは、以下となります。

TCP で送信

$ nc funnel.soracom.io 23080
{"message":"Hello SORACOM Funnel via TCP!"} [Enter]
200
[Ctrl+C]

UDP で送信

$ nc -u funnel.soracom.io 23080
{"message":"Hello SORACOM Funnel via UDP!"} [Enter]
200
[Ctrl+C]

HTTP で送信

~$ curl -vX POST http://funnel.soracom.io -d '{"message":"Hello SORACOM Funnel via HTTP!"}' -H Content-Type:application/json
* Rebuilt URL to: http://funnel.soracom.io/
*   Trying 100.127.65.43...
* Connected to funnel.soracom.io (100.127.65.43) port 80 (#0)
> POST / HTTP/1.1
> Host: funnel.soracom.io
> User-Agent: curl/7.43.0
> Accept: */*
> Content-Type:application/json
> Content-Length: 44
>
* upload completely sent off: 44 out of 44 bytes
< HTTP/1.1 204 No Content
< Date: Thu, 14 Jan 2016 17:18:46 GMT
< Connection: keep-alive
<
* Connection #0 to host funnel.soracom.io left intact

収集されたデータを確認する

Kinesis Firehose の出力先 (Destination) として指定した S3 Bucket を確認します。 以下のようにファイルが生成されていることが確認できます。

Funnel

{"operatorId": "OP0026965167", "timestamp": 1455672330494, "destination": {"resourceUrl": "https://firehose.us-west-2.amazonaws.com/my-kinesis-firehose01", "service": "firehose", "provider": "aws"}, "credentialsId": "my-aws-credentials", "payloads": {"message": "Hello SORACOM Funnel via TCP!"}, "sourceProtocol": "tcp", "imsi": "440XXXXXXXXXX"}
{"operatorId": "OP0026965167", "timestamp": 1455672351248, "destination": {"resourceUrl": "https://firehose.us-west-2.amazonaws.com/my-kinesis-firehose01", "service": "firehose", "provider": "aws"}, "credentialsId": "my-aws-credentials", "payloads": {"message": "Hello SORACOM Funnel via UDP!"}, "sourceProtocol": "udp", "imsi": "440XXXXXXXXXX"}
{"operatorId": "OP0026965167", "timestamp": 1455672363539, "destination": {"resourceUrl": "https://firehose.us-west-2.amazonaws.com/my-kinesis-firehose01", "service": "firehose", "provider": "aws"}, "credentialsId": "my-aws-credentials", "payloads": {"message": "Hello SORACOM Funnel via HTTP!"}, "sourceProtocol": "http", "imsi": "440XXXXXXXXXX"}

エラーログの確認

Funnel では、直近2週間で発生したエラーログを保管しており、ユーザコンソールやAPIから確認できます。うまく通信できないときなどのデバッグに利用できます。

確認できるエラーログの内容は以下のとおりです。

注意
ログは直近2週間分のみ参照可能です。それより古いログは閲覧できませんので、ご注意ください。

ユーザーコンソールでは、ドロップダウンメニューの「ログ」からアクセスできます。

logs

以上で、「SORACOM Funnel の Kinesis Firehose アダプターを使用してクラウドにデータを収集する(コンソール版)」は完了です。

Funnel を使用することで、デバイスにクラウドサービスの SDK をいれる必要はありません。 また、クラウドサービスのクレデンシャル情報をデバイスに持つ必要もありません。

クラウドサービスのクレデンシャル情報とリソース URL を指定するのみで、デバイスから直接クラウドサービスにデータを送信することが可能となりました。 お客さまは最小限の手間で、迅速にデバイスとクラウドサービスを利用したシステムを使うことができるようになります。

Getting Started

SORACOM Air for セルラー

SORACOM Air for LoRaWAN

SORACOM Air for Sigfox

SORACOM Beam

SORACOM Canal/Direct/Door

SORACOM Endorse

SORACOM Funnel

SORACOM Gate

SORACOM Harvest

SORACOM Inventory

SORACOM Junction

SORACOM Krypton

SORACOM Lagoon

Gadgets

サービス機能詳細

Developer Tools

pagetop