-
Notifications
You must be signed in to change notification settings - Fork 0
adr dashboard vpc
JJong-03 edited this page Jun 17, 2026
·
4 revisions
| 메타데이터 | 값 |
|---|---|
| 상태 | accepted, runtime 일부는 후속 결정으로 변경 |
| 결정일 | 2026-05-09 (VPC 분리 기준 문서화일) |
| 현재 유효 여부 | VPC/제어망 분리는 유효. 서버리스 Dashboard API 초안은 superseded |
| Superseded 관계 | Dashboard API runtime은 2026-05-15 ADR 0007 초안 후 2026-05-18 ADR 0012 ECS Fargate로 대체 |
| 구현 근거 |
infra/data-dashboard/, data-dashboard-permanent/, data-dashboard-dns/, FastAPI Backend |
| 검증 근거 | Dashboard Web/API 배포, /healthz, ECS rollout과 Backend/Web test 기록 |
Wiki ADR 파일명은 유지한다.
0007,0012등 번호 충돌 가능성은 번호 단독이 아니라docs/changes/README.md와 파일명별 이력으로 식별한다.
사용자 관제 화면은 1번 Data/Dashboard VPC와 전용 public edge에서 제공하며 2번 Control/Management VPC와 직접 네트워크 연결하지 않는다.
- VPC Peering/TGW 없음
- Dashboard에서 Hub EKS, ArgoCD, Spoke K3s, Tailscale 관리 API 호출 금지
- Factory/Cloud 상태는 DynamoDB/S3 read model로 조회
- 제어 작업은 별도 운영자 경로에서 수행
ADR 0007은 적은 트래픽과 비용을 근거로 Dashboard API를 VPC 밖 서버리스 경로로 두었다. 이 결정 중 IoT Rule DataProcessor Lambda는 현재도 유효하다.
WebSocket, RDS/Redis connection pool, 다중 저장소 조합 요구가 Phase 1에 포함되면서 Dashboard API 부분은 ADR 0012가 supersede했다.
변경 전 초안
SPA -> serverless Dashboard API
현재
CloudFront/S3 SPA
-> Cognito
-> ALB
-> ECS Fargate FastAPI
-> DynamoDB/S3/RDS/Redis
Lambda가 모두 폐기된 것은 아니다. DataProcessor, notifier, snapshot presigner 등 event-driven Lambda는 유지되며, snapshot presigner HTTP API는 Dashboard API와 다른 용도다.
| 영역 | 현재 구현 |
|---|---|
| Web | private S3 + CloudFront SPA |
| Auth | Cognito OIDC/PKCE, Backend JWT 검증 |
| API | public ALB -> private ECS Fargate FastAPI |
| Realtime | DynamoDB Streams -> notifier Lambda -> Redis -> WebSocket |
| Metadata | RDS PostgreSQL |
| Factory/Cloud state | Foundation 소유 FactoryStatus DynamoDB read |
| Reports | S3 reports/daily/ read |
현재 Terraform에는 WAF resource가 없으므로 WAF를 구현 완료 상태로 단정하지 않는다. RDS와 Redis는 Single-AZ/single-node이며 Dashboard 계층 전체의 HA를 보장하지 않는다.
- 시스템 아키텍처
- 제어 & 데이터 플레인
- 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 채팅 어시스턴트