← Blog IoT

AWS IoT Core: przewodnik dla producentów urządzeń IoT

Diagram architektury AWS IoT Core łączącej flotę urządzeń IoT z chmurą AWS przez MQTT i certyfikaty X.509
AWS IoT Core jako centralny broker MQTT między flotą urządzeń a usługami chmury AWS.

AWS IoT Core to zarządzana usługa chmurowa Amazon Web Services, która łączy urządzenia IoT z chmurą i pozwala im bezpiecznie wymieniać dane w skali milionów połączeń. Dla producentów urządzeń IoT jest to fundament backendu: broker komunikacyjny, warstwa uwierzytelniania i silnik reguł w jednym. W tym przewodniku pokazujemy, jak działa AWS IoT Core i kiedy wybrać go zamiast alternatyw.

W skrócie: AWS IoT Core łączy urządzenia przez protokół MQTT z wzajemnym uwierzytelnianiem certyfikatami X.509, kieruje telemetrię do usług AWS przez Rules Engine, utrzymuje stan urządzeń w Device Shadow i pozwala wdrażać tysiące urządzeń dzięki Fleet Provisioning — a wszystko jest rozliczane według rzeczywistego użycia.

Czym jest AWS IoT Core?

AWS IoT Core to zarządzany broker wiadomości i platforma łączności dla urządzeń IoT w ekosystemie Amazon Web Services. Sercem usługi jest Device Gateway — broker publish-subscribe obsługujący protokół MQTT (wersje 3.1.1 i 5.0), MQTT over WebSocket oraz HTTPS, a także natywnie sieci LoRaWAN.

W praktyce AWS IoT Core zdejmuje z zespołu inżynierskiego trzy trudne problemy: skalowanie brokera do milionów jednoczesnych połączeń, bezpieczne uwierzytelnianie każdego urządzenia oraz integrację strumienia telemetrii z resztą chmury. Producent skupia się na firmware i hardware, a nie na utrzymaniu infrastruktury komunikacyjnej.

Jak działa uwierzytelnianie urządzeń w AWS IoT Core?

Uwierzytelnianie w AWS IoT Core opiera się domyślnie na wzajemnym TLS (mutual TLS) z certyfikatami X.509 — każde urządzenie ma unikalny certyfikat oraz klucz prywatny, a serwer weryfikuje jego tożsamość przy każdym połączeniu. To model zero-trust: bez ważnego certyfikatu połączenie w ogóle nie zostaje nawiązane.

Oprócz certyfikatów X.509 usługa obsługuje uwierzytelnianie AWS SigV4, Amazon Cognito oraz własne autoryzatory oparte na AWS Lambda. Uprawnienia definiują polityki AWS IoT w formacie JSON, które precyzują dozwolone akcje (iot:Connect, iot:Publish, iot:Subscribe) i tematy MQTT. Dzięki zmiennym polityk, na przykład iot:Connection.Thing.ThingName, jedna polityka bezpiecznie obsługuje całą flotę, bo urządzenie publikuje wyłącznie do własnych tematów.

Device Shadow i Rules Engine: jak przepływają dane?

Device Shadow to trwały dokument JSON w chmurze, który odzwierciedla stan urządzenia nawet wtedy, gdy jest ono offline. Zawiera sekcje desired (stan pożądany), reported (stan zgłoszony) oraz delta (różnicę), dzięki czemu aplikacja może zmienić konfigurację urządzenia, a ono zsynchronizuje ją po powrocie do sieci.

Rules Engine to silnik reguł ze składnią zbliżoną do SQL, który filtruje i kieruje wiadomości MQTT do innych usług bez pisania serwera pośredniczącego. Jedną regułą zapiszesz telemetrię do bazy szeregów czasowych, wywołasz funkcję Lambda i wyślesz alert. Typowe cele reguł to:

  • AWS Lambda — logika biznesowa i transformacje w locie;
  • Amazon DynamoDB / Timestream — trwałe przechowywanie telemetrii;
  • Amazon S3 — archiwizacja surowych danych i data lake;
  • Amazon Kinesis, SNS, SQS — strumieniowanie i powiadomienia.

Fleet Provisioning: jak wdrożyć tysiące urządzeń?

Fleet Provisioning to mechanizm masowego, bezobsługowego rejestrowania urządzeń w AWS IoT Core na podstawie szablonów prowizjonowania. Zamiast ręcznie wgrywać certyfikat do każdej sztuki na linii produkcyjnej, urządzenie samo pobiera i aktywuje własną tożsamość przy pierwszym uruchomieniu.

Dostępne są dwa podejścia: prowizjonowanie przez certyfikat roszczeniowy (claim certificate) wspólny dla partii oraz Just-in-Time Provisioning (JITP) oparte na zaufanym urzędzie certyfikacji. To naturalne rozszerzenie strategii zero-touch provisioning. Po wdrożeniu flotą zarządzasz przez AWS IoT Device Management, w tym zdalne aktualizacje OTA firmware realizowane jako zadania (Jobs).

AWS IoT Greengrass: przetwarzanie na brzegu sieci

AWS IoT Greengrass to środowisko uruchomieniowe, które przenosi logikę AWS IoT na brzeg sieci — bezpośrednio na bramkę lub urządzenie. Pozwala wykonywać funkcje, kontenery i modele uczenia maszynowego lokalnie, buforować dane oraz działać offline, gdy łączność z chmurą jest niestabilna.

Greengrass to właściwy wybór, gdy liczą się niskie opóźnienia, ograniczenie kosztów transferu lub prywatność danych. To praktyczne zastosowanie edge computing: model uczenia maszynowego lokalnie klasyfikuje anomalie, a do chmury trafiają tylko istotne zdarzenia zamiast surowego strumienia z każdego czujnika.

AWS IoT Core vs Azure IoT Hub: co wybrać?

AWS IoT Core i Azure IoT Hub oferują zbliżony zestaw funkcji: broker MQTT, uwierzytelnianie X.509, cyfrowe bliźniaki stanu urządzeń i masowe prowizjonowanie. Różnica leży w ekosystemie, w którym budujesz resztę systemu — jeśli backend, analityka i aplikacje działają już w danej chmurze, wybierz tę samą platformę, aby uprościć integrację i rozliczenia.

AWS wyróżnia Rules Engine z bogatym zestawem natywnych celów oraz dojrzały Greengrass na brzegu. Microsoft z kolei mocno integruje Azure IoT Hub z Device Provisioning Service i ekosystemem danych Azure. W FSS wdrażamy oba warianty i dobieramy platformę do wymagań projektu, a nie odwrotnie.

Ile kosztuje AWS IoT Core?

AWS IoT Core rozlicza się według rzeczywistego użycia, bez opłat wstępnych i minimów. Koszt składa się z kilku niezależnych wymiarów, więc płacisz tylko za rzeczywiste zużycie floty:

  • Łączność — rzędu 0,08 USD za milion minut połączenia;
  • Wiadomości — około 1 USD za milion, liczone w blokach po 5 KB;
  • Device Shadow i rejestr — za milion operacji na dokumentach stanu;
  • Rules Engine — za milion uruchomionych reguł oraz wykonanych akcji.

Ceny różnią się między regionami, dlatego przed wdrożeniem warto oszacować wolumen wiadomości i skorzystać z kalkulatora AWS. Dla typowej floty przemysłowej dominującym kosztem są zwykle wiadomości, a nie sama łączność.

Najczęściej zadawane pytania (FAQ)

Czym różni się AWS IoT Core od zwykłego brokera MQTT?

AWS IoT Core to zarządzany broker MQTT rozszerzony o usługi chmurowe: uwierzytelnianie X.509, reguły kierujące dane do ponad 20 serwisów AWS, Device Shadow oraz masowe prowizjonowanie floty. Zwykły broker, np. Mosquitto, obsługuje jedynie publish-subscribe — bez integracji, autoryzacji per-urządzenie i skalowania do milionów połączeń.

Czy AWS IoT Core obsługuje urządzenia offline?

Tak. Device Shadow przechowuje ostatni znany stan urządzenia w chmurze, więc aplikacje odczytują i ustawiają parametry, gdy urządzenie jest offline. Po ponownym połączeniu urządzenie otrzymuje różnicę stanu (delta) i synchronizuje konfigurację. Do pracy w pełni lokalnej służy AWS IoT Greengrass.

Ile kosztuje uruchomienie AWS IoT Core?

AWS IoT Core rozlicza się według użycia, bez opłat wstępnych: osobno za połączenia (rzędu 0,08 USD za milion minut), wiadomości (około 1 USD za milion, bloki po 5 KB), operacje Device Shadow oraz reguły. Dla floty 10 000 urządzeń wysyłających telemetrię co minutę to zwykle kilkadziesiąt do kilkuset USD miesięcznie, zależnie od regionu i wolumenu.

Podsumowanie: najważniejsze wnioski

AWS IoT Core to kompletny fundament produktu IoT: bezpieczny broker MQTT, uwierzytelnianie X.509, Device Shadow do pracy offline, Rules Engine do integracji z chmurą oraz Fleet Provisioning i Greengrass do skalowania floty. Dobrze zaprojektowana architektura na AWS IoT Core skraca drogę od prototypu do wdrożenia tysięcy urządzeń.

FSS to zespół pełnostackowy — projektujemy hardware i PCB, piszemy firmware oraz budujemy backend chmurowy na AWS i Azure. Jeśli planujesz produkt oparty na AWS IoT Core, sprawdź nasze usługi infrastruktury chmurowej lub zobacz, jak dostarczamy kompletne urządzenia połączone z chmurą — od schematu po produkcję.