Skip to content

adr rds postgresql

minsoo edited this page Jun 10, 2026 · 1 revision

ADR - 메타데이터 저장소: RDS PostgreSQL

메타데이터
상태 accepted
결정일 2026-05-19
현재 유효 여부 유효
Superseded 관계 ADR 0013(Aurora Serverless v2 PostgreSQL)을 대체
구현 근거 infra/data-dashboard(RDS instance, subnet group, Secrets)
검증 근거 ECS Fargate → RDS 연결, Alembic migration, /healthz connection pool 상태 포함

결정

공장·사용자·권한·알림룰·감사 같은 관계형 메타데이터를 Amazon RDS for PostgreSQL에 저장한다. 초기 배치는 db.t4g.micro(Single-AZ), gp3 20 GiB, Private Data Subnet이다.

DynamoDB LATEST/HISTORY   센서/risk 측정값 (시계열 hot store)
S3 raw/processed          원본 + 처리 결과 (장기 이력)
RDS PostgreSQL            공장·사용자·권한·알림룰·감사 (관계형)
ElastiCache Redis         실시간 캐시 + WebSocket Pub/Sub

이유

  • Phase 1 메타데이터는 사용자·공장·권한 중심이라 초기 부하가 작다.
  • RDS PostgreSQL은 PostgreSQL 표준 기능(JSONB, extension, SQLAlchemy/Alembic 호환)을 유지하면서 Aurora Serverless v2(min 0.5 ACU 상시 비용)보다 월 고정 비용이 낮다.
  • db.t4g.micro + gp3 20 GiB는 데모·초기 운영에 충분하고, 필요 시 인스턴스 증설 또는 Multi-AZ로 확장 가능하다.

명시적 비채택

  • Aurora Serverless v2: 작은 메타데이터 워크로드 대비 min ACU 비용이 큼.
  • DynamoDB 단일 사용: JOIN·권한 관계·알림룰 CRUD에 부적합.
  • MySQL: JSONB·PostgreSQL extension·후속 pgvector/TimescaleDB 선택지를 유지하기 위해 비채택.
  • Multi-AZ: Phase 1·데모 한정 비용 부담. 상시 운영 결정 시 후속 활성화.

영향

  • infra/data-dashboard의 데이터 저장소를 Aurora cluster가 아닌 일반 RDS instance로 구성 (aws_db_instance, subnet group, Secrets Manager 마스터 비밀번호, Fargate SG inbound 5432).
  • Backend는 SQLAlchemy async + asyncpg, Alembic migration 사용.
  • 비용: db.t4g.micro Single-AZ ~$15.33/월 + gp3 20 GiB ~$2.62/월 = 상시 ~$17.95/월.

관련 문서

Aegis-Pi Wiki

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

시작하기

요구사항

핵심 개념

아키텍처

컴포넌트 (Edge → Cloud → Dashboard)

Dashboard & 운영

시나리오 · 사례 · 참조

Clone this wiki locally