처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
테크 뉴스
Hacker News 2026.04.14 24

S3 하나 쓰고 싶었을 뿐인데, 왜 이렇게 복잡해진 걸까

Hacker News 원문 보기
S3 하나 쓰고 싶었을 뿐인데, 왜 이렇게 복잡해진 걸까

그냥 파일 저장소 하나만 필요했을 뿐인데

개발하다 보면 파일을 어딘가에 저장하고, 필요할 때 꺼내 쓰는 단순한 기능이 필요할 때가 있잖아요. 이미지 업로드, 백업 파일 보관, 로그 아카이빙 같은 거요. 이럴 때 대부분 가장 먼저 떠올리는 게 AWS S3예요. 근데 막상 S3를 제대로 세팅하려고 하면... 이야기가 달라지거든요.

한 개발자가 "나는 그냥 단순한 S3가 필요했을 뿐"이라는 제목으로 글을 썼는데, 공감이 엄청 많이 갔어요. S3 자체는 심플한 오브젝트 스토리지인데, 그걸 둘러싼 생태계가 너무 복잡해졌다는 이야기거든요.

도대체 뭐가 복잡하다는 걸까?

S3를 처음 쓰려고 하면 마주치는 관문들을 하나씩 살펴볼게요. 먼저 IAM 정책이에요. AWS에서 S3 버킷에 접근하려면 IAM(Identity and Access Management) 정책을 설정해야 하는데, 이게 뭐냐면 "누가, 어떤 자원에, 어떤 행동을 할 수 있는지" 정의하는 JSON 문서예요. 처음 보면 진짜 머리가 아파요. 버킷 정책, IAM 유저 정책, IAM 롤 정책이 따로 있고, 이것들이 서로 교차해서 적용되거든요. 단순히 "이 앱에서 이 버킷에 파일 올리고 내려받게 해줘"를 하려는 건데, 정책 문서를 세 개씩 작성해야 하는 상황이 벌어져요.

그다음은 버킷 설정이에요. 퍼블릭 액세스 차단, 버전 관리, 암호화, CORS 설정, 수명 주기 정책... 버킷 하나 만드는데 설정할 게 수십 가지예요. AWS가 보안 사고를 막으려고 기본값을 점점 빡빡하게 조여놨기 때문이기도 해요. 좋은 의도인데, 결과적으로 "아 그냥 파일 하나 올리고 싶은데" 하는 초보 개발자에게는 벽처럼 느껴지는 거죠.

비용 구조도 단순하지 않아요. 저장 용량, GET 요청 수, PUT 요청 수, 데이터 전송량이 각각 따로 과금되고, 스토리지 클래스(Standard, IA, Glacier 등)에 따라 가격이 다 달라요. 간단한 사이드 프로젝트인데 요금 폭탄 맞을까봐 계산기 두드리는 자신을 발견하게 돼요.

대안은 뭐가 있을까?

이런 복잡함에 지친 개발자들이 찾는 대안들이 꽤 있어요. 가장 인기 있는 건 S3 호환 스토리지 서비스들이에요.

Cloudflare R2는 요즘 가장 많이 언급되는 대안인데요, S3 호환 API를 제공하면서도 이그레스(egress) 비용이 무료예요. 이그레스가 뭐냐면, 저장소에서 데이터를 꺼내서 외부로 보내는 비용이에요. AWS S3는 이 비용이 꽤 비싼 편인데 R2는 아예 0원이라 정적 파일 서빙이 많은 서비스에서 큰 차이가 나요.

MinIO는 셀프 호스팅할 수 있는 오픈소스 S3 호환 스토리지예요. 자체 서버나 NAS에 설치해서 쓸 수 있어서, 데이터를 내 인프라 안에 두고 싶을 때 좋아요. 실제로 사내 개발 환경이나 온프레미스 환경에서 많이 쓰이고 있고요.

Backblaze B2도 S3 호환 API를 지원하는데, 가격이 AWS S3의 약 1/4 수준이에요. 백업이나 아카이브 용도로 특히 가성비가 좋죠.

핵심은, 이 대안들이 모두 S3 API와 호환된다는 거예요. 그러니까 기존에 AWS SDK로 작성한 코드에서 엔드포인트 URL만 바꿔주면 거의 그대로 동작해요. aws s3 cp 명령어도 그대로 쓸 수 있고, boto3 같은 라이브러리도 엔드포인트만 변경하면 되고요.

이건 AWS만의 문제가 아니에요

사실 이 이야기의 본질은 S3가 나쁘다는 게 아니에요. S3는 전 세계에서 가장 검증된 오브젝트 스토리지이고, 대규모 서비스를 운영할 때 필요한 기능들을 빠짐없이 갖추고 있거든요. 문제는 "간단한 것도 복잡하게 만드는" 클라우드의 경향이에요.

AWS뿐 아니라 GCP, Azure도 마찬가지예요. 클라우드 서비스들이 엔터프라이즈 고객을 위해 기능을 계속 추가하다 보니, 작은 프로젝트에는 과한 설정이 기본으로 깔려 있는 거죠. 이건 개발 도구 전반에 걸친 트렌드이기도 해요. Kubernetes도 비슷한 비판을 받잖아요. "도커 컨테이너 몇 개 돌리고 싶었을 뿐인데 왜 이렇게 복잡하지?"라는.

한국 개발자에게 주는 시사점

한국에서 사이드 프로젝트나 스타트업을 시작할 때, 무조건 AWS S3부터 세팅하는 경우가 많은데요, 프로젝트 규모에 맞는 선택이 중요해요. 트래픽이 적은 초기 서비스라면 Cloudflare R2로 시작하면 비용도 아끼고 설정도 훨씬 간단해요. 나중에 규모가 커지면 그때 S3로 마이그레이션해도 API가 호환되니까 큰 문제가 없고요.

실무에서도 개발 환경에서는 MinIO를 로컬에 띄워서 테스트하고, 프로덕션에서만 S3를 쓰는 패턴이 꽤 유용해요. Docker Compose에 MinIO 컨테이너 하나 추가하면 로컬에서도 S3 API를 완벽하게 테스트할 수 있거든요.

NHN Cloud의 Object Storage나 네이버 클라우드의 Object Storage 같은 국내 서비스도 S3 호환 API를 제공하니까, 데이터 주권이나 레이턴시가 중요하다면 이쪽도 고려해보면 좋겠어요.

정리하자면

S3는 강력하지만, 모든 상황에 최선은 아니에요. 내 프로젝트 규모와 요구사항에 맞는 스토리지를 골라 쓰는 것도 좋은 엔지니어링 판단이에요. 여러분은 파일 스토리지로 뭘 쓰고 계시나요? 혹시 S3 설정하다가 삽질했던 경험이 있다면 공유해주세요!


🔗 출처: Hacker News

이 뉴스가 유용했나요?

TTJ 코딩클래스 정규반

월급 외 수입,
코딩으로 만들 수 있습니다

17가지 수익 모델을 직접 실습하고, 1,300만원 상당의 자동화 도구와 소스코드를 받아가세요.

144+실전 강의
17개수익 모델
4.9수강생 평점
정규반 자세히 보기

"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"

실제 수강생 후기
  • 비전공자도 6개월이면 첫 수익
  • 20년 경력 개발자 직강
  • 자동화 프로그램 + 소스코드 제공

매일 AI·개발 뉴스를 받아보세요

주요 테크 뉴스를 매일 아침 이메일로 전해드립니다.

스팸 없이, 언제든 구독 취소 가능합니다.