-
Notifications
You must be signed in to change notification settings - Fork 0
tech stack
minsoo edited this page May 9, 2026
·
7 revisions
Aegis-Pi를 구성하는 기술을 레이어별로 정리한다. 각 기술의 선택 이유와 현재 구축 상태를 함께 기술한다.
| 기술 | 역할 | 선택 이유 | 상태 |
|---|---|---|---|
| K3s | 엣지 컨테이너 런타임 | factory-a 3-node 기준선 검증 완료, ArgoCD/Longhorn 정합성 | ✅ 완료 |
| Helm | 워크로드 패키징 | 공장별 values.yaml 분리로 멀티 Spoke 설정 관리 | 🔄 M3 |
| ArgoCD | GitOps 배포 제어 | factory-a Local ArgoCD는 완료, Hub 중심 ApplicationSet 전환은 M3 이후 | 🔄 전환 |
| Longhorn | 분산 스토리지 | InfluxDB PVC를 worker1/2에 복제, failover 후 데이터 유지 | ✅ 완료 |
| InfluxDB | 시계열 데이터 저장 | 센서·AI·소리 결과를 measurement 단위로 저장 | ✅ 완료 |
| Grafana | 로컬 관측 시각화 | InfluxDB + Prometheus 동시 datasource, 로컬 관제 기준선 | ✅ 완료 |
| Prometheus | 노드 메트릭 수집 | Node Exporter Full(ID 1860) 표준 대시보드 재사용 | ✅ 완료 |
| Edge Agent | 표준 스키마 변환 및 IoT Core 송신 | 기존 워크로드를 대체하지 않고 클라우드 송신 역할만 분리 | ⏳ 후속 |
| 기술 | 역할 | 선택 이유 | 상태 |
|---|---|---|---|
| AWS EKS | Hub 컨테이너 런타임 | Spoke K3s와 일관된 Kubernetes API, IRSA/OIDC 지원 | ✅ 완료 |
| ArgoCD (Hub) | 멀티 Spoke 배포 제어 | factory-a cluster 등록과 smoke sync 검증 완료, ApplicationSet은 M3 대상 | 🔄 진행 |
| AWS IoT Core | 클라우드 수신 진입점 | 인증서 기반 디바이스 인증, IoT Rule → S3 라우팅 기본 제공 | ✅ 완료 |
| Amazon S3 | 원본·처리 데이터 저장 | raw 원본 보존으로 계산 로직 변경 시 재처리 가능 | ✅ 완료 |
| AMP | 중앙 메트릭 저장 | Prometheus Agent remote_write 수신, IRSA 기반 권한 | ✅ 완료 |
| Grafana (Hub) | Hub 관측 시각화 | AMP datasource SigV4 인증, Admin UI HTTPS 통합 | ✅ 완료 |
| Risk Normalizer | S3 raw → 정규화 | Risk Score Engine 입력 포맷 분리로 수집·계산 책임 분리 | ⏳ M4 |
| Risk Score Engine | 공장별 위험도 계산 | Data / Dashboard VPC 처리 영역에서 latest status를 갱신 | ⏳ M6 |
| Pipeline Status Aggregator | 파이프라인 상태 집계 | 데이터 미수신과 이상 데이터를 분리 판정 | ⏳ 후속 |
| Data / Dashboard VPC | 관리자 관제 접근 | Control / Management VPC와 네트워크 비연결, Route53/ALB/WAF/Auth 뒤에 제공 | ⏳ 후속 |
| 기술 | 역할 | 선택 이유 | 상태 |
|---|---|---|---|
| Tailscale | Hub-Spoke 메시 VPN | 공인 IP 없이 사설망 연결, tag 기반 ACL로 접근 제어 | ✅ M2 완료 |
| Route53 / ACM | Admin UI 도메인·인증서 | HTTPS 관리자 UI를 공개 접근 가능하게 제공 | ✅ 완료 |
| ALB (AWS Load Balancer Controller) | 클러스터 외부 노출 | EKS Ingress를 공유 Public ALB로 통합, 서브넷 자동 탐색 | ✅ 완료 |
| WAF | 관리자 관제 접근 보호 | Dashboard VPC 공개 엔드포인트 앞단에 적용 예정 | ⏳ 후속 |
| 기술 | 역할 | 선택 이유 | 상태 |
|---|---|---|---|
| Terraform | AWS 인프라 source of truth | VPC·EKS·IAM·S3·IoT 생명주기 선언적 관리 | ✅ 완료 |
| Ansible | bootstrap·설정 자동화 | kubeconfig 갱신, namespace, Helm 설치 등 절차 기반 작업 | ✅ 완료 |
| GitHub Actions | CI 파이프라인 | 이미지 빌드·ECR push·manifest update에 집중 | ⏳ 후속 |
| ECR | 컨테이너 이미지 저장 | Hub와 Spoke가 공통 이미지를 사용하는 CI/CD 기준점 | ⏳ 후속 |
| 기술 | 역할 | 선택 이유 | 상태 |
|---|---|---|---|
| Prometheus Agent | 메트릭 수집·원격 송신 | 전체 스크랩 없이 remote_write만으로 AMP에 전달 | ✅ 완료 |
| Node Exporter | 노드 상태 수집 | 표준 대시보드(1860) 재사용으로 구축 비용 최소화 | ✅ 완료 |
Aegis-Pi는 세 가지 원칙으로 기술을 선택한다.
기준선 연속성: factory-a에서 이미 검증된 K3s·ArgoCD·Longhorn 기준선을 유지하고 위에 쌓는다. 검증된 failover/failback 설계를 재사용한다.
책임 경계 분리: Terraform = 인프라, Ansible = bootstrap·설정, GitHub Actions = CI, GitHub+ArgoCD = CD. 각 도구가 고유한 역할에 집중한다.
단순한 데이터 계약: Control / Management VPC와 Data / Dashboard VPC 사이에 VPC Peering을 두지 않는다. S3 processed/latest와 latest status store를 read-only IAM으로 조회하는 단방향 계약을 유지한다.
관련 문서
- 시스템 아키텍처
- 제어 & 데이터 플레인
- 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 채팅 어시스턴트