Skip to content

srs functional

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

기능 요구사항

문서버전: v1.7 기준일: 2026-05-20 사업명: Aegis-Pi Risk Twin 멀티 공장 중앙 관제 플랫폼 구축 사업

시스템이 수행해야 하는 구체적인 동작·기능·프로세스에 대한 요구사항이다.

문서 정보

구분 내용
문서명 Aegis-Pi Risk Twin 시스템 요구사항 명세서 (System Requirements Specification)
문서버전 v1.7
작성일자 2026-05-20
적용 범위 ① Control / Management VPC: Hub(EKS·ArgoCD·Grafana) 및 Factory-A(운영형 Safe-Edge Spoke) 운영 기준, Factory-B/C(테스트베드 Spoke) 후속 연결·관측·배포 요구 ② Data / Dashboard VPC: 사용자 Dashboard·WebSocket·LLM 일간 보고서 요구

수정 이력

일자 버전 변경 내역
2026-05-18 v0.1 02번 초안 기반 작성
2026-05-19 v0.2 사용자별 조회 범위·실시간·LLM 보고서 항목 보강
2026-05-20 v1.0 멘토 리뷰 반영. SRS 4컬럼 양식(ID / 요구사항 명 / Risk Twin 기반 실현 내용 / 구현·검증 도구)으로 재정렬
2026-05-20 v1.1 현재 구현 완료로 오해될 수 있는 표현을 요구 목표·후속 범위로 완화
2026-05-20 v1.2 멘토 예시 수준에 맞춰 데이터 키·필드명·내부 처리 체인 등 상세 설계 표현 축소
2026-05-20 v1.3 성능·부하 기준(NFR-PER) 제거. 기능·보안·가용성·제약 중심으로 축소
2026-05-20 v1.4 운영 고도화·관리자 CRUD·별도 Alerts·분산추적 등 확장 범위 제거
2026-05-20 v1.5 WAF 세부 비기능 요구 제거, 암호화 요구를 구현 중립 표현으로 완화
2026-05-20 v1.6 데이터 보관·운영 접근·사업 외 범위 제약 표현 완화
2026-05-26 v1.7 NFR-AVL 항목에 가용성·RPO 정량 수치와 RTO 복구 기준 추가

1.1 인프라 및 네트워크

ID 요구사항 명 Risk Twin 기반 실현 내용 구현/검증 도구
FR-INF-01 IaC 기반 인프라 구축 Data/Dashboard VPC, ALB, ECS, RDS, Redis, IAM 등 1번 VPC 구성요소를 Terraform 코드로 정의해 인적 오류를 줄이고 형상을 버전 관리 Terraform
FR-INF-02 워크스트림 망 분리 2번 Control/Management VPC와 1번 Data/Dashboard VPC를 네트워크·권한 경계로 분리하고 VPC peering/TGW로 직접 연결하지 않음 AWS VPC, IAM
FR-INF-03 1번 VPC 3-Tier 구성 Public(ALB·NAT)·Private App(ECS·Redis)·Private Data(RDS) 서브넷으로 계층화하여 사용자 진입점과 데이터 저장 계층을 분리 AWS VPC, Subnet, SG
FR-INF-04 글로벌/관리형 서비스 사용 Dashboard Web은 S3 + CloudFront(OAC)로 제공하고, Route53·ACM·Cognito·EventBridge·Bedrock 등 VPC 밖 관리형 서비스를 목적별로 사용. WAF는 보안 강화 후보/선택 구성으로 분리 CloudFront, Route53, ACM, Cognito
FR-INF-05 HTTPS 전용 진입점 사용자 진입점(CloudFront, ALB)은 HTTPS만 허용하고 HTTP는 자동 redirect ACM, CloudFront, ALB Listener
FR-INF-06 도메인 분리 Admin UI는 *.minsoo-tech.cloud 유지, Dashboard는 신규 도메인(dashboard.<domain>·api.<domain>)으로 분리하여 운영/사용자 진입점 혼동 차단 Route53, ACM

구현 상세: Dashboard VPC 설계 · 제어 플레인 & 데이터 플레인


1.2 데이터 파이프라인

ID 요구사항 명 Risk Twin 기반 실현 내용 구현/검증 도구
FR-DATA-01 Edge → IoT Core 발행 Edge Agent가 factory_state·infra_state 상태와 image_snapshot metadata를 X.509 mTLS로 IoT Core에 발행하여 공장 상태를 안전하게 전송. 이미지 binary는 IoT Core가 아니라 S3 직접 업로드 경로를 사용 AWS IoT Core, X.509, S3
FR-DATA-02 원본 데이터 보존 IoT Core로 수신한 공장 상태 원본을 S3에 보존하여 감사·재처리·보고서 입력 근거로 사용 IoT Rule, S3
FR-DATA-03 Risk 정규화/계산 원본 데이터를 표준 형식으로 정규화하고 센서·AI·상태 지연·파이프라인 상태를 종합해 공장별 Risk Score와 상태 등급을 산출 AWS Lambda
FR-DATA-04 최신/이력 데이터 저장 공장별 최신 상태와 최근 이력 데이터를 분리 저장하여 현재 화면 조회와 추세 분석을 모두 지원 Amazon DynamoDB
FR-DATA-05 처리 결과 보존 Risk·환경·인프라 처리 결과를 별도 저장소에 보존해 상세 이력·감사·보고서 입력에 사용 S3
FR-DATA-06 상태 변화 푸시 공장 상태 변화가 발생하면 Dashboard에 준실시간으로 전달되어 사용자가 최신 위험 상태를 확인할 수 있어야 함 DDB Streams, Lambda, Redis, WebSocket
FR-DATA-07 일간 LLM 보고서 생성 매일 정해진 시각에 최근 공장 상태와 주요 이벤트를 요약한 한국어 Markdown 일간 보고서를 자동 생성 EventBridge, Lambda, Bedrock
FR-DATA-08 보고서 조회 경로 관리 생성된 보고서의 위치, 생성 시각, 대상 공장 정보를 S3 reports/daily/ 경로와 객체 metadata로 관리하여 Dashboard에서 조회 가능하게 함 S3

구현 상세: Edge IoT Publisher · Lambda Data Processor · Risk Score Engine · 실시간 갱신 구조 · Reporting Pipeline · Daily Report Generator


1.3 Dashboard 워크로드

ID 요구사항 명 Risk Twin 기반 실현 내용 구현/검증 도구
FR-DASH-01 Fleet Overview 화면 진입 시 전체 공장 위험 현황, 데이터 지연 여부, 공장별 Risk 상태를 우선순위에 따라 표시 React, FastAPI, DynamoDB
FR-DASH-02 Factory Overview 화면 공장 상세 화면에서 현재 Risk 상태, 주요 원인, 환경 상태, 인프라 상태, 워크로드·장치 요약을 한눈에 확인 가능하게 제공 React, FastAPI, DynamoDB
FR-DASH-03 Environment 추세 화면 온도·습도·기압 등 환경 센서와 AI 이상 감지 결과의 최근 추세를 그래프로 표시 React Chart, DynamoDB
FR-DASH-04 Infrastructure 화면 노드 자원, 워크로드 상태, 장치 가용성, 데이터 파이프라인 상태를 공장 단위로 표시 React Chart, DynamoDB
FR-DASH-05 Timeline 화면 Risk 상태 변화, 주요 원인 변화, 노드, 워크로드, 장치 이상을 시간순으로 통합 표시해 원인 추적성을 확보 React, DynamoDB, S3
FR-DASH-06 일간 보고서 열람 사용자가 날짜와 공장 기준으로 S3 reports/daily/의 일간 보고서를 조회하고 Markdown 형식으로 열람할 수 있어야 함 React Markdown, S3
FR-DASH-10 AI 채팅 질의 사용자가 자연어로 공장 상태·원인·추이·보고서·증빙 이미지를 질문하고, Backend가 RBAC 적용 후 Evidence 기반 답변을 제공 React, FastAPI, Bedrock, DynamoDB, S3
FR-DASH-11 이미지 스냅샷 조회 System 권한 사용자가 AI 이벤트 이미지 스냅샷을 presigned URL 기반으로 조회할 수 있어야 함 React, FastAPI, S3
FR-DASH-07 실시간 갱신 공장 상태 변화가 발생하면 Dashboard 화면이 준실시간으로 갱신되고, 실시간 경로 장애 시 주기적 조회 방식으로 보완 WebSocket, FastAPI
FR-DASH-08 사용자별 조회 범위 인증된 사용자는 자신에게 허용된 공장 데이터만 조회할 수 있으며, 미인가 공장 직접 호출은 차단 FastAPI, Cognito, RDS
FR-DASH-09 역할 분리 관리자와 일반 조회자 등 사용자 역할에 따라 접근 가능한 화면과 API 범위를 분리 FastAPI RBAC, Cognito Group

구현 상세: 사용자 플로우 · 화면 구성 · Dashboard Backend · 인증과 RBAC


1.4 모니터링 및 로깅

ID 요구사항 명 Risk Twin 기반 실현 내용 구현/검증 도구
FR-OBS-01 사용자/운영 화면 분리 사용자 Risk Twin Dashboard와 운영 Grafana(Hub/EKS/AMP)를 분리해 Dashboard가 운영 control plane을 겸하지 않도록 함 Dashboard Web, Grafana
FR-OBS-02 통합 로깅 Backend와 데이터 처리 컴포넌트는 CloudWatch Logs에 구조화 로그를 남겨 사후 분석·감사 증적으로 사용 CloudWatch Logs

관련 문서

Aegis-Pi Wiki

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

시작하기

요구사항

핵심 개념

아키텍처

컴포넌트 (Edge → Cloud → Dashboard)

Dashboard & 운영

시나리오 · 사례 · 참조

Clone this wiki locally