AWS IoT Events makes it easy to detect and respond to changes indicated by IoT sensors and applications – such as malfunctioning machinery, a stuck conveyor belt, or a slowdown in production output – and automatically trigger actions or alerts in response. AWS IoT Events makes it possible to easily and cost effectively detect system-wide events and trigger appropriate actions to drive results such as optimizing manufacturing efficiency or improving production quality.
With AWS IoT Events, you pay only for what you use with no minimum fees or mandatory service usage.
Pricing at a glance
Message evaluations are metered in 1 KB increments each time the event detector logic evaluates an incoming message to determine whether an action or a state change should be triggered or not. A 1 KB message evaluated by a single event detector is metered as one message evaluation. A 2 KB message evaluated by a single event detector is metered as two message evaluations. A 1 KB message routed to 10 event detectors would be metered as 10 message evaluations.
Message evaluations are metered in 1 KB increments, and can trigger up to 2 external actions. Each set of 2 additional actions is metered as a new message evaluation.
AWS IoT Events can trigger actions to external AWS services when it detects a specified event or a state transition, such as invoking an AWS Lambda function to turn on a light when an occupancy sensor detects motion. There is no additional charge for triggering up to 2 such actions for each message evaluation. Incoming messages that trigger more than 2 actions are metered as additional message evaluations, in increments of 2 actions triggered. For example, the evaluation of a single message that triggers 2 actions will be treated as 1 message evaluation. The evaluation of a message that triggers 4 actions will be treated as 2 message evaluations.
The Alarms feature allows you to set up, visualize and manage rule-based alerts to assess equipment behavior and identify equipment performance issues. You are charged for every active instance of an alarm that evaluates a message. An alarm is considered active in a monthly billing period if it evaluates a message at least once during a month. You will be charged separately for message evaluations associated with an alarm. You will also incur incremental charges for AWS Lambda and Amazon Simple Notification Service (SNS) if you set up text notifications for alerts that are triggered by the alarm.
Alarms Pricing: $0.10 per alarm, per month
Pricing for alarms is the same across all AWS Regions in which AWS IoT Events is available.
AWS Free tier
AWS Free Tier is available for 12 months starting on the date you create your AWS account. As part of the AWS Free Tier, you receive your first 2,500 message evaluations per month for free during the 12-month free trial period. When your free usage expires or if your application use exceeds the free usage tiers, you simply pay the above rates. Your usage is calculated each month across all regions and is automatically applied to your bill. Note that free usage does not accumulate from one billing period to the next.
Example 1 – Simple message evaluations
A fleet of 500 trucks is modeled in AWS IoT Events with a single detector model (500 instances are automatically created based on input messages). The customer’s telematics application uses the onboard sensors on each truck to send data (1 KB payload) every 1 minute to evaluate the state of the truck. A state change (1 out of 5 message evaluations) results in an action to an Amazon SNS topic.
Number of message evaluations per truck: 1 message / minute * 60 minutes / hour * 24 hour / day * 30 days = 43,200 message evaluations per truck, per month
Total number of message evaluations for all trucks: 500 trucks * (43,200 message evaluations per truck) = 21,600,000 message evaluations per month
Total monthly charges = 21.6MM message evaluations in US East 1 Region * $15.00/MM message evaluations in US-East-1 Region = $324.00
Example 2 – Message evaluations with multiple actions
On top of example 1, say you now want to send every message to an MQTT (standard IoT messaging protocol) topic (1 external action), write to an Amazon DynamoDB table, and send a notification to the fleet operator using Amazon SNS whenever the state of any truck changes (assume that 1 out of every 5 message evaluations will result in a state change of the truck). The total monthly usage and charges are estimated as follows:
Inputs which trigger 1 action to MQTT topic: (4/5) * 21.6MM = 17.28MM
Number of message evaluations for inputs which trigger 1 action: 17.28MM
Inputs which trigger 3 actions (to MQTT topic, Amazon DynamoDB and Amazon SNS): (1/5) * 21.6MM = 4.32MM
Number of message evaluations for inputs which trigger 3 actions: 4.32MM * (2 message evaluations per input) = 8.64MM
Total number of message evaluations: 17.28MM + 8.64MM = 25.92MM message evaluations
Total monthly charges = 25.92MM message evaluations in US East 1 Region * $15.00/MM message evaluations in US-East-1 Region = $388.80
Example 3 – Message evaluations for large message sizes
On top of example 2, say you now want to evaluate 1.5 KB messages using AWS IoT Events instead of 1 KB messages. The total monthly usage and charges are estimated as follows:
Inputs which trigger 1 action to MQTT topic: 17.28MM
Number of message evaluations for inputs which trigger 1 action: 17.28MM * (2 message evaluations per input) = 34.56MM
Inputs which trigger 3 actions (to MQTT topic, Amazon DynamoDB and Amazon SNS): 4.32MM
Number of message evaluations for 1.5KB inputs which trigger 3 actions = 4.32MM * (3 message evaluations per input) = 12.96MM
Note: 1.5KB input with 3 actions will be treated as: 1 standard message evaluation + 1 incremental message evaluation for message size + 1 incremental message evaluation for 3 actions = 3 message evaluations per input
Total number of message evaluations = 34.56MM + 12.96MM = 47.52MM message evaluations
Total monthly charges = 47.52MM message evaluations in US East 1 Region * $15.00/MM message evaluations in US-East-1 Region = $712.80
Example 4 – Alarms
You have created a single alarm definition for a fleet of 500 trucks in AWS IoT Events. The customer’s telematics application uses onboard fuel level sensors to send fuel levels to the AWS cloud, and notifies the truck fleet manager when the fuel level in a truck goes below 10%. Based on the truck ID (key value) in the payload from each onboard sensor, one alarm is automatically created for each of the 500 trucks (500 alarms created), to detect when the fuel level in each truck goes below 10%.
In this example, we assume that each fuel level sensor sends data every 15 minutes. Each of these data points triggers an evaluation of the alarm. For each alarm, let’s say that the fleet manager using the telematics application responds by acknowledging, disabling or resetting the alarm 5 times each day. Finally, we assume that the alarm threshold is updated once by the alarm administrator during the month (alarm when fuel level in a truck goes below 5% instead of 10%). The state of the alarm for each truck is re-evaluated when a new fuel level value is available, the threshold is updated or when the fleet manager acts on the alarm.
Monthly charges for active alarms: $0.10/alarm/month in US-East-1 Region * 500 alarms = $50
Total number of message evaluations = Number of data points received + Number of threshold updates + Number of user actions
Number of data points received per alarm per month = 1 data point per 15 minutes * 60 minutes / hour * 24 hours/day * 30 days/month = 2,800
Number of threshold updates per alarm per month = 1
Number of user actions per alarm per month = 5 operator actions/day * 30 days/month = 150
Total number of message evaluations per alarm per month = 2,800 + 1 + 150 = 3,031
Monthly charges for message-evaluations = 3,031 message evaluations per alarm * 500 alarms * $15 / MM evaluations in US-East-1 Region = $22.73
Total monthly charges = $50 (monthly charge for active alarms) + $22.73 (for message evaluations) = $72.73 per month for 500 trucks