🧩 BE

동아 AWS Budget 비용 최적화 보고서

Assigned To
Date
2026/02/03
Status
Done
Type
Feature
Infra
Table of contents

클라우드 서비스 아키텍처

EC2 인스턴스 3개
kit1 (flask-dashboard, doozle(로그 모니터링), 국회 redis)
kit2 (donga-backend, gookwhe-backend, 국회 redis, doozle(로그 모니터링))
proxy (naver, daum 로그인 시 2FA 막기 위한 주기적 재접속 서버)
RDS(MySQL) 1개
DynamoDB → 쿠키 수집용(naver, daum, donga)
Lambda → 로그인 및 조회수 캐싱, 기사 정보 저장 로직
SQS → Lambda trigger 시 RDB 전송 담당, 로컬 WPS 기사 수집

비용 현황

2025.11, 2025.12 기준으로 30일 간 약 150$ 비용 발생
→ 2026.01.30 기준으로 약 220$ 비용 발생. 전월 대비 46% 증가.
EC2 → 50%
ELB → 16%
VPC → 12%
RDS → 8%
기타(세금 10% 등) → 14% 비용은 어느 하나가 특수하게 늘어났다기 보다는 서비스 아키텍처 전반에서 비슷한 비율의 비용 상승이 발생했고, 해당 원인은 단순한 트래픽 증가입니다. 특별히 주목할 부분은 RDS 비용이 청구되기 시작했다는 점 입니다.

주요 비용 발생 원인

1. t2.large 인스턴스

EC2의 kit_1, kit_v2가 동일한 서비스를 띄우고 있고, 특히 kit_1의 t2.large가 꽤 압도적으로 요금이 발생하는 중일 것으로 예상됩니다.
→ t2는 구형 프로세서를 사용하기 때문에 비슷한 t4g 계열보다 가성비가 많이 떨어집니다.
각 인스턴스별 시간당 비용
t2.large → $0.0928
t4g.medium →. $0.0416
t2.nano → $0.0072
코드 및 서버 로그 확인해보니, kit_1은 현재 v2로의 배포가 끝난 레거시 프로젝트로 보입니다. 때문에 실행중인 t2.large에서 기존 사용하던 sqlitedb 부분만 백업하고, 해당 인스턴스는 내려도 될 것 같습니다.
현재 t2.large 인스턴스 삭제하면 월 약 69$ 절감이 가능할 것으로 예상합니다.
만약 kit_1 서버를 유지하고 싶다면 t4g 계열로 전체 인스턴스를 업그레이드 하면 성능적으로나 비용적으로 더 이득을 볼 수 있습니다.

2. rds 프리티어 만료

AWS Cost Explorer 비용 그래프 확인 결과 2024.12월 AWS 가입한 것으로 확인됩니다.
때문에 12월 기준으로 AWS RDS 프리티어 만료되어 2026.01월 약 20$ 요금이 청구되며, 매달 데이터 처리량에 따른 요금이 청구될 예정입니다.
→ rds를 로컬 on-premise 서버로 마이그레이션 하면 db 비용 100% 절감이 가능하지만, 현재 rds 백업 이관 비용, 네트워크 안정성, 리소스 가용성, 확장성 측면에서 rds 서비스가 훨씬 효율적입니다. 결론적으로 그대로 사용하는게 맞다고 판단됩니다.

결론

EC2 t2.large 인스턴스 다운 ⇒ 매달 약 60$ 절감 (권장) 또는,
EC2 t2.large → t4g.large, t2.nano → t4g.nano 프로세서 버전 업그레이드 ⇒ 매달 약 10% 비용 절감
RDS로 인한 비용은 DB 가용성, 데이터 안정성 측면에서 불가피 ⇒ 매달 약 20$ 추가 비용 발생
Lambda 서버리스 코드는 한 번 돌릴때 마다 과금 ⇒ 프리티어로 월 100만건 무료, 3$ 이내로 비용 발생
AWS Cost Explorer로 비용 모니터링 ⇒ 서버 오류(ex. api 무한 호출, 불필요한 조회 쿼리로 인한 DB 비용 증가)나 과도한 트래픽 발생으로 인한 이상 비용 발생 시 즉시 알림

백엔드 아키텍처 (기존 → 변경)