Skip to content

tech stack

minsoo edited this page Jun 9, 2026 · 7 revisions

기술 스택

기준일: 2026-06-09 구현 기준: /home/vicbear/Aegis-merge/merge

이 문서는 현재 active 기술과 retired/planned 항목을 분리한다. 과거 Hub 중심 Prometheus Agent/AMP 구성, 독립 Risk Normalizer/Risk Score Engine 서비스, 서버리스 Dashboard API 초안은 현재 기본 구조로 보지 않는다.

상태 기준

상태 의미
active 현재 코드, Terraform, Helm chart, 운영 절차의 기본 경로
retired 과거 구현·검증 이력이 있으나 현재 기본 구성에서 제거되었거나 재설치하지 않는 항목
planned 후속 보강 또는 선택 구성. 현재 구현으로 표현하지 않음
reference 원본 저장소나 설계 입력으로만 남은 참조 항목

Edge

기술 상태 현재 역할 기준
K3s active Factory A/B/C Spoke 런타임 Factory A는 Raspberry Pi 3-node, B/C는 VM testbed
Helm chart aegis-spoke active 공장별 workload packaging merge/charts/aegis-spoke, merge/envs/factory-*
Hub ArgoCD + Tailscale active Hub에서 Factory K3s API로 GitOps sync Factory API는 Tailscale 경유
Longhorn active for Factory A Factory A InfluxDB/outbox PVC 기준선 failover/failback 운영 이력 있음
InfluxDB active for Factory A 센서, AI, sound, Kubernetes 상태 원천 factory-a-log-adapter 입력
factory-a-log-adapter active Factory A 원천 상태를 canonical JSON으로 변환 merge/apps/factory-a-log-adapter
VM dummy generator active for Factory B/C testbed canonical JSON 생성 실제 공장 데이터가 아니라 synthetic 데이터
edge-iot-publisher active outbox JSON을 AWS IoT Core MQTT로 송신 Factory A PVC, Factory B/C hostPath
snapshot-uploader active for Factory A presigned URL로 image binary를 S3에 직접 업로드 IoT에는 metadata event만 송신
edge-agent reference 통합 전/후속 개념 설명 현재 표준 송신 경로는 adapter/publisher 분리

Control

기술 상태 현재 역할 기준
Terraform active AWS 인프라 source of truth merge/infra/*, AWS provider ~> 6.0
AWS EKS Hub active Control/Management VPC의 Hub Kubernetes merge/infra/hub
Hub ArgoCD active Factory Spoke sync와 app 상태 확인 Tailscale 등록 cluster 사용
Tailscale active Hub-Spoke private control path 공인 IP 없이 K3s API 접근
AWS Load Balancer Controller active Hub Admin UI ingress/ALB Hub rebuild 이력 있음
GitHub Actions active/planned split image build, ECR push, manifest update 경로 워크플로 repo/role 가정은 후속 재확인 필요
S3 backend + native lockfile active Terraform state 저장과 잠금 backend/state ownership 확인 후 조작
Hub risk-normalizer Pod retired 과거 Hub 기반 risk 계산 구상 현재 계산은 DataProcessor Lambda 내부

Data

기술 상태 현재 역할 기준
AWS IoT Core active Factory MQTT 수신 진입점 factory별 topic rule
S3 raw/ active IoT 원본 보존 IoT Rule S3 action
Lambda DataProcessor active canonical JSON 정규화, Safety Score, read model 갱신 merge/apps/data-processor
DynamoDB FactoryStatus active LATEST, HISTORY#STATE, GRAPH#5M, CLOUD#infra, ALERT# foundation table
S3 processed/ active source별 처리 결과와 state snapshot report/dashboard/alert 입력
DataProcessorRefresh1m active 입력 중단 factory freshness 갱신 EventBridge schedule
GraphAggregator5m active 5분 graph bucket 생성 GRAPH#5M, S3 processed_agg/
CloudInfra Fast Collector active ECS/ALB/RDS/Redis/CloudFront/DLQ 등 빠른 상태 수집 1분 주기 Lambda
CloudInfra Slow Collector active EKS, NAT, OpenSearch, S3 freshness 등 느린 상태 수집 5분 주기 Lambda
RiskAlertDispatcher active processed snapshot 기반 Slack alert, dedupe, cooldown notifier와 별도 Lambda
SnapshotPresigner active image snapshot presigned PUT URL 발급 HTTP API + Lambda
Risk Normalizer active as module IoT payload 정규화 모듈 독립 서비스가 아님
Risk Score Engine active as module Safety Score 계산 모듈 processor/risk.py, 독립 서비스가 아님
Pipeline Status Aggregator active as module freshness와 pipeline status 계산 DataProcessor 내부 모듈

Dashboard

기술 상태 현재 역할 기준
React 18 + Vite 6 active Dashboard SPA merge/apps/dashboard-web/package.json
TypeScript 5.6, Vitest, ESLint active frontend build/test/lint toolchain node_modules 설치 후 재검증 필요
CloudFront + S3 active SPA 정적 배포 permanent stack과 DNS stack 분리
Cognito Hosted UI active OIDC Authorization Code + PKCE JWT 검증과 RDS RBAC 병행
ALB + ECS Fargate active Dashboard Backend 실행 경로 1 vCPU/2 GiB 기본 task
FastAPI + Uvicorn active REST API와 WebSocket endpoint merge/apps/dashboard-backend
DynamoDB/S3 read-only access active factory, graph, cloud infra, report 조회 backend task role
RDS PostgreSQL active 사용자, 공장, 권한 metadata 단일 DB instance, 2AZ subnet group, multi_az=false
ElastiCache Redis active notifier/backend Pub/Sub TLS, AUTH token, single shard
Lambda notifier active DynamoDB Streams를 Redis Pub/Sub로 전달 Dashboard WebSocket push용, alert dispatcher와 별도
서버리스 Dashboard API 초안 retired 초기 Dashboard API 초안 현재 API 런타임은 ALB + ECS Fargate + FastAPI
WAF planned 공개 endpoint 보안 강화 후보 현재 Terraform 리소스 미확인

Reporting

기술 상태 현재 역할 기준
EventBridge Scheduler active 매일 00:30 KST 기준 report workflow 시작 UTC cron 30 15 * * ? *
Step Functions active factory/cloud_infra report orchestration target별 Map 처리
Reporting Lambdas 7개 active window 준비, 시간별 집계, 일별 병합, Bedrock 생성 merge/infra/reporting/locals.tf
Bedrock Claude 3 Sonnet active default report 초안 생성 기본 model ID anthropic.claude-3-sonnet-20240229-v1:0
S3 reports/daily/ active Markdown/metadata/context/report 산출물 저장 Dashboard 조회 및 DOCX export 입력
DOCX export active Dashboard에서 보고서 다운로드 docx frontend dependency
단일 report generator Lambda retired 초기 단순 구조 표현 현재는 Step Functions + 7 Lambda

Delivery

기술 상태 현재 역할 기준
ECR active backend/edge image 저장소 build script와 workflow 대상
Docker active app image build dashboard-backend, edge apps
Build/Destroy scripts active 보호 리소스 보존형 운영 절차 merge/scripts/build, merge/scripts/destroy
terraform fmt -check active verification Phase 8 기준 주요 root 통과 validate는 환경 이슈로 재확인 필요
AWS/K3s smoke test planned verification end-to-end 동작 확인 state ownership 확인 후 실행

Observability

기술 상태 현재 역할 기준
Hub Grafana active Hub/Admin UI 관측 화면 AMP datasource는 retired 이력
Local Grafana active for Factory A Factory A local InfluxDB/Prometheus 시각화 edge baseline
CloudWatch Logs/Metrics active Lambda, ECS, ALB, RDS, Redis, scheduler 관측 CloudInfra collector 입력
CloudInfra read model active Dashboard Cloud Infra 화면과 alert 입력 DynamoDB/S3 processed
Slack webhook alert active optional RiskAlertDispatcher scope별 알림 전송 Secrets Manager/SSM value는 문서화하지 않음
AMP retired 과거 중앙 메트릭 저장 검증 비용 최적화 후 active 기본 구성 제외
Hub Prometheus Agent retired 과거 AMP remote_write 송신 재설치하지 않는 cleanup 대상

Runtime/Configuration 경계

configs/runtime/runtime-config.yaml은 통합본 merge/에는 존재하지 않는다. 원본 Aegis-pi/dashboard_vpc/에 남은 참조 설정이며, 현재 Lambda DataProcessor는 이 YAML을 읽지 않고 Terraform 환경변수와 코드 상수로 동작한다. 자세한 내용은 런타임 설정을 따른다.

관련 문서

Aegis-Pi Wiki

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

시작하기

요구사항

핵심 개념

아키텍처

컴포넌트 (Edge → Cloud → Dashboard)

Dashboard & 운영

시나리오 · 사례 · 참조

Clone this wiki locally