Limits
Soft limits are adjustable through AWS Support; hard ones are not. Several defaults are lower in some regions — check the AWS IoT Core quotas page for the deployment’s region before designing against a number.
AWS limits
Limit |
Value |
S/H |
Notes |
|---|---|---|---|
Concurrent connections per account |
500,000 |
S |
|
Subscriptions per connection |
50 |
S |
Binds an app holding many, not a node |
Topic subscriptions per SUBSCRIBE |
8 |
H |
A node with many subgroups splits its subscribe |
MQTT payload |
128 KB |
H |
One params publish, node config, or timeseries batch |
Shadow document |
8 KB |
H |
Whole reported state; grows with device/param count |
Shadow JSON depth |
8 |
H |
|
Shadow name |
64 B |
H |
|
Topic slashes |
7 |
H |
|
Thing name |
128 B |
H |
Node IDs are 36-char UUIDs |
Indexable thing attributes (no thing type) |
3 |
H |
Things are created without a thing type, so 3 applies — not 50. |
Thing groups per thing |
10 |
H |
Admin groups only |
Thing group hierarchy depth |
7 |
H |
|
Direct child groups per thing group |
100 |
H |
|
Dynamic thing groups per account |
100 |
S |
|
QoS 1 retry duration |
1 h |
H |
How long a |
Unacked outbound publishes per client |
100 |
H |
|
In-flight shadow messages per thing |
10 |
H |
|
Rules per account / actions per rule |
1000 / 10 |
S / H |
This deployment defines 5 rules, 1–2 actions each |
Inline session policy (STS |
2048 chars |
H |
≈4 groups or 8 shared subgroups per user — see below |
ESP RainMaker Neo limits
Limit |
Value |
Notes |
|---|---|---|
Main groups per node |
1 |
A second association moves the node: old group unlinked, shadow, |
Subgroups per node |
3 |
|
Subgroups per group, nodes per group |
unbounded |
Only subgroups shared to a user cost session-policy budget |
Full-access groups per MQTT session |
4 |
Consequence of the 2048-char session policy; exceeding it fails credential issuance outright. See user_auth.md §3.3, group.md |
Shared subgroups per MQTT session |
~8 |
Same budget, cheaper per entry |
Sharing request validity |
24 h |
From creation |
Association request validity |
5 min |
DynamoDB TTL and a deadline the handlers enforce on read, since TTL deletion is only guaranteed within ~48 h. Refreshed on each status update, so the Matter verify → confirm leg gets a fresh 5 min. See node_assoc.md |
Node IDs per claimant |
20 |
Lifetime cap, operator-configurable; reservations are never deleted, so a removed node does not return its slot. See assisted-claiming.md |