
목차
Cloudflare Pages와 Workers는 개인 프로젝트나 소규모 팀에게 매력적인 무료 배포 환경을 제공합니다. 하지만 '무료'라는 말에 안심하고 사용하다 보면 예상치 못한 빌드 실패나 요청 차단에 부딪힐 수 있습니다. 예산 없이 안정적으로 서비스를 운영하고 싶다면 Cloudflare 무료 요금제 제한의 구체적인 한도를 명확히 이해해야 합니다.
이 글에서는 Pages의 빌드 횟수와 Workers의 일일 요청량 등 핵심 제한 사항을 알아보고, 한도 초과를 피하기 위한 실용적인 팁까지 모두 알려드립니다.
1. Pages vs Workers: 무료 플랜 핵심 제한 비교
두 서비스의 무료 제한은 성격이 다릅니다. Pages는 빌드(배포) 횟수에, Workers는 일일 요청량에 중점을 둡니다.
구분 | Cloudflare Pages (Free) | Cloudflare Workers (Free) |
---|---|---|
핵심 제한 | 월 500회 빌드 | 일 10만 건 요청 (계정 단위) |
시간/성능 | 빌드 당 20분 타임아웃 | 호출 당 10ms CPU 시간 |
동시성 | 동시 빌드 1개 (계정 기준) | 버스트(순간 요청) 1,000 RPM |
기타 | - | 크론 트리거 5개 (계정 기준) |
공식 문서 | Pages Limits | Workers Limits |
2. Cloudflare Pages 무료 한도: 빌드, 타임아웃, 동시성
정적 사이트 배포에 주로 사용되는 Pages는 빌드와 관련된 제한이 중요합니다.
- 월 500회 빌드: CI/CD를 통해 커밋마다 자동 배포를 설정한 팀이라면 이 한도를 생각보다 빠르게 소진할 수 있습니다.
- 대응책: 브랜치별 빌드 제한,
Watch Paths
설정으로 특정 디렉토리 변경 시에만 빌드, 주간/야간 릴리즈 배치 전략을 활용해 빌드 횟수를 관리하세요.
- 대응책: 브랜치별 빌드 제한,
- 빌드 당 20분 타임아웃: 프로젝트 규모가 커지거나 의존성이 많아지면 빌드 시간이 20분을 초과해 실패할 수 있습니다.
- 대응책: 프레임워크별 빌드 최적화(예: 프리렌더링 범위 축소), 의존성 캐싱을 통해 빌드 시간을 단축해야 합니다.
- 동시 빌드 1개: 계정 단위로 한 번에 하나의 빌드만 실행됩니다. 여러 프로젝트에서 동시에 PR이 머지되면 빌드가 큐에 쌓여 대기하게 됩니다.
- 대응책: 팀 내 릴리즈 캘린더를 공유하거나, 머지 시간을 조율하여 병목 현상을 관리하는 것이 좋습니다.
더 자세한 내용은 Cloudflare Pages 공식 제한 문서에서 확인하세요.
3. Cloudflare Workers 무료 한도: 요청, CPU, 크론
서버리스 코드를 실행하는 Workers는 트래픽과 직접 연관된 제한을 가집니다.
- 일 10만 건 요청: 계정에 연결된 모든 Workers와 Pages Functions의 요청을 합산하여 계산됩니다. 매일 자정(UTC)에 리셋됩니다.
- 대응책: 캐시를 적극적으로 활용해 오리진(Worker) 호출을 최소화하고, 반복적인 작업은 크론 트리거로 묶어 비동기 처리하는 것이 좋습니다.
- 호출 당 10ms CPU 시간: 무료 요금제에서는 각 요청을 처리하는 데 사용할 수 있는 CPU 시간이 10ms로 매우 짧습니다. 복잡한 연산이나 외부 API를 여러 번 호출하는 로직은 이 한계를 넘기 쉽습니다.
- 대응책: 무거운 작업은 Queues(유료)나 Durable Objects 같은 다른 서비스로 분리하고, R2/D1/KV를 활용해 응답 속도를 높이세요.
- 크론 트리거 5개: 무료 계정당 최대 5개의 주기적인 작업을 설정할 수 있습니다.
- 대응책: 여러 개의 주기성 작업을 하나의 배치(batch) 작업으로 통합하여 크론 트리거 사용을 최소화하세요.
요청 및 가격 정책은 Workers 가격 정책 문서에서 더 알아볼 수 있습니다.
4. 주의! Pages Functions와 Workers 요청 쿼터는 공유됩니다
많은 사용자가 놓치는 중요한 사실입니다. Cloudflare Pages의 서버리스 기능인 Functions로 들어온 모든 요청은 Workers의 일일 요청 쿼터(10만 건)에 합산됩니다.
예를 들어, 순수 Workers 스크립트가 5만 건, Pages Functions가 5만 건의 요청을 처리했다면 그날의 무료 쿼터는 모두 소진됩니다. 여러 프로젝트에서 Functions를 사용한다면 합산 영향을 반드시 고려해야 합니다.
5. 상황별 한도 관리 전략
- 트래픽은 낮지만 배포가 잦은 경우: Pages 무료 플랜을 유지하되, 릴리즈 캘린더나 PR 머지 창을 제한하여 월 500회 빌드 한도를 관리합니다.
- 중간 수준의 트래픽과 간단한 API가 필요한 경우: 캐시 설정과 에지 라우팅으로 Workers 요청 및 CPU 사용량을 줄이고, Functions는 가벼운 핸들러 역할로만 사용합니다.
- 트래픽이 높고 동적 처리가 많은 경우: Workers 유료 플랜(Standard)으로 전환을 고려해야 합니다. 유료 플랜은 요청량과 CPU 시간을 늘려주고, Queues, Durable Objects 등을 활용해 부하를 효과적으로 분산시킬 수 있습니다.
6. 한도 초과 시 발생하는 일: Fail open/closed
일일 요청 쿼터를 초과하면 어떻게 될까요? Workers는 경로별로 두 가지 모드 중 하나로 동작하도록 설정할 수 있습니다.
- Fail open (기본값): 해당 경로의 Worker 실행을 건너뛰고 오리진 서버로 요청을 바로 전달합니다. 기능이 일시적으로 비활성화되지만 사이트 전체가 멈추지는 않습니다.
- Fail closed:
1027
오류 코드를 반환하며 요청을 차단합니다. 인증이나 보안처럼 반드시 실행되어야 하는 필수 로직에 적합합니다.
운영 중에는 Cloudflare 대시보드에서 사용량을 모니터링하고, 사용량이 임계치(예: 80%)에 도달하면 알림을 받도록 설정하여 예기치 않은 서비스 중단을 방지하는 것이 중요합니다.
7. 자주 묻는 질문 (FAQ)
- Q. Pages 무료 플랜은 트래픽(요청) 제한이 없나요?
A. 정적 콘텐츠 전송 자체에는 명시적인 일일 요청 한도가 없습니다. 하지만 월 500회 빌드와 빌드 당 20분 타임아웃이 실질적인 제약 조건입니다. 만약 Pages Functions를 사용한다면 Workers의 일 10만 요청 한도를 공유하게 되므로 간접적인 트래픽 제한이 생깁니다. - Q. Workers의 일 10만 요청을 초과하면 과금되나요?
A. 아니요. 무료 플랜에서는 과금되지 않고 요청이 차단되거나 우회(Fail open/closed 설정에 따라)됩니다. 쿼터는 매일 자정(UTC)에 리셋됩니다. - Q. 여러 개의 정적 사이트 프로젝트를 운영할 때 빌드 횟수 관리 팁이 있나요?
A. 네. 릴리즈 파이프라인을 주간/야간으로 분리하고,Watch Paths
기능으로 불필요한 빌드를 억제하세요. 또한, 개발용 프리뷰 브랜치 수에 상한을 두는 것도 좋은 방법입니다.
8. 마무리: 무료 플랜 체크리스트
Cloudflare 무료 플랜을 사용하기 전에 다음 항목들을 꼭 확인하여 예상치 못한 문제를 방지하세요.
- 릴리즈 빈도: 월 500회 빌드를 넘지 않도록 관리하고 있는가?
- 일일 요청량: Pages Functions와 Workers를 합쳐 일 10만 요청 내에서 운영 가능한가?
- 빌드/실행 시간: 빌드는 20분, Worker 호출은 10ms CPU 시간 내에 완료되는가?
- 동시성: 계정 단위 동시 빌드 제한을 인지하고 있는가?
이 가이드가 Cloudflare 무료 플랜의 한계를 명확히 이해하고, 여러분의 프로젝트를 성공적으로 운영하는 데 도움이 되기를 바랍니다.
함께 읽으면 좋은 글
면책 문구: 본문의 내용은 작성일 기준으로 정확하며, Cloudflare의 정책 및 요금은 변경될 수 있습니다. 가장 정확한 정보는 공식 문서를 참고하시기 바랍니다.