SSD Nodes Learn Hosting plans →
가이드 Matt Connor작성자 Matt Connor

Supabase 무료 플랜 제한 및 셀프 호스팅 비교

Supabase Free 플랜은 500MB 데이터베이스와 1주일 미사용 시 프로젝트 일시 중지 정책을 포함합니다. 서비스 운영을 위해 클라우드 플랜의 제약 사항과 직접 VPS에 스택을 구축하는 방식의 장단점을 상세히 비교해 드립니다.

Supabase는 무료인가요?

Supabase는 두 가지 방식으로 무료로 이용할 수 있으며, 이 둘은 서로 다른 제안입니다. 호스팅되는 Free 플랜은 비용이 발생하지 않습니다. Supabase의 결제 문서에 따르면 유료 플랜은 카드 등록이 필요하지만, Free 플랜에 대해서는 카드 등록에 관한 언급이 없습니다. 소스 코드가 공개되어 있으므로 전체 스택을 직접 VPS(가상 사설 서버)에 설치하여 운영하는 경우 라이선스 비용은 발생하지 않습니다. 한 가지 방식은 제한 사항을 기준으로 비용을 청구하고, 다른 방식은 직접 운영하는 노력을 기준으로 합니다.

2026년 10월 12일 확인 기준으로, supabase.com/pricing에는 0.5 GB의 데이터베이스, 1 GB의 파일 저장소, 5 GB의 데이터 전송량, 50,000명의 월간 활성 사용자(MAU)를 제공하며 최대 2개의 활성 프로젝트를 운영할 수 있는 Free 플랜이 명시되어 있습니다. 같은 페이지에는 이 서비스의 핵심적인 제약 사항이 기재되어 있습니다: "무료 프로젝트는 1주일 동안 활동이 없으면 일시 중지됩니다". 가격 정책 페이지는 수시로 변경될 수 있으므로, 계획을 세우기 전에 해당 수치들을 다시 확인하시기 바랍니다.

Free 플랜이 실제로 제공하는 혜택

차트Free and Pro included quotas, checked 12 October 2026
이 차트의 데이터
[
  {
    "plan": "Free",
    "db_gb": 0.5,
    "file_storage_gb": 1,
    "egress_gb": 5
  },
  {
    "plan": "Pro",
    "db_gb": 8,
    "file_storage_gb": 100,
    "egress_gb": 250
  }
]

MAU(월간 활성 사용자)는 결제 주기 내에 인증 이벤트를 발생시킨 고유 사용자의 수를 의미합니다. Supabase는 로그인, 토큰 갱신, 로그아웃을 그 예로 들고 있으므로, 별도의 로그인 없이 세션이 자동으로 갱신되는 사용자도 해당 월의 활성 사용자로 집계됩니다. 각 사용자는 주기당 한 번만 계산되므로, 50,000명은 아직 개발 중인 서비스에 충분한 수치입니다. 보통 사용자 수 제한보다 먼저 도달하는 한계는 따로 있습니다. 바로 0.5 GB의 Postgres 용량이나, Storage에서 이미지나 파일을 제공하기 시작할 때 발생하는 5 GB의 데이터 전송량(egress) 제한입니다.

활성 프로젝트 2개라는 제한은 더 눈에 띄지 않는 제약입니다. 운영용 프로젝트 1개와 스테이징용 프로젝트 1개만으로도 Free 플랜의 한도가 꽉 차기 때문에, 세 번째 아이디어를 구현하려면 기존 프로젝트를 기다리게 하거나 공유해서는 안 될 데이터베이스를 함께 사용해야 합니다.

저장 용량 제한보다 일시 중지가 더 중요한 이유

"무료 프로젝트는 1주일 동안 활동이 없으면 일시 중지됩니다"라는 문구는 대부분의 무료 플랜이 끝나는 지점입니다. 7일 동안 아무도 쿼리를 보내지 않는 프로젝트는 요청 처리를 중단합니다. README에 연결된 데모나 한 달에 한 번 사용하는 스테이징 API는, 당신이 링크를 보낸 사람이 클릭하는 바로 그 순간에 다운되어 있을 것입니다. 복구는 Supabase 대시보드의 Resume project 버튼을 통해 가능하며, 일시 중지 후 1년 동안 유지되므로 복구 자체는 빠르지만, 이는 당신이 상황을 지켜보고 있을 때만 유효합니다. Supabase는 프로젝트가 일시 중지되기 약 일주일 전에 경고 이메일을 발송하지만, 이는 누군가 해당 메일함을 확인해야만 도움이 됩니다.

이것이 호스팅 무료 티어가 가지는 실질적인 대가입니다. 당신은 돈을 지불하는 것이 아닙니다. 가용성을 대가로 지불하고 있으며, 플랜을 업그레이드하지 않고는 높일 수 없는 한계치를 감수하고 있는 것입니다.

Free 플랜 종료 시 Pro 및 Team 요금

차트Supabase list price per plan, checked 12 October 2026
이 차트의 데이터
[
  {
    "plan": "Free",
    "usd_per_month": 0
  },
  {
    "plan": "Pro",
    "usd_per_month": 25
  },
  {
    "plan": "Team",
    "usd_per_month": 599
  }
]

Pro 플랜은 월 25부터 시작하며, 프로젝트당 8 GB의 디스크, 100 GB의 파일 스토리지, 250 GB의 데이터 전송량(egress)을 포함합니다. 해당 용량을 초과할 경우 디스크는 GB당 $0.125, 파일 스토리지는 GB당 $0.0213, 캐시되지 않은 데이터 전송량은 GB당 $0.09의 요금이 부과됩니다. 캐시된 데이터 전송량은 250 GB의 별도 허용량을 제공하며, 초과 시 GB당 $0.03가 부과됩니다. 위 요금은 2026년 10월 12일 기준입니다. 또한 Pro 플랜을 사용하면 비활성 상태일 때 프로젝트가 일시 중지되는 현상이 사라집니다. Team 플랜은 월 599부터 시작하며, 사이드 프로젝트를 운영하는 1인 개발자가 아닌 규정 준수 및 접근 제어 기능이 필요한 조직을 위해 책정된 요금제입니다.

Pro 플랜에는 기본적으로 지출 한도(spend cap)가 설정되어 있습니다. 이 기본 설정은 중요합니다. 포함된 할당량을 초과할 경우 자는 동안 청구 금액이 늘어나는 대신 서비스가 제한되기 때문입니다. 한도를 해제한다는 것은 의도적으로 다른 방식의 장애 모드를 선택했다는 의미입니다. 이는 관리형 Postgres 비용과 직접 운영하는 VPS 비용을 비교할 때 수행하는 계산과 동일합니다. 관리형 서비스 비용은 대부분 타인의 온콜(on-call) 인력을 구매하는 비용이기 때문입니다.

셀프 호스팅의 실제 비용

라이선스 비용은 없습니다. Supabase 문서에서는 Docker를 "가장 빠르고 권장되는 셀프 호스팅 방식"으로 정의하며, 해당 스택은 일반적인 VPS에서 구동됩니다. 하지만 비용은 금전이 아닌 노동력의 형태로 발생하며, 문서에는 사용자가 직접 수행해야 할 작업이 명시되어 있습니다.

  • 서버 프로비저닝 및 유지보수
  • 보안 강화, OS 및 서비스 업데이트 유지
  • 서비스 구성 및 관리
  • Postgres 데이터베이스 유지보수
  • 고가용성 및 확장성 확보
  • 백업 및 재해 복구
  • 모니터링 및 가동 시간 관리

이 비용은 초기 설정 비용이 아니라 매주 발생하는 운영 비용으로 간주해야 합니다. 프로비저닝은 한 번으로 끝나지만, 업데이트와 백업 점검은 지속적으로 수행해야 합니다. 만약 복구 테스트를 한 번도 수행하지 않을 것이라는 결론에 도달한다면, 관리형 서비스를 이용하는 것이 더 경제적일 수 있습니다. 실제로 복구해 본 적 없는 백업은 백업으로서의 가치가 없기 때문입니다.

셀프 호스팅 Supabase에서 제공하지 않는 기능

셀프 호스팅 스택은 클라우드 호스팅 플랫폼과 완전히 동일하지 않습니다. 문서에 따르면 "브랜칭, 로그 외의 고급 메트릭, 관리형 백업 및 PITR, 분석 및 벡터 버킷, ETL, 관리 API"는 사용할 수 없습니다. PITR(시점 복구)은 마이그레이션 후 사용자가 가장 아쉬워하는 기능입니다. 호스팅 플랜에서는 설정을 켜기만 하면 되지만, 직접 운영하는 서버에서는 기본 백업과 WAL(Write Ahead Log) 아카이빙을 직접 구성해야 합니다. 또한 백업본을 서버 외부의 안전한 곳에 보관해야 하며, 복구 과정이 정상적으로 작동하는지 주기적으로 검증해야 합니다. pgBackRest와 같은 도구가 이러한 용도로 사용되며, 모든 설정은 사용자의 책임입니다.

웹 대시보드인 Studio는 셀프 호스팅 환경에서 "여러 조직이나 프로젝트를 지원하지 않습니다". 하나의 스택은 하나의 프로젝트에 대응합니다. 따라서 프로젝트 개수 제한을 피하기 위해 셀프 호스팅을 고려한다면, 하나의 대시보드 안에서 프로젝트를 추가하는 대신 별도의 포트나 서버를 사용하여 두 번째 스택을 구성할 계획을 세워야 합니다.

얻게 되는 결과

문서에 따르면, 셀프 호스팅 Supabase는 "본사로 데이터를 전송하거나 원격 측정을 수집하지 않습니다." 데이터 행과 사용자 테이블은 직접 임대한 하드웨어에 저장되므로, 고객 계약이나 규제 기관이 데이터 보관 국가를 지정하는 경우에 대한 완벽한 해결책이 됩니다.

또한 Postgres 자체를 온전히 소유하게 됩니다. 호스팅 플랫폼은 서버를 대신 튜닝하고 관리해 주지만, 직접 구축한 환경에서는 shared_buffers, max_connections, 확장 프로그램 목록, 그리고 앞단에 위치한 풀러(pooler)까지 모두 직접 설정해야 합니다. 특히 마지막 부분은 초기에 문제가 되기 쉬운데, 서버리스 함수나 트래픽이 많은 애플리케이션은 Postgres가 수용할 수 있는 것보다 더 많은 연결을 생성하기 때문입니다. 바로 이 지점에서 자체 VPS에서 PgBouncer나 Supavisor를 실행하는 것이 선택이 아닌 필수가 됩니다.

셀프 호스팅을 통해 가장 눈에 띄게 제거할 수 있는 제약은 데이터 송신(Egress) 비용입니다. Storage가 실제 방문자에게 이미지나 오디오를 제공하기 시작하면 5 GB는 순식간에 소진됩니다. 대부분의 VPS 요금제는 테라바이트 단위의 전송량을 포함하고 있으므로, 파일 비중이 높은 앱은 서버 자원을 소진하기 훨씬 전에 호스팅 서비스의 제한에 도달하게 됩니다. 만약 Storage 문제로 이 글을 읽고 있다면, 컴퓨팅 자원보다 디스크 비용을 먼저 산정하십시오. 블록 스토리지나 객체 스토리지에서 테라바이트당 실제 비용이 CPU 비용보다 전체 예산에서 더 큰 비중을 차지하기 때문입니다.

셀프 호스팅 스택 시작하기

문서화된 경로는 저장소의 docker 디렉터리를 얕게 복제(shallow clone)한 것이며, 셀프 호스팅 릴리스 태그에 고정되어 있습니다. 2026년 10월 12일 기준으로 해당 태그는 self-hosted/v0.8.2이며, 2026년 9월 23일에 태그가 지정되었습니다. Debian, Ubuntu, RHEL, CentOS 및 Fedora를 위한 공식 설정 스크립트가 supabase.link/setup.sh에 존재하며, 파일 트리를 직접 관리하는 git 저장소에 두고 싶다면 아래의 수동 복제 방식을 선택하는 것이 좋습니다.

git clone --depth 1 --branch self-hosted/v0.8.2 https://github.com/supabase/supabase
mkdir supabase-project
cp -rf supabase/docker/. supabase-project
cd supabase-project && cp .env.example .env
printf 'ref=self-hosted/v0.8.2\n' > .supabase-version
docker compose pull
sh utils/generate-keys.sh
sh utils/add-new-auth-keys.sh
sh run.sh start

sh utils/generate-keys.sh은 건너뛸 수 없는 단계입니다. .env.example에는 공개 저장소에서 누구나 읽을 수 있는 자리 표시자(placeholder) 형태의 보안 정보가 포함되어 있으므로, 해당 값으로 스택을 시작하면 포트를 발견한 누구에게나 서버가 노출됩니다. 문서는 그 직후 sh utils/add-new-auth-keys.sh을 실행하여 새로운 API 키와 비대칭 키 쌍을 추가하도록 안내합니다. 스택을 시작하기 전에 두 스크립트의 출력을 검토하고 .env를 확인하십시오. .supabase-version 파일에는 시작 시 사용한 태그가 기록되므로, 번들로 제공되는 update.sh을 사용하여 나중에 설치본을 업그레이드할 수 있습니다. 또한 .env에서 DASHBOARD_PASSWORD를 설정하십시오. Studio는 HTTP 기본 인증으로 보호되며, 문서는 해당 비밀번호에 최소 한 개의 문자가 포함될 것을 요구합니다.

모든 서비스가 실행 중이거나 정상 상태인지 나열하는 docker compose ps로 결과를 확인한 다음, 8000번 포트에서 Studio를 열고 대시보드 자격 증명으로 로그인하십시오. sh run.sh secrets는 생성된 키가 다시 필요할 때 이를 출력하며, sh run.sh stop은 스택을 종료합니다. 8000번 포트를 인터넷에 직접 공개하지 마십시오. 앞에 TLS(전송 계층 보안)를 적용한 리버스 프록시를 두거나 사설 네트워크 내에 유지하십시오. 해당 프록시와 먼저 변경해야 할 .env 값을 포함한 전체 과정은 Docker Compose를 사용한 Supabase 셀프 호스팅 단계별 가이드에서 확인할 수 있습니다.

어떤 무료 플랜이 적합한가

프로젝트를 구축하는 단계이며 아직 사용자가 없고, 일시 중단되어도 비용이 발생하지 않는다면 호스팅되는 Free 플랜을 선택하십시오. 이 플랜은 넉넉한 사용자 수를 제공하는 정식 플랜입니다. 또한, 언젠가는 이 플랜을 졸업하는 것을 전제로 합니다.

프로젝트에 다운타임을 인지하는 사용자가 생기기 시작하면 월 $25의 Pro 플랜을 선택하십시오. 이는 한 달 동안 백업을 확인하는 데 소요되는 시간보다 적은 비용이므로, 결제는 패배가 아닌 일정 관리의 결정입니다.

이미 VPS를 운영 중이며 다른 서비스를 위해 운영 업무를 수행하고 있거나, 데이터가 관할 구역을 벗어나서는 안 되거나, 스토리지 및 데이터 전송량 증가 속도가 서버 비용 증가 속도보다 빠를 때 셀프 호스팅을 선택하십시오. 이러한 선택의 기준은 모든 오픈 코어 제품에서 동일하게 반복됩니다. n8n의 무료 커뮤니티 에디션과 유료 티어 간의 차이 및 무료 Nextcloud Hub와 엔터프라이즈 구독 간의 차이도 같은 지점에서 동일한 경계를 긋고 있습니다. 무료 소프트웨어는 실제 워크로드를 처리하기에 충분히 완성되어 있습니다. 유료 제품은 아무도 관리하고 싶어 하지 않는 부분을 대신 관리해 주는 대가로 비용을 받습니다.

FAQ

Supabase 무료 플랜은 영구적으로 무료인가요?

가격 정책 페이지에 따르면 2026년 10월 12일 기준으로 Free 플랜에는 시간 제한이나 체험 기간이 없습니다. 또한 결제 문서상 유료 플랜은 카드 등록이 필수이지만, Free 플랜은 카드 등록을 요구하지 않습니다. 대신 다음과 같은 제한이 있습니다: 0.5 GB 데이터베이스, 1 GB 파일 스토리지, 5 GB 데이터 전송량, 월간 활성 사용자 50,000명, 활성 프로젝트 2개입니다. 대부분의 사용자에게 무료 이용이 종료되는 주된 이유는 할당량 때문이 아닙니다. "무료 프로젝트는 1주일 동안 활동이 없으면 일시 중지된다"는 규칙 때문입니다.

무료 Supabase 프로젝트가 일시 중지되면 어떻게 되나요?

요청 처리가 중단됩니다. API 호출은 실패하며, 대시보드에는 프로젝트가 일시 중지된 것으로 표시됩니다. 사용자가 Resume project 버튼을 눌러 복구할 수 있으며, 문서는 일시 중지 후 1년 동안 이 기능을 제공합니다. Supabase는 일시 중지 약 1주일 전에 경고 이메일을 발송하지만, 애플리케이션 자체에는 별도의 경고가 전달되지 않습니다. 따라서 한 달 전에 공유한 데모는 누군가 알려줄 때쯤이면 이미 중단되어 있을 가능성이 높습니다. 프로젝트가 언제든지 응답해야 한다면 Pro 플랜으로 전환하거나 직접 호스팅하십시오.

직접 호스팅하는 Supabase는 호스팅 버전과 동일한가요?

아닙니다. 문서에는 직접 호스팅 시 포함되지 않는 기능이 명시되어 있습니다: "브랜칭, 로그 외의 고급 메트릭, 관리형 백업 및 PITR, 분석 및 벡터 버킷, ETL, Management API". 또한 Studio는 "여러 조직이나 프로젝트를 지원하지 않으므로" 직접 호스팅하는 스택 하나당 프로젝트 하나만 운영할 수 있습니다. 데이터베이스, 인증, 스토리지, 실시간(realtime), 엣지 함수(edge function) 구성 요소는 호스팅 플랫폼에서 실행되는 소프트웨어와 동일합니다.

직접 호스팅하는 Supabase는 Supabase 측으로 데이터를 전송하나요?

아닙니다. 직접 호스팅 문서에 따르면 직접 호스팅 배포는 "본사로 데이터를 전송하거나 원격 측정을 수집하지 않습니다". docker compose pull을 실행할 때 컨테이너가 공개 레지스트리에서 이미지를 가져오는 것은 일반적인 이미지 다운로드일 뿐이며, 귀하의 데이터에 대한 보고가 아닙니다. 그 이후의 모든 데이터는 서버 내부에 머무르며, 이는 모든 백업과 보안 업데이트를 직접 관리해야 함을 의미합니다.