몇 달 전, 저는 마침내 오픈 소스로 공개할 예정이었던 RTL-GPS GNSS 취미용 애플리케이션 작업을 완료했습니다. 이 애플리케이션에는 상당한 양의 문서가 포함되어 있었기에, 해당 파일들을 온라인으로 제공할 공간이 필요했습니다. 사실 필요한 것은 랜딩 페이지와 몇 가지 설정 노트가 포함된 기본적인 웹사이트뿐이었습니다.
평소라면 일반적인 호스팅 작업처럼 처리했을 것입니다. 저렴한 cPanel 호스팅이나 VPS를 구매하고, 도메인을 연결한 뒤, 기분이 내키면 WordPress를 설치하고, 나중에 유지 관리를 기억하려고 애썼을 것입니다.
하지만 고작 몇 개의 정적 HTML 및 PDF 파일을 위해 그렇게 하는 것은 터무니없게 느껴졌습니다.
그래서 저는 1달러를 주고 도메인 이름을 구매한 뒤, Cloudflare Pages를 사용하여 사이트 전체를 무료로 호스팅해 보기로 했습니다. 결국 제가 실제로 지불한 비용은 도메인 가격뿐이었습니다. 웹사이트 자체는 호스팅 비용이 전혀 들지 않으며, TLS가 포함되어 있고 Cloudflare의 프록시 연결로 보호됩니다.
관련 기사
Cloudflare WARP란 무엇인가? 사용해야 할까?
VPN 연결 시 발생하는 지연 시간이 걱정되시나요? 아니면 연결 보안 비용이 고민이신가요? WARP는 여러분을 위한 훌륭한 옵션입니다.
Cloudflare Pages로 호스팅의 번거로움과 비용을 해결하다
cPanel도, FTP도, 끝없는 설정도, 월간 청구서도 없습니다
RTL-GPS 웹사이트를 만드는 것이 가장 어려운 부분이었지만, 일단 완성하고 나니 Cloudflare에서 호스팅하는 것은 정말 간단했습니다. 저는 도메인 등록 업체에서 rtl-gps.online 도메인을 구매했고, 새 도메인을 Cloudflare에 연결할 때 제공받은 네임서버로 등록 업체의 네임서버를 변경했습니다.
이는 원래 등록 업체의 네임서버를 다음으로 변경하는 것만으로 해결되었습니다:
evelyn.ns.cloudflare.com jobs.ns.cloudflare.com Cloudflare가 변경 사항을 전파하고 기존 DNS 레코드를 가져오기를 기다리는 동안, 저는 웹사이트 파일이 깔끔하게 정리되어 Cloudflare Pages에 업로드할 준비가 되었는지 확인했습니다. 가장 중요한 점은 index.html 페이지가 루트 디렉토리에 있는지 확인하는 것이었습니다. Cloudflare가 가장 먼저 제공하는 페이지이기 때문입니다. 제 폴더 구조는 다음과 같았습니다:
rtl-gps-site/
index.html
getting-started.html
hardware-notes.html
downloads.html
404.html
style.css
images/
docs/
rtl-gps-quick-start.pdf
Rtl-gps-hardware-notes.pdf
Cloudflare에서 정적 사이트 페이지를 만들기 전에 도메인 등록 업체에서 마이그레이션된 기존 DNS 레코드를 모두 삭제하십시오.
파일 및 폴더 구조가 로컬에서 작동하는 것을 확인한 후, Cloudflare 네임서버가 이제 도메인을 제공하고 있다는 확인 이메일을 받았고, Cloudflare Pages를 만들기 시작했습니다.
Cloudflare 대시보드에서 정확한 위치를 찾는 것이 까다로웠지만, Build -> Compute -> Workers & Pages 메뉴에서 찾을 수 있었습니다. 기술적으로는 정적 사이트가 아닌 "Worker 애플리케이션"을 만드는 것이기 때문에 Cloudflare의 명명 체계가 여기서는 다소 생소할 수 있습니다.
애플리케이션을 생성하고 "Upload your static files(정적 파일 업로드)"를 선택한 후, 사이트 루트 디렉토리를 업로드하고 애플리케이션 이름을 "rtl-sdr-prod"로 지정한 다음, 읽기 전용 Worker 커스텀 도메인 레코드를 설정하기만 하면 되었습니다:
rtl-gps.online WORKER 레코드 > rtl-sdr-prod www.rtl-gps.online WORKER 레코드 > rtl-sdr-prod 변경 사항을 저장하자 Cloudflare Pages가 DNS 레코드와 HTTPS 인증서를 처리했고, 웹사이트는 몇 분 안에 가동되었습니다. VPS를 구축하고 보안 위험을 감수하거나 cPanel을 구성하는 것과 비교했을 때, Cloudflare Pages 프로세스는 훨씬 쉽고 간단했으며, 무엇보다 완전히 무료였습니다.
제가 지불한 유일한 비용은 도메인뿐입니다
2026년에도 웹사이트를 무료로 호스팅할 수 있다는 것이 상상하기 어렵지만, Cloudflare Pages가 이를 가능하게 했습니다
Cloudflare Pages를 발견하기 전에는 제 것과 같은 작은 웹사이트를 호스팅하더라도 매달 비용이 발생하고 유지 관리 및 백업이 필요했을 것입니다. 하지만 이 프로젝트는 도메인 이름 자체에 대한 비용인 1달러만 들었습니다.
일반적으로 ‘평생 무료’ 또는 ‘무료 티어’에는 많은 제한이 따르지만, Cloudflare Pages는 다음과 같은 인상적인 호스팅 기능을 제공했습니다:
최대 20,000개의 파일 프로젝트당 100개의 커스텀 도메인 월 500회 배포/빌드 개별 파일당 최대 25Mb 이 사양은 제 HTML 페이지, 이미지, 작은 PDF 다운로드 파일을 처리하기에 충분했습니다. 저는 대시보드 업로드를 사용했지만, 정적 페이지 애플리케이션이 GitHub 연결을 지원한다는 사실도 알게 되었습니다. 즉, 앞으로는 커밋을 만들고 Windows 11 GitHub 애플리케이션을 통해 업로드하여 모든 것을 깔끔하게 유지할 수 있습니다.
일반적인 호스팅 옵션과 비교해 보십시오. 공유 호스팅은 또 다른 계정과 갱신 날짜를 의미합니다. VPS는 더 많은 제어권을 줄 수 있었겠지만, 제가 직접 업데이트하고, 보안 패치를 적용하며, 웹 서비스 설치 중에 발생하는 문제를 해결해야 했을 것입니다. WordPress 호스팅도 옵션이었지만, 간단한 웹사이트를 위해 페이지, 데이터베이스, CSS 파일을 만드는 것은 확실히 과해 보였습니다.
저는 이미 웹 기반 서비스를 충분히 운영해 보았기에, 서버를 하나 더 돌리는 것이 말처럼 간단하지 않으며, 간단한 프로젝트에 비용만 더 추가될 뿐이라는 것을 알고 있습니다. 결국 이 프로젝트의 경우, 유료 호스팅 서비스가 제가 필요로 하는 추가적인 기능을 제공하지는 않았을 것입니다.
여전히 진짜 웹사이트처럼 느껴집니다
커스텀 도메인, HTTPS, 다운로드, 심지어 몇 개의 오류 페이지까지 있어 진짜처럼 느껴집니다(실제로도 그렇습니다)
완성된 웹사이트는 타협한 것처럼 느껴지지 않았습니다. 실제 도메인 이름을 사용하고, HTTPS로 로드되며, Cloudflare의 TLS 엣지 인증서를 보유하고, Cloudflare의 프록시 덕분에 실제 DDoS 및 DoS 방어 기능을 갖추고 있습니다.
Cloudflare를 사용하면 404.html 오류 페이지를 제공할 수도 있는데, 저는 사이트의 완성도를 높이기 위해 다른 페이지와 함께 이 페이지도 포함했습니다. 웹 서버가 제공하는 기본 404 페이지에 갇히는 대신, 사이트의 나머지 부분과 동일한 스타일로 직접 제작하여 방문자가 다시 올바른 경로로 돌아갈 수 있도록 유용한 링크를 포함했습니다. 무료 서비스치고는 작지만 정말 훌륭한 배려입니다.
또한 Cloudflare Workers와 Pages를 다루면서 필요하다면 확장할 여지가 있다는 것도 알게 되었습니다. Cloudflare Pages는 단순히 HTML 페이지를 제공하는 것 이상의 기능을 수행할 수 있습니다. 폼 처리, 인증, 미들웨어와 같은 제한적인 서버 측 기능을 추가할 수 있으며, 전용 서버를 실행하지 않고도 작은 API를 지원할 수도 있습니다.
Cloudflare에는 Google의 reCAPTCHA에 대한 대응책인 Turnstile도 있습니다. 이는 VPN이나 공유 IP 주소를 사용하는 사람들에게 훨씬 덜 성가십니다. 제 프로젝트 웹사이트에 이런 기능이 필요한 것은 아니었지만, 나중에 필요할 때 사용할 수 있다는 사실을 아는 것만으로도 좋았습니다.
단점 또한 핵심입니다
정적 호스팅은 동적 페이지와 서버 측 처리를 대체할 수 없지만, 바로 그 점이 유용한 이유이기도 합니다
Cloudflare Pages는 정적 호스팅이므로 모든 유형의 웹 호스팅 플랫폼을 대체할 수는 없습니다. 사용자 계정, 데이터베이스, 동적 대시보드, 업타임 로봇 또는 지속적인 서버 측 로직이 필요한 기능을 추가해야 한다면 정적 호스팅으로는 부족합니다.
이는 솔직한 한계이지만, 제가 이 서비스를 그토록 좋아하는 이유이기도 합니다. 간단한 정적 사이트는 고장 나서 모든 것을 중단시킬 수 있는 움직이는 부품이 훨씬 적습니다. 패치해야 할 WordPress 플러그인도, PHP를 망가뜨릴 서버 패키지도, 악용되기를 기다리는 취약한 웹 앱도 없습니다. 문제가 발생하면 이전 배포 버전으로 되돌리거나 폴더를 다시 업로드하여 사이트 전체를 다시 배포하면 그만입니다.
제 웹사이트와 같은 경우, 단순함이 가장 큰 장점입니다. 제 프로젝트 랜딩 페이지는 백엔드가 필요 없었으므로, 가장 똑똑하고(그리고 가장 저렴한) 호스팅 옵션은 유지 관리가 훨씬 덜 필요한 것이었습니다.
작은 프로젝트에 다시 사용할 의향이 있습니다
하지만 지금 당장 사용하는 모든 호스팅 서버를 해지할 생각은 없습니다
Cloudflare Pages를 사용해 본 후, 저는 제가 사용하는 몇몇 유료 호스팅 웹사이트를 마이그레이션하는 것을 진지하게 고려하고 있습니다. 제가 필요한 용도에 가격이 적절하기 때문입니다. RTL-GPS 프로젝트 사이트는 기본적으로 (예쁜 스타일이 적용된) 공개 폴더에 불과한 웹사이트의 경우, 정적 호스팅만으로도 충분하다는 것을 다시 한번 일깨워 주었습니다.
저는 개인 포트폴리오, 프로젝트 문서, 또는 링크 및 다운로드 허브를 위해 이 설정을 다시 사용할 것입니다. HTML, 텍스트, 이미지, 파일을 보관할 공간만 필요한 것이라면 무엇이든 Cloudflare Pages의 혜택을 확실히 누릴 수 있습니다.
Cloudflare Pages의 가장 큰 매력은 제가 돌이켜봤을 때 애초에 지불할 필요가 없었던 유료 호스팅 서비스를 대체했다는 점입니다. 그렇긴 하지만, 동적 페이지와 서버 측 처리가 필요한 제 다른 프로젝트들은 Cloudflare에서 운영하기 어렵습니다.
결국 도메인 비용은 1달러밖에 들지 않았고 호스팅은 무료였던 이 사이트에 대해 제가 가진 유일한 후회는 더 빨리 이 서비스를 찾지 못했다는 것뿐입니다.
관련 기사
Google DNS vs. Cloudflare DNS: 가장 빠른 DNS는 무엇일까?
ISP의 DNS를 고집할 필요는 없습니다. Google이나 Cloudflare로 전환하면 더 빨라질 수 있는데, 과연 어느 쪽이 더 좋을까요?
