AWS IoT Core lets you reliably and securely connect billions of IoT devices and route trillions of IoT messages to AWS services and other devices without infrastructure management. You pay only for the specific components you use. There’s no minimum or mandatory usage service fee. You’re billed separately for Connectivity, Messaging, Device Shadow usage (device state storage), Registry usage (device metadata storage), and Rules Engine usage (message transformation and routing). This approach provides you with transparency and a low price regardless of your workload type.

AWS Free Tier with AWS IoT Core

The AWS Free Tier is available to AWS IoT Core customers for 12 months starting with the date on which you create your AWS account. When your free usage expires or if your application use exceeds the free usage tiers as outlined below, you simply pay the AWS IoT Core pricing rates.

  • 2,250,000 minutes of connection 
  • 500,000 messages
  • 225,000 Registry or Device Shadow operations
  • 250,000 rules triggered and 250,000 actions executed

For example, the Free Tier would allow you to run a 50-device workload, where each device:

  • Connects for 24 hours a day
  • Exchanges 300 messages per day (message size 5 KB or smaller) 
  • Makes 130 Registry or Device Shadow operations per day (Registry or Device Shadow record size 1 KB or smaller) 
  • Triggers 150 rule executions per day that invoke one action (processed message size 5 KB or smaller) 

The free usage tier applies across all AWS Regions except GovCloud (US) Region. 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.

Pricing at a glance

Connectivity

Connectivity provides a secure, authenticated connection between your devices and AWS IoT Core. Connectivity is metered in 1 minute increments and is based on the total time your devices are connected to AWS IoT Core.

For example, in the US East (N. Virginia) region you pay $0.042 per device per year (one connection * $0.08/1,000,000 minutes of connection * 525,600 minutes/year) for 24/7 connectivity. In order to maintain connectivity, devices may send keep-alive (“Ping”) messages at frequencies ranging from 20 minutes to every 30s, and you do not incur any additional cost for these messages. See additional connectivity pricing details »

Messaging

Messages transport device data to and from AWS IoT Core. Messaging is metered by the number of messages transmitted between your devices and AWS IoT Core.

For MQTT and HTTP, you do not incur messages cost for messages sent or received using the reserved topics of Basic Ingest or Alexa Voice Service Integration for AWS IoT Core

You may send and receive messages up to 128 kilobyte (KB) in size. Messages are metered in 5 KB increments. For example, an 8 KB message is metered as two messages.

See additional messaging pricing details »

 

Device Shadow & Registry

The Device Shadow stores the desired state or actual state of a device, and the Registry is used to name and manage devices. Use of Device Shadow and Registry is metered by the number of operations that access or modify Device Shadow or Registry data.

Device Shadow and Registry operations are metered in 1 KB increments of the Device Shadow or Registry record size. For example, an update to a 1.5 KB Device Shadow record is metered as two operations. See additional Device Shadow & Registry pricing details »

Rules Engine

Rules Engine allows you to transform device data using arithmetic operations or external functions such as AWS Lambda, and then route the data to an AWS service such as Amazon Simple Storage Service (Amazon S3), Amazon DynamoDB, or Amazon Kinesis. Rules Engine use is metered for each time a rule is triggered, and for the number of actions executed within a rule, with a minimum of one action per rule.

Rules and actions are metered in 5 KB increments of the message size. For example, a rule that processes a 5 KB message and executes no action is metered as one rule and one action, and a rule that processes an 8 KB message and executes two actions is metered as two rules and four actions. Additionally, for data transferred “in” to and “out” of certain rule actions from outside the region, the actions executed will be charged at the Amazon Elastic Compute Cloud (Amazon EC2) data transfer rates as listed here under “Data Transfer.” See additional Rules Engine pricing details here »

Device Advisor

Device Advisor is free to use. However, customers will be responsible for any costs associated with AWS usage as part of their testing (e.g. AWS IoT Core usage as part of testing or logs for each test in Amazon CloudWatch). The AWS resource usage will be visible to customers in their AWS account and charges for these will apply to the developers’ AWS bill.

Pricing examples for AWS IoT Core components

Connectivity charges

Example 1

You have 10,000 devices that maintain constant connection to AWS IoT Core in the Europe (Ireland) region for 30 days. The connectivity rate for the region is $0.08/1,000,000 minutes of connection. Your charges would be calculated as follows:

  • Minutes of connection = 10,000 connections * 60 minutes/hour * 24 hours/day * 30 days = 432,000,000 minutes of connection
  • Total Connectivity charges = 432,000,000 minutes of connection * $0.08/1,000,000 minutes of connection = $34.56

Example 2

In this example the same 10,000 devices connect to AWS IoT Core in the Europe (Ireland) region for just 15 minutes each hour, every hour for 30 days. Your charges would be calculated as follows:

  • Minutes of connection = 10,000 connections * 15 minutes/hour * 24 hours/day * 30 days = 108,000,000 minutes of connection
  • Total Connectivity charges = 108,000,000 minutes of connection * $0.08/1,000,000 minutes of connection = $8.64
 

Messaging charges

Example 1

Imagine you have one device that publishes one 2 KB message every hour to AWS IoT Core in the Europe (Ireland) region for 30 days. AWS IoT Core then delivers each (2 KB) message to five other devices in the same region. The MQTT and HTTP messaging rate for the first one billion messages is $1/1,000,000 messages. Your charges would be calculated as follows:

Publishing cost to the AWS IoT Core

  • Published message count: 1 message/hour * 24 hours/day * 30 days = 720 messages
  • Published message charges: 720 messages * $1/1,000,000 messages = $0.00072

Delivery cost to Devices

  • Delivered message count: 5 messages/hour * 24 hours/day * 30 days = 3,600 messages
  • Delivered message charges: 3,600 messages * $1/1,000,000 messages = $0.0036

Total Messaging Charges

  • Total messaging charges = Published message charges + Delivered message charges
  • Total messaging charges = $0.00072 + $0.0036 = $0.00432

Example 2

For this example, you have one device that publishes ten 8 KB messages every hour to AWS IoT Core in the Europe (Ireland) region for 30 days. Of those ten messages sent every hour, four are sent to AWS IoT Core Rules Engine via Basic Ingest. Because in this example you are using MQTT or HTTP, you do not incur messaging charges for the four messages sent or received using the Basic Ingest reserved topic. The other six messages are published at the rate of $1/1,000,000 messages for the first one billion messages. Your messaging charges would be calculated as follows:

Publishing cost to the AWS IoT Core

Since each message is larger than 5 KB, it is metered as two (5 KB) messages.

  • Published message count via Basic Ingest: 2 metered messages * (4 messages/hour * 24hours/day * 30 days) = 5,760 messages
  • Remaining published message count: 2 metered messages * (6 messages/hour * 24 hours/day * 30 days) = 8,640 messages
  • Messaging charges for published messages via Basic Ingest: 5,760 messages * $0 = Free
  • Messaging charges for remaining published messages: 8,640 messages * $1/1,000,000 messages = $0.00864

Total messaging charges = Messaging charges for published messages via Basic Ingest + Messaging charges for remaining published messages = $0 + $0.00864 = $0.00864

 
Example 3
 
You have one LoRaWAN device that publishes one message every 15 minutes (4 per hour) to AWS IoT Core LoRaWAN in the US East (N. Virginia) region for 30 days. Your application sends messages to the device twice every day to change the device state. The device also sends a joint request to secure the device session once every week (rounded to four weeks in this 30 day example). The LoRaWAN messaging pricing in US East (N. Virginia) for the first one billion messages is $2.3/1,000,000 messages. Your charges would be calculated as follows:
 
Uplink cost:
 
  • Uplink message count: 4 messages/hour * 24 hours/day * 30 days = 2,880 messages
  • Uplink message charges: 2,880 messages * $2.3/1,000,000 messages = $0.006624

Downlink cost:

  • Downlink message count: 2 messages/day * 30 days = 60 messages
  • Downlink message charges: 60 messages * $2.3/1,000,000 messages = $0.000138

Join cost:

  • Join message count: 1 message/week * 4 weeks = 4 messages
  • Join message charges = 4 messages * $2.3/1,000,000 messages = $0.0000092

Total Messaging Charges:

  • Total messaging charges = Uplink message charges + Downlink message charges + Join message charges
  • Total messaging charges = $0.006624 + $0.000138 + $0.0000092 = $0.0067712

Device Shadow & Registry charges

Example 1

You have 100 devices that trigger a total of 1,000,000 Device Shadow updates in the Canada (Central) region. The Device Shadow record size for each update is 1.5 KB. The Device Shadow and Registry rate for the Canada (Central) region is $1.25/1,000,000 operations. Your charges would be calculated as follows:

Since the Device Shadow size exceeds 1 KB, operations are metered at the next KB multiple (2 KB) as two operations.

Total Device Shadow charges = 2 operations * 1,000,000 updates * $1.25/1,000,000 operations = $2.50

Example 2

Your solution from above calls the ListThing API 100 times over 30 days. Each time, the API returns 500 records. The size of each record is 1 KB. Your charges would be calculated as follows:

Registry requests = 100 requests * 500 = 50,000 requests

Total Registry charges = 50,000 requests * $1.25/1,000,000 requests = $0.0625

Rules Engine charges

Example 1

You have 100 devices that trigger a total of 1,000,000 rules in the Canada (Central) region. Each rule forwards data to Amazon S3, thereby invoking one action. The rate for both the rules triggered and the actions executed in Canada (Central) is $0.15 (per million rules triggered / per million actions executed). Your charges would be calculated as follows:

  • Rules triggered charges = 1,000,000 rules triggered * $0.15/1,000,000 rules triggered = $0.15
  • Actions executed charges = 1,000,000 rules triggered * 1 action executed/rule triggered * $0.15/1,000,000 actions executed = $0.15

Total Rules Engine charges = Rules charges + Actions charges = $0.15 + $0.15 = $0.30

Example 2

For this example, the same 100 devices from above trigger a total of 1,000,000 rules in the Canada (Central) region. However, each also rule calls an external function and then forwards data to Amazon S3, thereby invoking two actions. Your charges would be calculated as follows:

  • Rules triggered charges = 1,000,000 rules triggered * $0.15/1,000,000 rules triggered = $0.15
  • Actions executed charges = 1,000,000 rules triggered * 2 actions executed/rule triggered * $0.15/1,000,000 actions executed = $0.30

Total Rules Engine Charges = Rules Charges + Actions Charges = $0.15 + $0.30 = $0.45

Pricing example for a workload using all AWS IoT Core components

You have 100,000 devices that maintain a constant connection to AWS IoT Core for 30 days in the Europe (Ireland) region. Each day, each device sends 325 messages of 1 KB in size. Of the 325 messages sent per device each day, 100 trigger a Device Shadow update and 200 trigger a rule that executes one action. Your charges would be calculated as follows:

Connectivity Charges

  • Minutes of connection = 100,000 connections * 60 minutes/hour * 24 hours/day * 30 days = 4,320,000,000 minutes of connection
  • Connectivity charges = 4,320,000,000 minutes of connection * $0.08/1,000,000 minutes of connection = $345.60

Messaging Charges

  • Messages = 100,000 devices * 325 messages/device-day * 30 days = 975,000,000 messages
  • Messaging charges = 975,000,000 messages * $1.00/1,000,000 messages = $975.00

Device Shadow & Registry Charges

  • Device Shadow requests = 100,000 devices * 100 requests/device-day * 30 days = 300,000,000 requests
  • Device Shadow size is less than 1 KB, so it is rounded up to the nearest KB (1 KB)
  • Device Shadow charges = 300,000,000 requests * $1.25/1,000,000 operations = $375.00

Rules Engine Charges  

  • Rules triggered = 100,000 devices * 200 rules triggered/device-day * 30 days = 600,000,000 rules triggered
  • Actions executed = 600,000,000 rules triggered * 1 action executed/rule triggered = 600,000,000 actions executed
  • Rules triggered charges = 600,000,000 rules triggered * $0.15/1,000,000 rules triggered = $90.00
  • Actions executed charges = 600,000,000 actions executed * $0.15/1,000,000 actions executed = $90.00

Total Rules Engine charges = $90.00 + $90.00 = $180.00

Total Workload Charges

  • Total charges = $346.60 + $975.00 + $375.00 + $180.00 = $1,876.60

Please note, AWS IoT Core does not involve the resale of telecommunication services and connectivity will be provided by third parties.

Discover more AWS IoT Core resources

Visit the resources page
Ready to get started?
Sign up
Have more questions?
Contact us