클라우드플레어 사용법: 바이브코딩 앱을 무료 티어로 배포하는 순서
이 글의 독자바이브코딩으로 앱을 만들었는데 배포 주소와 데이터를 어디에 둘지 고르지 못한 비개발자와 초보 개발자
한줄 요약: 바이브코딩으로 만든 앱을 내보낼 때 필요한 것은 주소, 데이터 저장소, 백업 세 가지입니다. 클라우드플레어에서 도메인을 사고, Pages로 배포해 도메인을 연결하고, D1에 데이터를 두고, R2에 백업하는 순서를 무료 티어 한도와 함께 정리했습니다. 앱은 만들었는데 어디에 올릴지 정하지 못한 사람에게 맞는 글입니다.
목차
- 바이브코딩 앱을 내보낼 때 막히는 세 가지
- 도메인부터 산다
- 클라우드플레어에서 쓰는 제품과 역할
- 배포 순서
- CLI로 AI에게 해 줘라고 시키기
- 무료 티어로 부족해지는 순간
- 막혔을 때
- 배포한 뒤에 남겨야 할 것
AI에게 앱을 만들어 달라고 하면 화면은 금방 나옵니다. 그다음 질문이 막힙니다. 이 앱을 어느 주소로 열고, 사용자가 남긴 데이터는 어디에 두고, 날아가면 무엇으로 되살리는가입니다. 제가 스레드에 이렇게 적은 적이 있습니다.
바이브코딩하고싶으면 클라우드플레어 기억하십쇼. 데이터베이스, 도메인, 백업, 연결 등등 무료티어로도 충분한데
(스레드, 필자 @buildnwrite, 2026년 9월 10일)
이 글은 그 말을 순서로 풀어 둔 것입니다. 한도와 메뉴 이름은 2026년 10월 5일에 공식 문서로 확인했습니다.
1. 바이브코딩 앱을 내보낼 때 막히는 세 가지
내 컴퓨터에서만 돌던 앱을 남이 쓰게 하려면 세 가지가 붙어야 합니다.
| 필요한 것 | 없으면 생기는 일 | 클라우드플레어 제품 |
|---|---|---|
| 주소 | 남에게 알려 줄 링크 없음 | Registrar(도메인), Pages |
| 데이터 저장소 | 입력값을 보관할 곳 없음 | D1 |
| 백업 | 데이터가 지워지면 되돌릴 길 없음 | R2 |
클라우드플레어에서는 이 세 가지를 한 계정 안에서 붙일 수 있습니다. 백업 칸에는 제 경험이 하나 있습니다. 홈서버가 맥미니 한 대뿐인데, 클로드가 백업 서버가 필요하다며 R2를 제안했습니다. 백업 전략이 살짝 불안했는데 그 제안에 든든해졌습니다.
2. 도메인부터 산다
배포 순서의 첫 칸은 도메인 구입입니다. 스레드에 적은 원문은 이렇습니다.
바이브코딩해서 배포하시는 분들께, vercel 도메인쓰지말고 만원/년으로 도메인 하나 사라고 적극 말해주고 싶다!
(스레드, 필자 @buildnwrite, 2026년 9월 8일)
클라우드플레어에서 도메인을 사는 제품이 Registrar입니다. Registrar 소개 페이지는 등록 기관과 ICANN이 받는 값만 받고 이윤을 붙이지 않는다고 안내합니다.
- 가격은 도메인 끝자리마다 다르니 구입 화면에서 확인합니다.
- 클라우드플레어에서 살 수 있는 끝자리는 지원 도메인 목록 문서에서 먼저 확인합니다. 검색 목록에 안 나오는 끝자리는 등록할 수 없다고 적혀 있습니다.
- 도메인 자체(
example.com)를 Pages에 붙이려면 그 도메인의 네임서버를 클라우드플레어로 옮겨야 합니다.app.example.com같은 하위 주소만 붙일 때는 옮기지 않아도 됩니다.
3. 클라우드플레어에서 쓰는 제품과 역할
저는 클라우드플레어를 기타 인프라용으로 쓰는데, 무료 티어로도 충분히 활용하고 있습니다. 바이브코딩 앱 하나를 내보낼 때 쓰는 제품은 아래 다섯입니다. 무료 한도는 공식 문서 기준입니다.
| 제품 | 하는 일 | 무료 한도 (2026년 10월 5일) | 공식 문서 |
|---|---|---|---|
| Registrar | 도메인 구입, 갱신 | 무료 아님, 원가 판매 | Registrar |
| Pages | 화면(정적 파일) 배포 | 정적 파일 요청 무제한, 빌드 월 500번 | Pages 한도 |
| Workers | 서버 코드 실행 | 요청 하루 10만 건 | Workers 요금 |
| D1 | 데이터베이스 | DB 하나당 500MB, 계정 전체 5GB, 하루 읽기 500만 행, 쓰기 10만 행 | D1 한도 |
| R2 | 파일 보관(백업) | 저장 월 10GB, 내보내는 전송료 무료 | R2 요금 |
Pages 한도 문서를 열면 빌드 한도가 맨 위에 있습니다.
- 빌드는 한 번에 하나씩 돌고, 20분이 지나면 시간 초과로 멈춥니다. 동시 빌드는 계정 단위로 셉니다.
- Git 저장소에 새 코드를 올릴 때마다 Pages가 다시 빌드합니다. 커밋을 자주 올리면 빌드 횟수가 빨리 찹니다.
- 프로젝트 하나에 연결할 수 있는 도메인은 100개입니다.
4. 배포 순서
다섯 칸을 이 순서로 붙입니다. 도메인 연결은 Pages 프로젝트가 있어야 할 수 있어서 배포 다음에 옵니다.
각 칸에서 누르는 메뉴는 이렇습니다.
- 도메인 구입. 2절대로 Registrar에서 삽니다. 이 단계에서는 사 두기만 합니다.
- Pages 배포. 앱의 빌드 결과 폴더(보통
dist)를 올리면프로젝트이름.pages.dev주소가 생깁니다. Git 저장소를 연결하면 코드를 올릴 때마다 자동으로 다시 배포됩니다. - 도메인 연결. 대시보드의 Workers & Pages에서 그 프로젝트를 고르고 Custom domains > Set up a domain을 누릅니다(공식 문서). 연결한 뒤에도 pages.dev 주소는 그대로 열립니다.
- D1 연결. 데이터베이스를 만든 뒤 Pages 프로젝트의 Settings > Bindings > Add > D1 database bindings에서 이어 줍니다. 연결한 뒤에는 다시 배포해야 반영됩니다(공식 문서).
- R2 백업. D1 내용을 파일로 내보내 R2 버킷에 올립니다. 명령은 5절에 있습니다.
5. CLI로 AI에게 해 줘라고 시키기
위 순서를 대시보드에서 하나씩 눌러도 됩니다. 더 쉬운 길은 wrangler를 설치하고 AI 코딩 도구에게 명령 실행을 맡기는 것입니다. 공식 문서는 wrangler를 클라우드플레어 개발자 플랫폼의 CLI라고 소개합니다.
설치는 앱 폴더에서 npm i -D wrangler@latest 한 줄이고, npx wrangler --version으로 확인합니다(설치 문서). 그다음 단계별 명령은 아래와 같습니다. 꺾쇠 안은 내 이름으로 바꿉니다.
npx wrangler login # 처음 한 번, 브라우저에서 계정 연결
npx wrangler pages project create <프로젝트-이름> # Pages 프로젝트 만들기
npx wrangler pages deploy dist --project-name=<프로젝트-이름> # 빌드 폴더 올리기
npx wrangler d1 create <데이터베이스> # D1 만들기
npx wrangler d1 export <데이터베이스> --remote --output=backup.sql
npx wrangler r2 bucket create <버킷> # 백업 버킷 만들기
npx wrangler r2 object put <버킷>/backup.sql --file=backup.sql --remote
AI에게는 이렇게 맡기면 됩니다. “wrangler로 이 앱을 Pages에 배포하고, D1 데이터베이스를 만들어 연결해 줘. 실행한 명령은 전부 보여 줘.” 마지막 문장을 넣어 두면 AI가 어떤 명령을 실행했는지 확인할 수 있습니다.
6. 무료 티어로 부족해지는 순간
공식 문서의 무료 한도와 유료 한도를 나란히 놓으면 아래와 같습니다. Workers Paid와 Cloudflare Pro는 서로 다른 유료 상품입니다.
| 항목 | 무료 | 유료 |
|---|---|---|
| 서버 코드 요청 | 하루 10만 건, 한국 시간 오전 9시(UTC 자정) 초기화 | Workers Paid(계정당 최소 월 5달러): 월 1,000만 건 포함, 넘으면 100만 건당 0.30달러 |
| D1 저장 | DB 하나당 500MB, 계정 전체 5GB | Workers Paid: DB 하나당 10GB |
| D1 되돌리기 | 최근 7일 | Workers Paid: 최근 30일 |
| Pages 빌드 | 월 500번, 한 번에 하나 | Cloudflare Pro 요금제: 월 5,000번 |
- 화면 파일 요청은 무제한이지만, Pages에 넣은 서버 코드 요청은 Workers의 하루 10만 건에 같이 잡힙니다(공식 문서). D1을 부르는 코드가 여기에 들어갑니다.
- D1의 되돌리기 기능(Time Travel)은 무료에서 7일보다 오래된 시점으로 돌아가지 못합니다(공식 문서). 그보다 오래 보관하려면 R2에 따로 백업합니다.
- Workers Paid 최소 요금과 요청 단가는 Workers 요금 문서, D1 용량은 D1 한도 문서 기준입니다.
7. 막혔을 때
공식 문서에 적힌 증상만 모았습니다.
| 증상 | 원인 | 할 일 |
|---|---|---|
| 내 도메인으로 열면 522 오류 | Pages에서 도메인을 연결하기 전에 도메인 설정에 Pages 주소로 가는 기록부터 직접 추가 | Custom domains에서 도메인 연결부터 진행 |
example.com 연결 안 됨 |
네임서버가 클라우드플레어가 아님 | 도메인을 산 곳에서 네임서버 변경 |
| 1027 오류 페이지 | Workers 하루 요청 한도 초과(한도를 넘으면 오류를 보여 주도록 설정한 경우) | UTC 자정 초기화 대기 또는 유료 전환 |
| 데이터 저장 실패, 한도 초과 오류 | D1 하루 읽기, 쓰기 한도 초과 | 다음 날 대기 또는 유료 전환 |
| 데이터를 넣을 수 없음 | D1 저장 한도 도달(DB 하나당 500MB, 계정 전체 5GB) | 쓰지 않는 데이터 정리 |
- 출처: 도메인 연결 문서, Workers 한도 문서, D1 요금 문서, D1 한도 문서
- 도메인 연결 문서는 도메인 연결을 Pages에서 뺐다가 다시 넣으면 활성화가 늦어진다고도 적습니다.
8. 배포한 뒤에 남겨야 할 것
스레드에 바이브코딩 앱이 돈이 안 되는 이유 다섯 가지를 적으면서 1번과 5번을 이렇게 썼습니다.
만드는 것보다 알리는 게 백만 배 어렵다 / 배포하면 셋 중 하나는 남겨라. 경험, 데이터, 돈. 뒤로 갈수록 어렵다
(스레드, 필자 @buildnwrite, 2026년 9월 20일)
배포를 마쳤다면 다음 두 가지를 해 봅니다.
- 내 도메인 주소를 써 볼 사람 한 명에게 보내 실제로 열리는지 확인받습니다.
- 5절의 export 명령으로 D1 백업 파일을 하나 만들어 R2에 올려 둡니다.
앱에 로그인을 붙일 차례라면 바이브코딩 Supabase 로그인 붙이기 글이, Supabase 키가 헷갈린다면 Supabase 키 고르는 글이 다음 단계입니다. 서버라는 말부터 낯설다면 서버가 뭔가요를 먼저 보세요.
무료 한도, 메뉴 이름, 명령어는 2026년 10월 5일 Cloudflare 공식 문서 기준입니다. 결제 전에는 각 제품의 요금 문서를 다시 확인하세요.
자주 묻는 질문
- 클라우드플레어는 무료로 계속 쓸 수 있나요?
- 무료 티어는 사용량 한도로 정해집니다. 공식 문서 기준으로 Pages는 정적 파일 요청이 무료이고 무제한입니다. D1은 데이터베이스 하나당 500MB, 계정 전체 5GB까지 저장할 수 있고 하루 쓰기는 10만 행입니다. R2는 저장 10GB가 무료입니다. 한도는 바뀔 수 있으니 각 제품의 요금 문서를 직접 확인하세요(2026년 10월 5일 확인).
- 도메인은 꼭 사야 하나요?
- 꼭 사야 배포되는 것은 아닙니다. Pages 프로젝트에는 pages.dev로 끝나는 주소가 자동으로 붙습니다. 필자는 바이브코딩으로 배포하는 분들께 Vercel 도메인을 쓰지 말고 내 도메인을 하나 사라고 권합니다. 클라우드플레어 Registrar는 등록 기관과 ICANN이 받는 값에 이윤을 붙이지 않는다고 안내합니다.
- 직접 명령어를 몰라도 배포할 수 있나요?
- 클라우드플레어의 CLI인 wrangler를 설치해 두면 Pages 배포, D1 데이터베이스 만들기, R2에 파일 올리기를 명령 한 줄씩으로 할 수 있습니다. 클로드 코드 같은 AI 코딩 도구에게 이 명령을 실행해 달라고 맡기면 됩니다. 처음 한 번은 사람이 wrangler login으로 계정을 연결해야 합니다.
댓글