AWS IoT Core pricing
AWS IoT Core helps 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 for only the specific components that 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
AWS Free Tier is available to AWS IoT Core customers for 12 months starting with the date you create your AWS account. When your free usage expires or if your application use exceeds the free usage tiers as outlined below, you 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 applied
For example, the AWS Free Tier would help you 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)
- Initiates 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 the AWS GovCloud (US) Region. Your usage is calculated each month across all Regions and is automatically applied to your bill. 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 one-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. To maintain connectivity, devices can send keep-alive (Ping) messages at frequencies ranging from 20 minutes to every 30 seconds, 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 a messages cost for messages sent or received using the reserved topic of Basic Ingest.
You can send and receive messages up to 128 KB in size. Messages are metered in 5 KB increments. For example, an 8 KB message is metered as two messages.
AWS IoT Core for LoRaWAN
AWS IoT Core for LoRaWAN is a fully managed LoRaWAN Network Server (LNS) that enables customers to connect wireless devices that use the LoRaWAN protocol for low-power, long-range wide area network connectivity with the AWS Cloud. Using AWS IoT Core, customers can set up both public and private LoRaWAN network by connecting their LoRaWAN devices and gateways to the AWS Cloud—without the need to develop, maintain, or operate their own LoRaWAN Network Server.
With Firmware Update Over-the-Air (FUOTA), you can remotely deliver secure and reliable firmware updates to the devices in the field using LoRaWAN Multicast (MC) and fragmentation mechanisms defined by the LoRa Alliance. Each FUOTA is defined as a task.
If you create a FUOTA task for a group of 1,000 devices, you will be metered for 1,000 tasks. You get the first 100 FUOTA tasks for free.
LoRaWAN Metrics pricing
LoRaWAN Metrics is a premium feature designed to support your IoT fleet monitoring needs with additional system operating parameters. With this feature, you can efficiently monitor live and historical data of your LoRaWAN devices, gateways, and understand your fleet’s overall health status. It provides a comprehensive historical data tracking, allowing you to keep an eye on critical parameters like connection signal strength, data rate, and device/gateway uptime and downtime. It also provides valuable insights related to network performance and device reliability.
LoRaWAN Metrics uses a record-based metering capability. Upon activation, LoRaWAN Metrics feature processes, aggregates, and securely stores metadata for each uplink and downlink message from your devices and gateways to the cloud. This metadata, designated as a ‘record’ in the cloud, includes details, such as signal strength (RSSI), data rate, and frequency. You are charged based on per uplink or downlink record processed and stored in your account, with billing starting upon feature activation.
Device Shadow and registry
The Device Shadow stores the desired state or actual state of a device, and the registry is used to name and manage devices. Device Shadow and registry use are 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 »
Creating and updating dynamic groups, adding and removing devices from your dynamic thing groups are metered as registry operations.
Rules engine
The Rules Engine helps you transform device data using arithmetic operations or external functions such as AWS Lambda. It 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 each time a rule is initiated and for the number of actions applied 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 applies no action is metered as one rule and one action. Also, a rule that processes an 8 KB message and applies two actions is metered as two rules and four actions. For data transferred in-and-out of certain rule actions from outside the Region, the actions applied would be charged at the Amazon Elastic Compute Cloud (Amazon EC2) data transfer rates as listed here under Data Transfer.
Decoding a Protocol Buffer (Protobuf) encoded message to JavaScript Object Notation (JSON) format using decode() function is metered as “1 Action” by Rules Engine. However, Protobuf-to-JSON decode is not metered in increments of 5 KB. You pay for 1 Decode (Action) for decoding Protobuf messages up to the maximum payload size of 128 KB; however, you pay additional for Rules Triggered and Actions Executed as per regular metering.
See additional Rules Engine pricing details here »
Device Location
With AWS IoT Core Device Location, you can choose the cost-effective location technology that works for your business. When using Device Location, you can augment device data with location information to better complement the management of your device fleet.
If you also use Semtech’s Advanced Transport service (such as ROSE), you will be charged for the total amount of data transported per month. The first 50 MB is $0.145 per MB; if above 50 MB, the cost will be $0.116 per MB. We also offer a free tier for location solvers. You can use Device Location to resolve up to 1,000 locations for free, within the first 12 months starting with the date you created your AWS account. When your free usage expires or if your application use exceeds the free usage tiers, you would pay the usage rates. The free tier is available in all AWS Regions except AWS GovCloud (US).
Device Advisor
Device Advisor is generally free except for any costs associated with AWS usage as part of their testing (such as AWS IoT Core usage as part of testing or logs for each test in Amazon CloudWatch). AWS resource usage is visible in your 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
The same 10,000 devices as in the previous example connect to AWS IoT Core in the Europe (Ireland) Region for 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
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
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 10 messages sent every hour, four are sent to AWS IoT Core Rules Engine through Basic Ingest. Since 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 through 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 through 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 through Basic Ingest + Messaging charges for remaining published messages = $0 + $0.00864 = $0.00864
- 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 and registry charges
Example 1
You have 100 devices that initiate 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 the previous example 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 initiate a total of 1,000,000 rules in the Canada (Central) Region. Each rule forwards data to Amazon S3, invoking one action. The rate for both the rules triggered and the actions initiated in Canada (Central) is $0.15 (per million rules initiated / per million actions applied). Your charges would be calculated as follows:
- Rules initiated charges = 1,000,000 rules initiated * $0.15/1,000,000 rules initiated = $0.15
- Actions applied charges = 1,000,000 rules initiated * 1 action executed/rule initiated * $0.15/1,000,000 actions applied = $0.15
Total rules engine charges = Rules charges + Actions charges = $0.15 + $0.15 = $0.30
Example 2
The same 100 devices from the previous example initiate a total of 1,000,000 rules in the Canada (Central) Region. However, each rule also calls an external function and then forwards data to S3, invoking two actions. Your charges would be calculated as follows:
- Rules initiated charges = 1,000,000 rules initiated * $0.15/1,000,000 rules initiated = $0.15
- Actions applied charges = 1,000,000 rules initiated * 2 actions applied/rule initiated * $0.15/1,000,000 actions applied = $0.30
Total rules engine Charges = Rules charges + Action charges = $0.15 + $0.30 = $0.45
LoRaWAN Metrics charges
Example 1:
If you have one device publishing a message every hour to AWS IoT Core for LoRaWAN for 30 days and you enable the Metrics feature to process and store the message’s record (Metadata), then charges will be calculated as follows:
- Message count: 1 metered message/hour + * 24 hours/day * 30 days = 1,440 messages
- Metric record count: 1 metered record/hour + * 24 hours/day * 30 days = 1,440 records
- Total charge: 720 messages * $2.3/1,000,000 messages + 720 records * $2/1,000,000 records = $0.0016 + $0.0014 = $0.0030
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 initiated a Device Shadow update and 200 initiated a rule that applies 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 and 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 initiated = 100,000 devices * 200 rules initiated /device-day * 30 days = 600,000,000 rules initiated
- Actions applied = 600,000,000 rules initiated * 1 action executed/rule initiated = 600,000,000 actions applied
- Rules initiated charges = 600,000,000 rules initiated * $0.15/1,000,000 rules initiated = $90.00
- Actions applied charges = 600,000,000 actions applied * $0.15/1,000,000 actions applied = $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
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