Funnel の Amazon Data Firehose アダプターを使用し、デバイスから送信するデータを Amazon S3 に収集します。
ステップ 1: Amazon Data Firehose を設定する
まず、クラウドサービス側の Amazon Data Firehose を設定します。
AWS (Amazon Web Services) のコンソールで
をクリックします。
をクリックします。
Amazon Data Firehose の管理画面で
をクリックします。
次に、以下のように
で「Amazon S3」を選択し、 に「my-kinesis-firehose01」を入力して、 を選択します。
Amazon Data Firehose サービスが使用する IAM ロールを選択します。ここでは、「Firehose delivery IAM role」を選択します。
以下のような画面が表示されたら、IAM ロールのアクセスを許可します。
IAM ロールを確認し、「Next」をクリックします。
設定内容を確認し、「Create Delivery Stream」をクリックし、Delivery Stream を作成します。
Amazon Data Firehose 実行用の AWS IAM ロールを IAM サービス から作成します。
- : 別の AWS アカウントを選択します。
- 日本カバレッジ:
762707677580
- グローバルカバレッジ:
950858143650
: SIM グループのカバレッジに応じて以下のとおり入力します。- 日本カバレッジ:
- : 任意の文字列を指定します。外部 ID は認証情報ストアに認証情報をメモします。
外部 ID の詳細は、AWS の以下のサイトをご覧ください。
次のステップに進み、Kinesis の実行を許可するポリシーをアタッチ (Amazon Data Firehose 作成時に IAM ロールが作成されますので、同じポリシーをアタッチしてください)、もしくは新規作成してアタッチしてロールを作成します。作成が完了したら、IAM ロールの ARN をメモします。
以上で、クラウドサービス側 (Amazon Data Firehose) の設定は完了です。
ステップ 2: SORACOM Funnel を設定する
クレデンシャルの登録
SORACOM コンソールで AWS IAM ロールの認証情報を登録します。
→ → → を選択します。
- : 認証情報の名称となりますのでわかりやすい文字列を指定します。
- : AWS IAM ロール認証情報を指定します。
- : ステップ 1 でメモした IAM ロールの ARN を入力します。
- : ステップ 1 でメモした外部 ID を入力します。
SORACOM Funnel を有効にする
Funnel の設定はグループに対して行います
ここでは、グループの設定を変更する操作のみを説明します。グループの仕組みやグループを作成する操作について詳しくは、グループ設定 を参照してください。
SIM グループ画面で
をクリックします。SIM グループ画面を表示する操作について詳しくは、グループの設定を変更する を参照してください。
スイッチをクリックして「ON」にします。
各項目を設定します。
項目 説明 「Amazon Data Firehose」を選択 データ送信先のクラウドサービスの URL を入力します。
東京リージョンの場合、以下のような転送先 URL となります。
https://firehose.ap-northeast-1.amazonaws.com/<Delivery stream name>
クレデンシャルの登録 で登録した AWS IAM ロール認証情報を選択 「JSON」を選択 をクリックします。
IoT SIM の Funnel の設定が完了しました。
ステップ 3: Amazon Data 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:収集されたデータを確認する
Amazon Data Firehose の出力先 (Destination) として指定した S3 Bucket を確認します。 以下のようにファイルが生成されていることが確認できます。
{"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 の Amazon Data Firehose アダプターを使用してクラウドにデータを収集する (コンソール版)」は完了です。