AWS 인프라 및 CI/CD
ALB, private EC2, RDS, ElastiCache Redis 3노드 구성 및 월 비용 37% 절감
문제
서비스 운영을 위한 안정적인 인프라가 필요했습니다. 학생용 API와 관리자용 API가 분리되어 있고, dev/prod 환경도 각각 운영해야 했습니다.
LLM 호출 경로도 설계가 필요했습니다. AWS Bedrock, Google AI Studio, GCP Vertex AI 중 비용과 안정성을 고려해 최적의 경로를 선택해야 했습니다.
해결
ALB에서 private 서브넷 EC2(Spring Boot)로 트래픽을 전달하는 구조를 구성했습니다. 데이터 계층은 RDS(MySQL)와 ElastiCache Redis 3노드(자동 failover)로 구성했습니다. NAT 게이트웨이로 아웃바운드를 통제하고, dev/prod 환경을 완전히 분리 운영했습니다.
CI/CD는 ECR 컨테이너 이미지 기반 CodePipeline(CodeBuild, CodeDeploy)으로 구성했습니다. user-api/admin-api x dev/prod 총 4개 배포 라인을 운영하고 있습니다. FE는 AWS Amplify로 배포했습니다.
LLM 호출 경로는 AWS Bedrock, Google AI Studio, GCP Vertex AI를 비교 검토 후 Vertex AI를 채택했습니다. 서비스 계정 ADC 인증이 컨테이너 환경에서 동작하도록 구성했습니다.
성과
미사용 리소스 정리와 구조 개선으로 월 인프라 비용을 37% 절감했습니다($455에서 $288로 감소).
4개 배포 라인이 안정적으로 운영되고 있으며, 장애 발생 시 자동 failover가 동작합니다.
Other Topics
LLM 자동 채점 파이프라인
Gemini, OpenAI, Claude 3사 12종 모델을 추상화한 논서술형 답변 자동 채점 시스템
트랜잭션 분리 설계
LLM 호출 트랜잭션 분리로 DB 커넥션 고갈 장애 해결
동시성 제어 및 폴백 설계
채점 전용 스레드풀 격리 및 LLM 3단 폴백 재시도 구조
LLM 안전성 설계
환각, 형식 이탈, 프롬프트 인젝션 방어 체계 구축
AI 1인 개발 체계
Claude 스킬 기반 역할별 에이전트 하네스로 1인 풀스택 개발 체계 구축
논서술형 풀이 활동 로그
문항별 진입/이탈/답변 변경 이력을 기록하여 학생의 풀이 과정을 추적하는 시스템
보안 설계
JWT 이중 인증, Rate Limiting, 요청 로깅 마스킹, 비밀번호 강제 변경 등 서비스 보안 체계 구축