Amazon Web Services (AWS) provides many services to help customers build serverless IoT applications that gather, process, analyze, and act on connected device data, without having to manage any infrastructure, which can help reduce costs and increase productivity and innovation. But, it can be a challenge to test IoT applications and backend services without a large pool of connected devices.

To help customers more easily test device integration and IoT backend services, AWS offers the IoT Device Simulator solution. This solution provides a web-based graphical user interface (GUI) console that enables customers to create and simulate hundreds of virtual connected devices, without having to configure and manage physical devices, or develop time-consuming scripts.  

This webpage provides best practices and guidance to consider when choosing a device-simulation solution, as well as an overview of the IoT Device Simulator.


AWS offers a device simulation solution that enables customers to build a large fleet of virtual connected devices (widgets) from a user-defined template and simulate those widgets publishing data at regular intervals to AWS IoT. You can also monitor individual widgets from the simulator or observe how backend services are processing the data. The diagram below presents the architecture you can deploy in minutes using the solution's implementation guide and accompanying AWS CloudFormation template.

  1. The IoT Device Simulator includes a device simulator API, which leverages Amazon API Gateway to invoke the solution’s microservices (AWS Lambda functions). These microservices provide the business logic to perform operations on virtual devices and device types, record simulation metrics, and perform administration tasks. 
  2. When the device simulator API receives an authorized request, Amazon API Gateway invokes the appropriate Lambda function. The Lambda function returns the execution results to the API, which returns the results to the simulator console.
  3. When a device simulation request is received, the device microservice sends the request to a simulation queue in Amazon Simple Queue Service (Amazon SQS). Amazon Elastic Container Service (Amazon ECS) containers provisioned by AWS Fargate contain a simulation engine that periodically polls the simulation queue for simulation requests.
  4. When a start simulation request is received, the simulation engine launches a virtual device that starts publishing simulated data to the AWS IoT endpoint. After the specified duration, the simulation engine stops the simulation, terminates the virtual device, and updates the device state and metrics in Amazon DynamoDB.
  5. A simulation console displays information about virtual devices and device types, simulation states, and user profiles. You use the console to create and terminate virtual devices, start and stop simulations, and view metrics.
Deploy Solution
Implementation Guide

What you'll accomplish:

Deploy the IoT Device Simulator using AWS CloudFormation. The AWS CloudFormation template will automatically launch and configure the components necessary to create and simulate hundreds of connected devices, without having to configure and manage physical devices, or develop time-consuming scripts.

Automatically deploy a simulation console that displays information about virtual devices and device types, simulation states, and user profiles.

What you'll need before starting:

An AWS account: You will need an AWS account to begin provisioning resources. Sign up for AWS.

Skill level: This solution is intended for IT infrastructure architects, administrators, and DevOps professionals who have practical experience architecting on the AWS Cloud.

Q: How many devices can I create at one time?

With the IoT Device Simulator, you can create up to 25 virtual IoT devices at a time. For example, to launch 100 virtual devices, you can create four batches of 25 devices.  

Q: How many simulations can I run at one time?

This solution allows you to run up to 1,000 simultaneous simulations across the simulation engine. Each virtual IoT device is one simulation. If you request more than 1,000 simulations at a given time, they will be queued and executed when the number of current simulations is less than 1,000.

Q: Can I create a virtual fleet of connected vehicles?

The solution includes a pre-built automotive module that you can use to simulate vehicle telemetry data using pre-defined device types. The automotive module uses a power train simulation model to generate simulated vehicle telemetry data. You can also leverage the location features of Mapbox to provide a map for your simulated vehicles. For more information, see the implementation guide.

Q: Can I deploy this solution in any AWS Region?

This solution uses the AWS Fargate service, which is currently available in specific AWS Regions only. Therefore, you must deploy this solution in a region where AWS Fargate is available. For more information, see AWS service availability by region.

Tell us what you think