Real-Time IoT Device Monitoring with Kinesis Data Analytics
Real-Time IoT Device Monitoring with Kinesis Data Analytics

The AWS Documentation website is getting a new look!
Try it now and let us know what you think. Switch to the new look >>

You can return to the original look by selecting English in the language selector above.

Architecture Overview

Deploying this solution builds the following environment in the AWS Cloud.


        Real-Time IoT Device Monitoring with Kinesis Data Analytics architectural overview

Figure 1: Real-Time IoT Device Monitoring with Kinesis Data Analytics architecture

The AWS CloudFormation template deploys an AWS IoT rule, two Amazon Kinesis Data Firehose delivery streams, Amazon Simple Storage Service (Amazon S3) buckets, a Kinesis data analytics application, an AWS Lambda function, an Amazon DynamoDB table, an Amazon Cognito user pool, an Amazon CloudFront distribution, and a real-time device monitoring dashboard to securely read and display the device connectivity and activity metrics stored in the DynamoDB table.

When AWS IoT ingests data from your connected devices, the AWS IoT rule sends the data to a Kinesis data delivery stream. The delivery stream archives the events in an Amazon S3 bucket and sends the data to a Kinesis data analytics application for processing. The application sends the processed data to a Lambda function that sends it in real-time to a DynamoDB table to be stored. The application also sends processed data to a second Kinesis data delivery stream which archives it in an Amazon S3 bucket.

The solution also creates an Amazon Cognito user pool, an Amazon CloudFront distribution, and a real-time dashboard hosted in an Amazon S3 bucket to securely read and display the device activity stored in the DynamoDB table.