8
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[AWS IoT] Kinesis Firehoseに連携しAmazon S3へ保管

Posted at

#やりたかったこと
AWS IoTを入り口にKinesis Firehose経由でAmazon S3にファイルを保管する仕組みを作りました。ノーコーディングなので、だいたい1時間くらいで実装できます。
本当はRaspberry Piあたりもやろうかと思ったのですが、時間がないので省略しました。
AWS IoTのMQTT Clientというテストツールを使うとAmazon S3に以下のようにファイルができます。
AWS IoT Result.jpg

#仕組み
今回の連携図はこんな感じです。
IoT Overview.jpg
**AWSのサービス間は連携が優れています。この辺のサービスを作った結果の感想をマイクロサービス否定派が変節した経験に書いています。
初心者が疑問に思うのは
「Kinesis Firehoseいるの?」**です。私も最初はその状態でした。
Kinesis FirehoseがないとIoT情報を集約することができず、Amazon S3に生成されるファイル数が異常に増えてしまいます。
例えば、100台のマシンから1分ごとにリクエストを受けた場合の1時間のファイル数は以下のとおりになります。
Kinesis Firehoseなし:6000ファイル(100 * 60 = 6000)
Kinesis Firehoseあり:20ファイル(3分でサマリする0設定にした場合:60 / 3 = 20)

#設定1. Amazon S3
まず、Amazon S3から設定していきます。バケットを作るだけの簡単な作業です。
1.「バケットを作成」ボタンを押します。
01.AWS IoT 01 Create a S3 Bucket.jpg
2.バケット名入力とリージョン選択だけです。
01.AWS IoT 02 Create a S3 Bucket.jpg

#設定2. Kinesis Firehose
####1. Create Delivery Stream
まずは「Create Delivery Stream」ボタンを押します。
01.AWS IoT 03 Create Kinesis FH.jpg

####2. Destination
次にDestinationをAmazon S3にして先のステップで登録したバケット名を指定します。
01.AWS IoT 04 Create Kinesis FH.jpg
####3. Configuration
最後は細かい設定です。ほとんどはデフォルト値のままにして、「Buffer interval」だけ60(秒)にしました。この設定により、60秒間隔でAWS IoTからの情報を集約してAmazon S3にファイルを生成します。
01.AWS IoT 05 Create Kinesis FH.jpg
#設定3. AWS IoT
####1. Create a thing(1/2)
まずは「Create a thing」ボタンを押して"a thing"を作ることから始めます。
01.AWS IoT 06 IoT Create a Thing.jpg
####2. Create a thing(2/2)
次に"a thing"の情報を入力して登録します。
01.AWS IoT 07 IoT Create a Thing.jpg
####3. Create a rule(1/2)
"a thing"に続いてルールを登録するため「Create a rule」ボタンを押します。
01.AWS IoT 08 IoT Create a rule.jpg
####4. Create a rule(2/2)
ルールの情報を入力していきます。「Choose an action」で"Amazon Kinesis Firehose"を選択して、先のステップで登録したDelivery Streamを入力します。"Amazon Kinesis Firehose"のリージョンとAWS IoTのリージョンが一緒でないとプルダウンメニューに出てこないので注意してください。
01.AWS IoT 09 IoT Create a rule.jpg
#さいごに
これでAWS IoT→Amazon S3につながりました。Amazon S3はSparkやMapReduceなどからもアクセスできるので使いみち広がります!

以下の記事も併せて参考になるかと思います。

8
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?