supabase, vercel, cloudflare, aws 무료 플랜을 비교해봤다
네 곳의 무료 한도를 나란히 놓고, 각각 어디서 먼저 터지는지와 언제 돈을 내야 하는지 정리했다.
이 블로그는 Cloudflare Pages 무료 플랜에 얹혀 있다. 그런데 뒤에 DB나 로그인 같은 걸 붙일 일이 생겨서 그 김에 자주 쓰는 네 곳의 무료 한도를 한 번 정리해봤다.
먼저 숫자부터 표로 놓는다. 다만 네 곳이 파는 물건이 서로 달라서 칸이 나란히 있다고 같은 것을 비교하는 건 아니다.
무료로 주는 것
| Supabase | Vercel (Hobby) | Cloudflare | AWS (무료 플랜) | |
|---|---|---|---|---|
| 파는 것 | Postgres + 인증·스토리지 | 배포 + 서버리스 함수 | CDN + 엣지 런타임 | 클라우드 전부 |
| 저장소 | DB 500MB, 파일 1GB | 별도 과금 | D1 5GB | DynamoDB 25GB |
| 전송량 | egress 5GB / 월 | 100GB / 월 | 정적은 무제한 | CloudFront 1TB / 월 |
| 요청·호출 | Edge Function 50만 / 월 | 함수 100만, edge request 100만 / 월 | Workers 10만 / 일 | Lambda 100만 / 월 |
| 계산 자원 | 공유 CPU, RAM 500MB | Active CPU 4시간, 메모리 360 GB-hr | 호출당 CPU 10ms | Lambda 40만 GB-초 / 월 |
| 빌드 | — | 하루 배포 100회, vCPU 2개 | 월 500회, 동시 1개 | — |
| 한도 초과 시 | 정지 | 30일 대기 | 그날 정지 | 과금 |
| 첫 유료 단계 | Pro $25 / 월 | Pro $20 / 월·시트 | $5 / 월 | 종량제 |
Supabase는 인증이 월 활성 사용자 5만 명까지고, Vercel은 이미지 변환이 월 5천 건 붙는다. Cloudflare Pages는 사이트당 파일 2만 개에 파일 하나 25MiB 제한이 있다. 세 가지 다 개인 블로그에서는 근처도 못 가는 숫자다.
표에 안 들어가는 것
숫자보다 이쪽이 실제로 먼저 걸린다.
Supabase — 놀면 잔다. 일주일 동안 아무 요청도 없으면 프로젝트가 일시정지된다. 대시보드에서 손으로 깨워야 한다. 사이드 프로젝트를 세워두는 사람에게는 이게 500MB보다 먼저 온다. 무료 플랜에는 자동 백업도 없다.
Vercel — 약관이 좁다. Hobby는 비상업적·개인 용도로만 쓸 수 있다. 애드센스를 붙이거나 뭔가를 팔기 시작하면 트래픽이 얼마든 Pro로 올라가야 한다. 숫자가 아니라 fair use 조항 문제라 넘길 여지가 없다.
Cloudflare — 일 단위로 끊는다. 정적 파일은 대역폭도 요청 수도 세지 않는데, Workers와 D1로 넘어가면 하루치로 끊긴다. 한 번 몰리면 그날 하루가 날아간다는 뜻이다. 대신 egress 요금이 아예 없다는 게 나머지 셋과 제일 다른 점인 것 같다.
AWS — 이제 프리티어가 아니라 크레딧이다. 예전의 “가입 후 12개월 무료”는 새로 만드는 계정에 더 이상 적용되지 않는다. 대신 가입하면 $100을 주고 정해진 활동을 하면 $100을 더 얹어준다. 유효기간은 6개월이고 지나거나 다 쓰면 계정이 닫힌다. 표의 상시 무료 한도는 그 뒤에도 남지만 유료 플랜이면 한도를 넘는 순간 멈추지 않고 그냥 과금된다. 예산 알람은 켜두는 게 좋다.
언제 유료로 넘어가야 하는가
무료 플랜은 공짜로 쓰라고 있는 게 아니라, 돈을 낼 이유가 생길 때까지 버티라고 있는 것이다. 그 이유가 생기는 자리는 대충 넷이다.
돈을 받기 시작할 때. Vercel이 제일 명확하다. 광고를 붙이거나 뭔가를 팔면 그날부터 Pro다. 한도 문제가 아니라 약관 문제다.
멈추면 안 되는 게 생겼을 때. 남이 쓰는 서비스가 되는 순간 “한도 넘으면 정지”는 장애와 같은 말이 된다. Supabase의 일시정지, Cloudflare의 일일 한도, Vercel의 30일 대기가 다 여기 걸린다. 월 $5에서 $25면 사는 게 마음 편하다.
잃으면 안 되는 데이터가 생겼을 때. Supabase 무료에는 자동 백업이 없다. 남의 데이터를 받기 시작했으면 백업 없는 상태로 두면 안 된다고 본다. 이건 트래픽과 상관없다.
세는 단위가 나와 안 맞을 때. 하루 10만 요청이 문제가 아니라 하루로 끊는 게 문제인 경우가 있다. 트래픽이 특정 시간에 몰리는 서비스라면 월 한도로 바뀌는 것만으로도 $5어치는 하는 셈이다.
반대로 이 넷 중 아무것도 해당되지 않으면 굳이 올릴 이유가 없다. 개인 블로그, 사이드 프로젝트, 나 혼자 쓰는 도구는 무료 플랜 안에서 몇 년도 버틴다.
여튼 이 블로그는 당분간 Cloudflare 무료로 갈 것 같다. 한도를 걱정하려면 트래픽이 먼저 와야 하는데, 아무래도 그건 아직 먼 얘기다.