MENU

Soracom

Users

Amazon Kinesis Data Firehose アダプターを使用する (ユーザーコンソール版)

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

ステップ 1: 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)の設定は完了です。

ステップ 2: SORACOM Funnel を設定する

クレデンシャルの登録

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

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

Funnel

認証情報を登録します。

  • 認証情報 ID は、Funnel サービスから指定する当認証情報の ID です。
  • 必要に応じて概要を入力してください。
  • 種別では、「AWS 認証情報」を選択します。
  • 「AWS Access Key ID」、「AWS Secret Access Key」は、先ほど設定した IAM ユーザーの情報を入力してください。

Funnel

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

Funnel

クラウドサービスの指定

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

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

Funnel

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

Funnel

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

  • リソースタイプを選択します。ここでは、「Amazon Kinesis Firehose」を選択します。

  • リソース URL を入力します。

    • 東京リージョンの場合、以下のようなリソース URL となります。

      https://firehose.ap-northeast-1.amazonaws.com/<Delivery stream name>
      
  • 認証情報では、先ほど登録した AWS 認証情報を選択します。

  • 送信するデータの形式は、JSON を選択してください。

Funnel

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

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

いよいよデータを送信します。 SORACOM Air の SIM を先ほど Funnel の設定を行ったグループに所属させてください。

Funnel の エントリーポイント へリクエストを送信します。

  • 送信コマンド例
$ nc funnel.soracom.io 23080
{"message":"Hello SORACOM Funnel via TCP!"} [Enter]
200
[Ctrl+C]
  • 送信コマンド例
$ nc -u funnel.soracom.io 23080
{"message":"Hello SORACOM Funnel via UDP!"} [Enter]
200
[Ctrl+C]
  • 送信コマンド例
~$ 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

ステップ 4:収集されたデータを確認する

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"}

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