이미지 처리시 RDS vs S3

Seong Hyeon Kim·2025년 1월 10일

개인공부

목록 보기
24/26

만약에 자주 가져와야 하는 이미지 URL을 S3에서 가져오는 것과 RDS에 넣어두고 가져오는 것 중 어떤 방법이 비용적으로 절약될지에 대해 아키텍처 비용 분석을 해보겠습니다.


✅ 1. S3에서 이미지 URL 가져오기 (추천)

S3는 오브젝트 스토리지로, 대용량 정적 파일 저장에 최적화되어 있습니다. 이미지, 동영상, 파일과 같은 정적 자산을 저장하고 제공하는 데 적합합니다.

📊 S3 비용 분석 (2025년 기준)

항목비용 예시
저장 비용$0.023/GB (서울 리전 기준)
GET 요청$0.0004/1,000건
데이터 전송 비용$0.09/GB (인터넷으로 전송 시)

장점:

  • ✅ 대용량 데이터 저장에 최적화
  • ✅ 확장성이 뛰어나며, 요청이 많아도 부담 없음
  • ✅ 정적 파일이므로 CDN(Cache)와 연계 시 빠르고 저렴
  • ✅ S3 Transfer Acceleration이나 CloudFront를 통해 빠른 전송 가능

단점:

  • ❌ GET 요청 비용이 발생 (요청이 많으면 비용이 조금 올라감)

🔧 비용 절감 방법:

  1. CloudFront(CDN) 사용: 자주 요청되는 이미지를 캐싱하여 S3 요청을 줄임
  2. Transfer Acceleration 사용: 글로벌 가속을 통해 전송 속도를 높임
  3. 이미지 압축: 이미지 용량을 줄여 데이터 전송 비용 절감

✅ 2. RDS에서 이미지 URL 가져오기

이미지 URL을 RDS에 넣어두고 가져온다면, 다음과 같은 비용이 발생합니다.

📊 RDS 비용 분석 (Aurora, PostgreSQL 기준)

항목비용 예시
인스턴스 비용$0.10~$0.50/시간 (DB 인스턴스 크기에 따라)
저장 비용$0.10/GB
네트워크 전송 비용$0.09/GB (인터넷으로 전송 시)

장점:

  • ✅ SQL 쿼리로 관리가 편리
  • ✅ 이미지 URL을 필터링하거나, 조건부 조회 가능
  • ✅ DB 인덱싱을 통해 빠르게 조회 가능

단점:

  • ❌ 읽기 요청이 많아질수록 RDS 비용 증가
  • ❌ RDS는 정적 파일 저장에 비효율적
  • ❌ 트래픽 증가 시 DB 부하가 심해질 수 있음

✅ 비용 비교 시뮬레이션

가정:

  • 하루 100만 건의 이미지 URL 요청
  • 평균 파일 크기 100KB
  • 서울 리전 기준
항목S3 비용RDS 비용
저장 비용 (100GB)$2.30/월$10/월
요청 비용 (1억 건)$40/월부하 증가로 추가 비용 발생
데이터 전송 비용 (300GB)$27/월$27/월
총 비용$69.30/월$100~150/월 이상

✅ 3. 어떤 상황에 S3와 RDS를 선택할까?

상황S3 선택 시기RDS 선택 시기
대용량 이미지 저장✅ 추천❌ 비추천
자주 변경되는 이미지 URL❌ 비추천✅ 추천
조건부 쿼리 필요❌ 비추천✅ 추천
비용 절감 필요✅ 추천❌ 비추천

✅ 결론:

이미지 URL을 자주 가져와야 한다면, S3에 저장하는 것이 더 비용 효율적입니다.
특히, CloudFront와 같은 CDN을 사용하면 네트워크 비용과 요청 비용을 더욱 줄일 수 있습니다.


💡 추천 아키텍처:
1. 이미지를 S3에 저장
2. CloudFront로 CDN 캐싱
3. RDS에는 이미지의 메타데이터만 저장 (예: 이미지 이름, 태그, 설명 등)
4. 필요 시 S3 URL을 DB에 캐싱하거나, Redis로 캐싱하여 조회 속도를 더욱 높임

profile
삽질도 100번 하면 요령이 생긴다. 부족한 건 경험으로 채우는 개발자

0개의 댓글