IoT Event Detection - AWS IoT Events End of Support and Migration Guide
AWS IoT Events reached end of support on May 20, 2026. This article explains the official migration targets, such as reimplementing state monitoring with Kinesis Data Streams + Lambda, and how detector models worked while the service was offered.
End of Support and Migration Targets
AWS IoT Events reached end of support on May 20, 2026. Acceptance of new customers ended on May 20, 2025. For migration, typical options are a configuration that reimplements detector-model-equivalent state monitoring with a combination such as Amazon Kinesis Data Streams + AWS Lambda, and a configuration that replaces the alarm feature with AWS IoT SiteWise alarms. Both are migration options that combine standard AWS services, and the design is tailored to your requirements. This article is kept as a historical record of how the service worked when it was offered + a migration guide.
Challenges of Monitoring IoT Device State
Monitoring IoT devices requires detecting not only simple threshold breaches but also complex state transitions. Examples include conditions such as "alert if the temperature stays above 80°C for 5 minutes or more" and "notify the maintenance team if the vibration value exceeds the normal range and does not return to normal within 10 minutes." Another is "mark the device as offline if 3 consecutive heartbeats are missed." If you implement these yourself with Lambda and DynamoDB, the state management logic becomes complex, and scaling challenges also arise as the number of devices grows. AWS IoT Events was a service that defined the state transitions of IoT devices as a detector model and ran automatic actions based on conditions. You could define the state machine in a visual editor, and an independent detector instance was generated automatically for each device.
Detector Models and Alarms
A detector model was a state machine made up of states, transition conditions, and actions. For example, a detector model for temperature monitoring defined three states, "normal," "warning," and "abnormal," and set state transitions based on temperature thresholds. You could run actions on entering each state (onEnter), while in it (onInput), and on exiting it (onExit). When you specified a key (the device ID) per device, an independent detector instance was created for each device, so you could manage the state of thousands of devices individually. The alarm feature was a simplified version of the detector model that set up monitoring based on a single threshold and sent SNS notifications or invoked Lambda when the threshold was exceeded. It was positioned so that the alarm feature was sufficient when complex state transitions were not needed.
Actions and Integration
The actions that could run on state transitions in a detector model were wide-ranging. Possible integrations included notifying operators with SNS, running custom logic with Lambda, and sending messages to SQS to trigger downstream processing. You could also publish MQTT messages to IoT Core to send commands to devices, write event logs to DynamoDB, and send data to Firehose to store it in S3. Configuring an IoT Core rule action to send data to IoT Events was the most common setup. When a device sent telemetry over MQTT, the IoT Core rule forwarded the data to IoT Events, and the detector model evaluated the state. With the BatchPutMessage API, you could also send data directly without going through IoT Core.
IoT Events Pricing
Because the service has reached end of support, the pricing below no longer exists (a record from when it was offered). IoT Events was billed by the number of message evaluations. Message evaluations were metered in 1 KB units, and in US East (N. Virginia) the price was $15 per 1 million evaluations up to 100 million per month, stepping down to $10, $5, and $3 per 1 million as usage increased. Alarms were billed in a separate category: $0.10 per month was added for each active alarm that evaluated a message at least once in the month, and the evaluations themselves were charged separately at the normal message evaluation rate. For example, 1,000 devices sending a 1 KB message at 1-minute intervals produced about 43.2 million evaluations per month, which came to about $648 in US East. In environments where evaluations surged, the standard approach to cost optimization was a design that pre-filtered with the IoT Core rules engine and forwarded only values near the threshold to IoT Events.
Detection Logic Using State Machines
The core of IoT Events was the detector model, which represented how a device's state changed. It was designed as a state machine that defined the states a device could take and the conditions for moving from one state to another. For example, you described transitions such as moving to the "warning" state when the temperature exceeded a certain level, to the "danger" state if it rose further, and back to the "normal" state when it returned to normal. Its strength was that it could detect events while taking into account state changes and durations, which are hard to capture with simple threshold monitoring. This idea of organizing device behavior as states to manage complex conditions in an understandable way remains valid in a reimplementation with Kinesis Data Streams + Lambda.
Use Cases and Operations
IoT Events was used in situations where the states of many devices were monitored and anomalies were handled automatically. Typical examples were monitoring the operating state of manufacturing equipment and starting notification or shutdown processing when signs of an anomaly were detected, and sending alerts to the person in charge when the temperature of air conditioning or refrigeration equipment went outside the standard. Detection could automatically trigger actions such as sending notifications or starting processing in other systems, and the same detection logic could be applied to many devices to monitor the entire fleet. As a result, consistent monitoring could be maintained even at large scale. This operating pattern of capturing state changes and responding automatically is a basic form that supports labor-saving operations and quick responses to anomalies. It can be carried over as-is to the reimplemented configuration.
Summary - Migration Guidelines
AWS IoT Events was a service that detected complex state transitions of IoT devices and ran automatic actions, but it reached end of support on May 20, 2026. In a common post-migration configuration, Kinesis Data Streams receives telemetry, Lambda evaluates the state transition logic, and services such as SNS run the actions. This combination is an example configuration that can reproduce detector-model-equivalent processing using only standard AWS services. The designs in this article, such as pre-filtering that processes only values near the threshold and independent state management per device, remain directly useful as references in the reimplemented configuration.
References (Official AWS Resources)
The primary sources for this page are the official AWS website and documentation. Check the official pages below for the latest specifications and pricing.
- AWS IoT Events official page
- AWS IoT Core official page
- AWS Lambda official page
- AWS Documentation (official)
If this page and the official documentation disagree, treat the official documentation as authoritative.