-
Notifications
You must be signed in to change notification settings - Fork 0
adr iot core
JJong-03 edited this page Jun 17, 2026
·
4 revisions
| 메타데이터 | 값 |
|---|---|
| 상태 | 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에는 이동 사실만 남아 있다.
- 시스템 아키텍처
- 제어 & 데이터 플레인
- Dashboard VPC 설계
- 하드웨어 배치
- Hub EKS 네임스페이스
- Tailscale Mesh VPN
- 데이터 생명주기
- 데이터 조회 모델
- 실시간 갱신 구조
- IoT 데이터 계약
- Reporting Pipeline
- 로컬 스토리지
- 클라우드 스토리지
- Edge Agent
- Edge AI 탐지
- Factory-A Log Adapter
- Dummy Sensor
- Edge IoT Publisher
- Lambda Data Processor
- Risk Normalizer
- Risk Score Engine
- Pipeline Status Aggregator
- Graph Aggregator 5m
- Cloud Infra Collector
- Daily Report Generator
- Risk Alert Dispatcher
- Image Snapshot Pipeline
- Dashboard Backend
- Dashboard Web
- AI 채팅 어시스턴트