Skip to content

adr iot core

JJong-03 edited this page Jun 17, 2026 · 4 revisions

ADR - IoT Core 채택

메타데이터
상태 accepted
결정일 2026-05-09 (통합 아키텍처 기준 문서화일)
현재 유효 여부 유효
Superseded 관계 없음. 2026-05-21 이후 IoT Rule은 S3 raw와 DataProcessor Lambda를 함께 호출하도록 확장
구현 근거 infra/data-pipeline/iot_rule.tf, charts/aegis-spoke/, edge publisher 구현
검증 근거 docs/ops/23_data_pipeline.md, Factory A/B/C raw·processed 적재 검증

Wiki ADR 파일명은 유지한다. 숫자 prefix 충돌은 docs/changes/README.md와 파일명별 이력으로 식별한다.


결정

Spoke에서 cloud로 올라오는 canonical telemetry의 수신 진입점은 AWS IoT Core다.

edge-iot-publisher
  -> MQTT over TLS
  -> aegis/{factory_id}/{source_type}
  -> IoT Rule
      ├─> S3 raw
      └─> DataProcessor Lambda

Dashboard API나 Hub EKS를 telemetry ingress로 사용하지 않는다.


이유

  • Factory별 Thing/certificate/policy로 송신 권한을 분리할 수 있다.
  • Spoke가 public Dashboard API나 Control VPC에 의존하지 않는다.
  • IoT Rule로 원본 보존과 event processing을 분기할 수 있다.
  • K3s runtime을 유지하면서 publisher만 공통화할 수 있다.

직접 REST API는 API 노출·인증·재시도 결합이 커지고, Kafka/MSK는 현재 규모보다 운영 비용이 크다. Greengrass는 IoT Core의 필수 조건이 아니며 현재 runtime 결정과 중복된다.


결과와 현재 경계

  • source type은 factory_state, infra_state, image_snapshot을 지원한다.
  • raw object body는 publish된 canonical envelope다.
  • DataProcessor가 정규화, Risk, freshness, DynamoDB/S3 processed write를 담당한다.
  • Dashboard는 IoT Core를 직접 읽지 않는다.
  • 이미지 binary는 IoT Core를 통과하지 않고 presigned S3 PUT을 사용한다.

IoT Rule의 현재 resource owner는 infra/data-pipeline이다. infra/foundation/iot_rule.tf에는 이동 사실만 남아 있다.

Aegis-Pi Wiki

· 대표 문서 목록은 홈의 문서 탐색 표 참조

시작하기

요구사항

핵심 개념

아키텍처

컴포넌트 (Edge → Cloud → Dashboard)

Dashboard & 운영

시나리오 · 사례 · 참조

Clone this wiki locally