pile·
인프라 / DevOps·AWS KoreaAWS Korea Tech·

Amazon S3 Files, 도입 전 반드시 확인해야 할 3가지 고려사항

2026년 4월 정식 출시된 Amazon S3 Files는 S3 버킷을 파일시스템처럼 마운트해 사용할 수 있는 서비스다. 편의성이 높지만 비용 구조, 성능 특성, 운영 충돌이라는 세 가지 함정을 모르면 도입 후 과금 폭탄이나 예상치 못한 데이터 충돌이 발생할 수 있다. 이 글은 AWS TAM(테크니컬 어카운트 매니저)이 실측 데이터와 결정 트리로 체크리스트를 정리한 도입 실전 가이드다.

핵심 포인트
  • 파일 크기가 32 KiB 미만이면 실제 사용량보다 최대 32배 과금된다.
  • sizeLessThan 설정은 S3에서 고성능 스토리지로 prefetch하는 방향에만 적용되며, 쓰기는 파일 크기 무관하게 항상 고성능 스토리지를 경유한다.
  • S3 게이트웨이 엔드포인트를 추가하면 콜드 읽기 NAT 비용($0.045/GB)을 $0으로 절감할 수 있다.
  • 1 MiB 경계는 파일 크기가 아니라 단일 IO 크기 기준으로 캐시 vs S3 직접 스트리밍을 분기한다.
  • Mountpoint for S3와 같은 버킷을 동시에 쓰면 동일 객체 쓰기 충돌이 발생한다.
상세 정리
  • S3 Files 개요: 2026년 4월 GA된 서비스로 S3 버킷을 파일시스템으로 마운트. ECS에서는 Fargate 시작 유형만 지원하며 EC2 시작 유형은 미지원.
  • 32 KiB 최소 과금 구조: 모든 파일은 32 KiB 단위로 최소 청구. 메타데이터는 별도 4 KiB 단위 추가 과금.
  • 실측 과금 사례: 1 KiB 파일 100개 작성 시 실제 사용량은 100 KiB이지만 약 3.125 MiB로 청구(약 32배 차이). 소파일 다수 워크로드는 안티패턴으로 명시.
  • 1 MiB IO 분기: 한 번의 읽기 IO가 1 MiB 이상이면 S3 GET으로 직접 스트리밍, 미만이면 고성능 캐시에서 서빙. 파일 크기가 아니라 IO 패턴으로 분기되어 동일 파일도 접근 방식에 따라 과금이 달라짐.
  • sizeLessThan 오해: 이 설정은 S3에서 고성능 스토리지로 미리 가져오는(prefetch) 방향에만 적용. 쓰기는 크기 무관하게 항상 고성능 스토리지 경유라 설정값이 쓰기 비용에는 영향 없음.
  • 게이트웨이 엔드포인트 절감: 미설정 시 콜드 읽기 트래픽이 NAT Gateway를 경유해 $0.045/GB 발생. 게이트웨이 엔드포인트 추가만으로 이 비용을 $0으로 절감 가능하며 CloudWatch 실측 데이터로 검증.
  • Mountpoint 동시 사용 충돌: 같은 S3 버킷에 S3 Files와 Mountpoint for S3를 함께 쓸 때 동일 객체에 양쪽에서 쓰기가 발생하면 충돌. S3 Files 측 버전은 `.s3files-lost+found` 디렉토리로 이동되고 S3 측 버전이 유지됨.
  • 충돌 방지법: Mountpoint 마운트 시 `--prefix` 옵션으로 S3 Files와 경로를 분리하는 것이 권장 방법.
  • 도입 전 6가지 체크리스트: 평균 파일 크기(32 KiB 기준), 읽기 패턴(순차/랜덤), 반복 읽기 빈도, Mountpoint 동시 사용 여부, ECS 시작 유형(Fargate만), 버전 관리 누적 비용 전략.
왜 읽나S3 Files 도입을 검토 중인 클라우드/인프라 엔지니어에게 실측 과금 데이터와 성능 분기 원리를 근거로 안티패턴과 절감 포인트를 한 글에서 확인할 수 있는 실전 체크리스트.
AWS Korea
AWS Korea Tech 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. 인프라 / DevOps·vercel-blogVercel Blog·

    Vercel CLI 드라이런 배포로 실제 배포 전 구성 미리 확인하기

    Vercel CLI v54.17.2부터 vercel deploy --dry 명령으로 실제 파일 업로드 없이 배포 구성을 미리 검사할 수 있다. 프레임워크 감지 결과, 포함/제외 파일 목록, 디렉터리 크기 분포, 콘텐츠 해시까지 사전에 확인하고 나서 배포를 결정할 수 있어 의도치 않은 배포 실패를 예방한다.

    #deployment#ci-cd#vercel-cli+1