본문 바로가기

sk 쉴더즈 루키즈

[Rookies 개발 5기] AWS 인프라 구조 다이어트 & Jira 칸반보드를 통한 스프린트 세부 계획 수립

📊 Jira 칸반보드 컴포넌트 및 스프린트 구조화

  • 스프린트 목표 설정: 멀티모달(영상/음성/이미지) 딥페이크 탐지 파이프라인 연동 및 감사로그(CoC) 데이터 무결성 검증 레이어 완성
  • 에픽(Epic) 분할: 인프라 인프라 배포, 백엔드 API 및 비동기 큐, AI 모델 서빙 및 전처리, 포렌식 무결성 검증(SHA-256/PDF)으로 명확히 구분
  • 하위 작업(Sub-task)의 구체화 및 매핑: * 단순히 '업로드 기능 개발'로 묶지 않고, [검증] 파일 유입 시 메모리 내 SHA-256 즉시 추출, [예외 처리] 조작된 해시값 유입 시 분석 차단 로직 등 포렌식 절차적 무결성을 위한 태스크를 칸반보드 카드로 쪼개어 배치했습니다.
    • 스프린트 마감 단계에서 진행할 [배포] 최종 배포본 Smoke Test 시나리오(7단계)와 행사장의 네트워크 마비를 대비한 [Failsafe] 로컬 백업 실행본(Docker Compose) 준비 작업을 독립된 Jira 티켓으로 발행하여 가시성을 확보했습니다.

3. 🧠 문제 해결 과정: AWS 인프라 구성도 피드백 및 트러블슈팅

오전/오후 회의를 통해 기존 설계의 모순점과 불필요한 거품(오버 엔지니어링)을 파악하고, 비즈니스 로직에 집중할 수 있는 실전형 구조로 아키텍처를 대폭 수정했습니다.

  • VPC 서브넷 구조 단순화 및 분리: 외부 접속이 불가능했던 프론트엔드, 백엔드, AI 인프라의 꼬인 라우팅을 해결하기 위해 Private Subnet을 2개로 확실히 쪼개어 망을 분리했습니다. 두 개였던 Public Subnet은 하나로 합쳐 ALB를 배치했습니다.
  • 불필요한 고비용 3중화 및 모니터링 레이어 제거: 학습 및 발표 프로젝트 수준에서 과도한 비용을 유발하는 Redis 3중화, RDS(PostgreSQL) 3중화 구조를 과감히 철회하고 단일(Single) 마스터 구조로 통합했습니다. 불필요하게 아키텍처 복잡도만 높이던 AWS WAF와 컨트롤 플레인 모니터링 영역도 과감히 걷어냈습니다.
  • 스토리지(S3) 배치 무결성 확보: AWS S3 스토리지를 VPC 외부 영역에 독립 배치하고 백엔드 App Server 및 AI Fast API Pod가 양방향으로 안전하게 오브젝트에 접근하도록 경로를 수정했습니다.
  • 프론트엔드 파드(Pod) 구조 확정: Frontend Pod 내부에 정적 자산 호스팅을 위한 Nginx와 Next.js(SSR)를 결합하는 구조를 명확히 했습니다.

4. 📚 사용한 기술 및 선택 이유 정리

  • AWS Route 53 & ALB (Application Load Balancer): 안정적인 서비스 도메인을 가동하고 HTTPS 암호화通 통신을 강제하기 위함입니다. 사용자의 요청을 단일 엔드포인트로 받아 Private Subnet 내부의 프론트엔드로 안전하게 부하 분산하기 위해 채택했습니다.
  • RabbitMQ & FastAPI (AI 추론): 영상/음성 위변조 탐지 AI 모델 연산은 매우 무겁습니다. 백엔드 서버의 병목을 방지하기 위해 RabbitMQ를 도입하여 분석 요청을 비동기(Asynchronous) 큐로 관리하고, FastAPI가 이를 소비하도록 설계했습니다.
  • AWS S3 (with Object Lock / WORM): 포렌식 증거 파일의 원본 무결성은 사법적 가치를 결정하는 핵심 요소입니다. 임의 변조나 삭제를 인프라 단에서 원천 차단하기 위해 WORM(Write Once, Read Many) 기능이 탑재된 S3를 채택했습니다.

느낀점 

"그동안 머릿속으로만 그리거나 이론적으로 '좋다'고 하는 인프라 기술(WAF, 3중화, 다중 서브넷)을 무작정 쏟아붓는 것이 얼마나 위험한 오버 엔지니어링인지 뼈저리게 깨달은 하루였습니다. 구조가 복잡해질수록 관리 비용과 모순점만 늘어난다는 강사님의 피드백을 수용하며, 아키텍처를 최소한의 핵심 뼈대로 '다이어트'하는 과정에서 오히려 깨달은것 같습니다.

특히 인프라의 거품을 걷어낸 빈자리를 Jira 칸반보드를 통해 코드 레벨의 구체적인 포렌식 검증 로직과 예외 처리 태스크로 촘촘하게 채워 넣으면서, 협업의 방향성이 훨씬 명확해졌습니다. 화려한 인프라 구성도보다 중요한 것은 시스템의 본질적인 동작 신뢰성과 예외 상황에 대한 견고한 대응력이라는 것을 배웠고, 내일 진행될 오프라인 GPU 연동 및 데이터 전처리 파이프라인 구체화 회의도 논리적이고 빈틈없이 풀어내고 싶다는 전의가 생겼습니다."