DynamoDB에 이미지를 저장할 수 있나요?

가능하지만 작은 이미지만 가능합니다. DynamoDB는 항목 전체가 400 KB 한도 아래에 머무는 한 이미지를 base64로 인코딩한 바이너리(B) 속성으로 저장할 수 있습니다. 400 KB는 대부분의 미디어 파일에 너무 작으므로, AWS는 더 큰 이미지는 Amazon S3에 저장하고 DynamoDB에는 객체 메타데이터와 S3 참조만 남기라고 권장합니다.

작은 이미지 저장은 어떻게 동작하나요

이미지를 base64로 인코딩해 바이너리 속성에 저장합니다. DynamoDB는 400 KB 항목 상한에 원시 바이트 길이를 반영하므로 썸네일이나 아이콘은 들어가지만 전체 사진은 대개 들어가지 않습니다.

권장 패턴

400 KB를 넘는 것에는 이렇게 하세요:

  1. 이미지를 Amazon S3에 업로드합니다.
  2. S3 키, 크기, 콘텐츠 타입, 그 밖의 메타데이터를 DynamoDB에 저장합니다.
  3. DynamoDB에서 메타데이터를 읽은 뒤 S3에서 객체를 가져옵니다.

DynamoDB와 S3는 트랜잭션을 공유하지 않으므로, 실패 시 남겨진 고아 객체는 애플리케이션이 직접 정리해야 합니다.

인라인 저장이 치르는 비용

us-east-1의 온디맨드에서 초당 업로드 한 번과 초당 조회 열 번을 잡고, 두 형태를 요금 계산기에 넣어 보세요:

월별380 KB 이미지 인라인119바이트 포인터
쓰기$624.15$1.64
읽기(최종적 일관성)$156.04$1.64
요청 합계$780.19$3.29

같은 트래픽인데 비용이 238배입니다. 그리고 그 전부를 용량 반올림이 만들어 냅니다. 쓰기 단위는 1 KB를 담당하므로 이미지는 380 단위, 포인터는 1 단위가 청구됩니다. 읽기는 4 KB로 올림되므로 이미지에 대한 최종적 일관성 읽기 한 번이 0.5 단위 대신 47.5 읽기 단위를 씁니다.

여기에 스토리지가 얹힙니다. 초당 380 KB 업로드 하나는 월 952 GB를 더하는데, DynamoDB의 GB-월당 $0.25로는 $238.09, S3 Standard의 $0.023으로는 $21.90이며, 다음 달 업로드가 다시 같은 만큼을 더합니다.

그 숫자들이 가리키는 포인터 항목은 다음과 같고, 크기는 119바이트입니다:

{
  "pk": "IMG#2026-07-28#a1b2c3",
  "s3Key": "uploads/2026/07/28/a1b2c3.jpg",
  "contentType": "image/jpeg",
  "bytes": 389120,
  "width": 1920,
  "height": 1080,
  "uploadedAt": 1785283200
}

더 알아보기

최대 항목 크기를 참고하고 항목 크기 계산기로 항목을 재 보세요. 바이너리 속성을 살펴보려면 DynoTable을 다운로드하세요.

요금 출처

  • Amazon DynamoDB pricing — 요청 단위와 스토리지 요율이며, AWS Price List API에서 계산기로 동기화됩니다.
  • Amazon S3 pricing — S3 Standard 스토리지, us-east-1 첫 50 TB에 대해 GB-월당 $0.023(2026-07-28에 Price List API에서 읽음).

참고 자료

위에 링크된 공식 AWS 문서를 기준으로 2026-07-13에 마지막으로 검증했습니다.

2026-07-28에 AWS Price List API에서 동기화한 us-east-1 요율을 바탕으로 자체 요금 계산기로 산정했습니다. 입력값: 온디맨드, 초당 쓰기 1회, 초당 최종적 일관성 읽기 10회, 위 119바이트 항목 대비 380 KB, 프리 티어 해제.

Console 없이 DynamoDB 작업하기

DynamoDB로는 실행할 수 없는 진짜 SQL(JOINs, GROUP BY, 집계)을 실행하는 빠른 DynamoDB 데스크톱 클라이언트. 시각적 편집과 여러분 자신의 Bedrock 키로 동작하는 AI 에이전트를 제공합니다.

30일 무료 체험, 신용카드 불필요 — 이후 기간 제한 없는 무료 요금제.