---
id: "aws-iot-core"
type: "component"
kind: "iot-hub"
provider: "aws"
category: "messaging"
docs: "https://docs.aws.amazon.com/iot/latest/developerguide/what-is-aws-iot.html"
url: "https://localhost:3000/catalogue/components/aws-iot-core"
---

# AWS IoT Core

Managed device gateway and MQTT message broker with per-device X.509 identity, device shadows and fleet provisioning.

| | |
|---|---|
| Provider | [aws](https://localhost:3000/catalogue?provider=aws) |
| Kind | [IoT hub](https://localhost:3000/catalogue/kinds/iot-hub) |
| Category | Messaging |
| Official docs | [https://docs.aws.amazon.com/iot/latest/developerguide/what-is-aws-iot.html](https://docs.aws.amazon.com/iot/latest/developerguide/what-is-aws-iot.html) |

## Properties

| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| `concurrentConnectionsPerAccount` | integer | — | no | 500000 | inherited |
| `deviceCount` | integer | — | no | — | inherited |
| `deviceCredential` | enum | `x509-certificate`, `amazon-cognito`, `iam`, `custom-authorizer` | no | "x509-certificate" | inherited |
| `deviceProvisioning` | boolean | — | no | — | **true** |
| `deviceTwin` | boolean | — | no | — | **true** |
| `managed` | boolean | — | no | false | **true** |
| `maxPayloadKb` | integer | — | no | 128 | inherited |
| `messagesPerDayLimit` | integer | — | no | — | inherited |
| `perDeviceIdentity` | boolean | — | no | true | **true** |
| `persistentSessionExpirySeconds` | integer | — | no | 3600 | inherited |
| `protocol` | enum | `mqtt`, `amqp`, `http`, `multi`, `lorawan` | no | — | **"multi"** |

Bold values are the ones this component pins.

## Rules that apply · 0

No rule selects this kind or its category.

## Other products of the same kind · 21

- [IoT Platform](https://localhost:3000/catalogue/components/alibaba-iot-platform.md) `alibaba-iot-platform` — alibabacloud
- [Alibaba Cloud Link WAN](https://localhost:3000/catalogue/components/alibaba-link-wan.md) `alibaba-link-wan` — alibabacloud
- [AWS IoT Device Management](https://localhost:3000/catalogue/components/aws-iot-device-management.md) `aws-iot-device-management` — aws
- [AWS IoT FleetWise](https://localhost:3000/catalogue/components/aws-iot-fleetwise.md) `aws-iot-fleetwise` — aws
- [Managed integrations for AWS IoT Device Management](https://localhost:3000/catalogue/components/aws-iot-managed-integrations.md) `aws-iot-managed-integrations` — aws
- [AWS IoT SiteWise](https://localhost:3000/catalogue/components/aws-iot-sitewise.md) `aws-iot-sitewise` — aws
- [AWS IoT Core for LoRaWAN](https://localhost:3000/catalogue/components/aws-iot-wireless.md) `aws-iot-wireless` — aws
- [Amazon Monitron](https://localhost:3000/catalogue/components/aws-monitron.md) `aws-monitron` — aws
- [Device Update for IoT Hub](https://localhost:3000/catalogue/components/azure-device-update.md) `azure-device-update` — azure
- [Azure IoT Central](https://localhost:3000/catalogue/components/azure-iot-central.md) `azure-iot-central` — azure
- [Azure IoT Hub](https://localhost:3000/catalogue/components/azure-iot-hub.md) `azure-iot-hub` — azure
- [Eclipse Ditto](https://localhost:3000/catalogue/components/ditto.md) `ditto` — default
- [EMQX](https://localhost:3000/catalogue/components/emqx.md) `emqx` — default
- [HiveMQ](https://localhost:3000/catalogue/components/hivemq.md) `hivemq` — default
- [Eclipse Hono](https://localhost:3000/catalogue/components/hono.md) `hono` — default
- [Generic IoT hub](https://localhost:3000/catalogue/components/iot-hub.md) `iot-hub` — default
- [OPC UA server](https://localhost:3000/catalogue/components/opc-ua-server.md) `opc-ua-server` — default
- [ThingsBoard](https://localhost:3000/catalogue/components/thingsboard.md) `thingsboard` — default
- [VerneMQ](https://localhost:3000/catalogue/components/vernemq.md) `vernemq` — default
- [Manufacturing Connect](https://localhost:3000/catalogue/components/google-manufacturing-connect.md) `google-manufacturing-connect` — gcp
- [OCI Internet of Things Platform](https://localhost:3000/catalogue/components/oci-iot.md) `oci-iot` — oci

## Use it in a design

```yaml
nodes:
  - { id: "aws-iot-core", component: "aws-iot-core" }
```

## Source (`component` YAML, verbatim)

```yaml
# yaml-language-server: $schema=../../schema/component.schema.json
# AWS IoT Core: managed device gateway and message broker. "What is AWS IoT?" lists MQTT, MQTT over
# WSS and HTTPS on the broker; "AWS IoT security" states all traffic runs over TLS and each device
# carries its own credential; "AWS IoT Core endpoints and quotas" gives the 128 KB MQTT payload,
# the 500,000 concurrent connections per account and the 3600 s persistent session expiry.
schemaVersion: "1"
type: "component"
id: "aws-iot-core"
kind: "iot-hub"
provider: "aws"
docs: "https://docs.aws.amazon.com/iot/latest/developerguide/what-is-aws-iot.html"
defaults:
  protocol: "multi"
  perDeviceIdentity: true
  deviceTwin: true
  deviceProvisioning: true
  managed: true
properties:
  deviceCredential:
    type: "enum"
    values: ["x509-certificate", "amazon-cognito", "iam", "custom-authorizer"]
    default: "x509-certificate"
  maxPayloadKb:
    type: "integer"
    default: 128
  concurrentConnectionsPerAccount:
    type: "integer"
    default: 500000
  persistentSessionExpirySeconds:
    type: "integer"
    default: 3600
```

Human page: https://localhost:3000/catalogue/components/aws-iot-core
