New users try Amazon IoT Core for free, get 500,000 messages/month, up to 12 months for free

 ✕

Amazon IoT Core additional metering details

Connectivity

Your device can ping as often as every 30s, with no charge for MQTT PINGREQ or PINGRESP messages.

Messaging

MQTT Message Metering
MQTT CONNECT Metered as the size of the message including "Will" topic size and "Will" message payload. If using MQTT5, the message is also metered on any additional string and binary variable-header properties and “Will” properties, such as user properties.
MQTT PUBACK (received from device) If using MQTT5, metered based on the size of the message including user properties. Otherwise, metered as a single 5 KB message.
MQTT SUBSCRIBE Metered on the size of the topic submitted in the Subscribe message, plus the size of any user properties sent (if using MQTT5).
MQTT PUBLISH (received from device) Metered on the size of the payload and topic in bytes. If using MQTT5, the size of the user properties, response topic, correlation data, and content type are also included in the “payload size” metered.
MQTT PUBLISH (sent by service) Metered on the size of the payload and topic in bytes. If using MQTT5, the size of the user properties, response topic, correlation data, and content type are also included in the “payload size” metered.
MQTT Retained Metered on the size of the payload and topic in bytes. If using MQTT5, the size of the user properties, response topic, correlation data, and content type are also included in the “payload size” metered. For MQTT inbound messages published with RETAIN flag, your account is metered for inbound MQTT Publish and for MQTT Retained

The following MQTT messages are excluded from metering:

  • MQTT PINGREQ
  • MQTT PINGRESP
  • MQTT DISCONNECT
  • MQTT CONNACK
  • MQTT PUBACK (sent by service)
  • MQTT SUBACK
  • MQTT UNSUBSCRIBE

MQTT messages transferred inside a WebSocket connection are metered like MQTT messages inside a mutually authenticated TLS connection.

HTTP Request and Response Metering
Requests Metered on the number of 5 KB messages needed to encode the body section of the HTTP request. If using the HTTP publish message API, the size of the user properties, response topic, correlation data, and content type are also included in the ”payload size” metered.
Negative Responses
If HTTP responses with HTTP response codes in the 4xx and 5xx range contains a body, Amazon IoT Core meters the number of 5 KB message needed to encode the response body

Registry

You are charged for a Registry operation each time you make a call to one of the following APIs:

  • AddThingToThingGroup
  • AttachThingPrincipal
  • CreateThing
  • CreateThingGroup
  • CreateThingType
  • DescribeThing
  • DescribeThingGroup
  • DescribeThingType
  • ListPrincipalThings
  • ListThingGroups
  • ListThingGroupsForThing
  • ListThingPrincipals
  • ListThings
  • ListThingsInThingGroup
  • ListThingTypes
  • UpdateThing
  • UpdateThingGroup
  • UpdateThingGroupsForThing
  • GetWirelessDeviceStatistics
  • GetWirelessGatewayStatistics

Note that for all List operations, metering takes into account total size of all records returned by API call. For example, if a ListThings API call returns (50) 2 KB Things from Registry, your request Is charged for (100) 1K increments, and is metered as 100 requests. If you opt-in for Registry Events, any update messages will be subject to messaging charges.

Device Shadow

Device Shadow operations are metered when you make an API call to GetThingShadow or UpdateThingShadow, or when an MQTT message creates, updates, or gets a Device Shadow. If you opt-in for Device Shadow updates, the update messages will be subject to messaging charges.

Rules Engine

A rule can invoke up to 10 actions, where an action is an external function call (e.g. get_thing_shadow(), amazon_lambda(), get_dynamodb()), or a call to an external service (e.g. Amazon S3, Amazon Kinesis, Amazon SNS). Arithmetic and logical SQL functions are not metered as actions. The following external functional call(s) are not metered as actions: get_secret().

A rule action that sends a message to a resource inside a customer's Amazon Virtual Private Cloud (VPC) will be metered with an additional action. This additional action does not count towards the 10 actions per rule limit. VPC is supported for the following rule action(s): Apache Kafka action.

A rule that is triggered will always meter at minimum one rule and one action. For example, a 5kb message that triggers one rule will meter one rule and one action even if it does not invoke any corresponding actions.

Rules that process a message generated by Amazon IoT Core are metered as a single rule, regardless of message size. For example, a 7KB Device Shadow document may publish a /delta or /documents message that is quite large, however any rules triggered by such an update will be metered as if the message were 5KB.

Standard EC2 data transfer rates listed here under “Data transfer” apply to the following rules actions(s): HTTP action.