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 実行用の AWS IAM ロールを IAM サービス から作成します。

IAM ロール作成

  • [指定されたエンティティの種類]: 別の AWS アカウントを選択します。
  • [アカウント ID]: SIM グループのカバレッジに応じて以下のとおり入力します。
    • 日本カバレッジ: 762707677580
    • グローバルカバレッジ: 950858143650
  • [外部 ID]: 任意の文字列を指定します。外部 ID は認証情報ストアに認証情報をメモします。

次のステップに進み、Kinesis の実行を許可するポリシーをアタッチ(KinesisFirehose作成時にIAMロールが作成されますので、同じポリシーをアタッチしてください)、もしくは新規作成してアタッチしてロールを作成します。作成が完了したら、IAM ロールの ARN をメモします。

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

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

クレデンシャルの登録 

SORACOM コンソールで AWS IAM ロールの認証情報を登録します。

[右上のユーザー名][セキュリティ][認証情報ストア][認証情報を登録] を選択します。

  • [認証情報 ID]: 認証情報の名称となりますのでわかりやすい文字列を指定します。
  • [種別]: AWS IAM ロール認証情報を指定します。
  • [ロール ARN]: ステップ 1 でメモした IAM ロールの ARN を入力します。
  • [外部 ID]: ステップ 1 でメモした外部 ID を入力します。

funk設定

SORACOM Funnel を有効にする 

Funnel の設定はグループに対して行います
ここでは、グループの設定を変更する操作のみを説明します。グループの仕組みやグループを作成する操作ついて詳しくは、グループ設定 を参照してください。
  1. SIM グループ画面で [SORACOM Funnel 設定] をクリックします。

    SIM グループ画面を表示する操作について詳しくは、グループの設定を変更する を参照してください。

  2. スイッチをクリックして「ON」にします。

    Funnel

  3. 以下のように設定します。

    • 転送先サービス: 「Amazon Kinesis Firehose」を選択します。

    • 転送先 URL: データ送信先のクラウドサービスの URL を入力します。

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

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

    • 送信データ形式: 「JSON」を選択します。

    Funnel

  4. [保存] をクリックします。

  5. IoT SIM が所属するグループを切り替えます。

    IoT SIM の 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 アダプターを使用してクラウドにデータを収集する (コンソール版)」は完了です。