# Cloudflare에서 Bunny.net으로 전환

> Clean Markdown view of GeekNews topic #28318. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=28318](https://news.hada.io/topic?id=28318)
- GeekNews Markdown: [https://news.hada.io/topic/28318.md](https://news.hada.io/topic/28318.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2026-04-09T00:32:50+09:00
- Updated: 2026-04-09T00:32:50+09:00
- Original source: [jola.dev](https://jola.dev/posts/dropping-cloudflare)
- Points: 6
- Comments: 1

## Topic Body

- 중앙집중화된 **Cloudflare 의존성**을 줄이기 위해 개인 블로그를 **bunny.net**으로 이전한 사례
- **bunny.net**은 슬로베니아 기반의 **유럽 CDN 서비스**로, 전 세계적으로 빠른 성능과 효율적인 PoP 네트워크를 제공
- 도메인 등록은 **Porkbun**을 사용하고, Cloudflare의 “Orange Cloud” 기능을 bunny.net 환경으로 이전
- **Pull Zone**, **캐싱 정책**, **SSL 인증**, **Edge Rule** 등 단계별 설정을 통해 CDN을 완전하게 구성
- **DDoS 보호**, **Origin Shield**, **Stale Cache** 등 기본 기능만으로도 안정적이며, 개인 사용자에게 **Cloudflare의 실질적 대안**이 될 수 있음

---

### Cloudflare에서 bunny.net으로 이전
- **Cloudflare 의존성**과 중앙집중화 문제를 줄이기 위해 개인 블로그를 **bunny.net**으로 이전한 과정과 설정 방법을 정리
  - Cloudflare는 무료로 강력한 기능을 제공하지만, 단일 기업에 대한 의존이 커지고 장애 시 인터넷 전반에 영향을 미치는 구조임
  - 미국 기업 중심의 인터넷 집중화에 대한 불편함과 여러 논란으로 인해 대안을 모색함

### Bunny.net 개요
- **bunny.net**은 슬로베니아 기반의 **유럽 기업**으로, Cloudflare와 경쟁 가능한 **CDN 서비스**를 제공
  - 전 세계적으로 높은 **성능과 속도**를 보이며, PoP 네트워크 규모는 작지만 효율적임
  - 유럽 기술 생태계 성장을 지원한다는 점에서 긍정적으로 평가됨

### Cloudflare에서 벗어나기
- 블로그 도메인 등록기관으로 Cloudflare를 사용했으나, **유럽 내 대안**을 찾기 어려웠음
  - INWX는 무료 WHOIS 프라이버시가 없어 제외하고, 대신 **Porkbun**을 선택
  - Porkbun은 Cloudflare 인프라를 사용하지만 **지원 품질이 우수**함
- Cloudflare의 “**Orange Cloud**” 기능(자동 캐싱, 오리진 숨김, 보호 기능)을 bunny.net으로 이전

### Bunny.net 설정 단계
- ## 계정 생성
  - 가입 시 **14일간 20달러 크레딧** 제공, 신용카드 등록 시 추가 30달러 제공
  - 이메일 인증 후 설정 가능하며, **사용량 기반 과금제**(최소 월 1달러) 적용
  - “사용자가 제품이 아닌 고객이 되는” 구조로 전환
- ## Pull Zone 생성
  - CDN 활성화를 위한 핵심 구성 요소로, **Origin URL**을 지정해 서버를 연결
  - 여러 앱을 운영 중이라면 **Host 헤더**에 도메인을 지정
  - **Standard 티어** 선택 후 지역별 **가격대가 다른 Zone**을 설정 가능
  - 비활성화한 지역의 사용자는 가장 가까운 활성 Zone으로 리디렉션됨
- ## Pull Zone 연결
  - “Add a custom hostname”에 웹사이트 도메인을 입력
  - 안내에 따라 **CNAME 레코드**를 추가해 CDN 경로를 연결 (`website.b-cdn.net` 형태)
  - DNS 전파 후 “Verify & Activate SSL” 클릭으로 SSL 인증 완료
  - 성공 시 웹사이트가 bunny.net CDN을 통해 서비스됨

### 캐싱 설정
- 웹사이트가 적절한 **Cache-Control 헤더**를 반환하면 bunny.net이 이를 존중
  - “Caching → General”에서 “Respect origin Cache-Control” 설정 확인
  - `no-cache`가 설정된 경우 캐싱하지 않음
- 캐시 헤더가 없는 경우 **Smart Cache** 기능으로 이미지, CSS, JS 등만 자동 캐싱
- Elixir Phoenix 기반 블로그에서는 `public` 파이프라인에 **커스텀 캐시 헤더 미들웨어** 추가
  - `cache-control: public, s-maxage=86400, max-age=0` 설정으로 HTML 페이지까지 캐싱
  - 새 글 게시 시 **Pull Zone 캐시를 수동으로 초기화**해야 최신 HTML 반영
- Larm 도구로 측정한 결과, 전 세계 여러 위치에서 **응답 속도 향상** 확인

### 권장 기본 설정
- “Force SSL” 활성화로 모든 요청을 HTTPS로 강제
- **DDoS 보호** 기본 제공, 추가로 **Origin Shield** 활성화 시 서버 부하 감소
  - 오리진 근처 위치를 선택해 캐시를 중앙화하고, 엣지 서버는 먼저 Origin Shield를 조회
- “Stale Cache: While Origin Offline / While Updating” 옵션으로
  - 오리진 장애 시에도 **캐시된 콘텐츠 지속 제공**
  - 업데이트 중에도 이전 캐시를 임시로 제공
- **Edge Rule**을 추가해 자동 생성된 pull zone 도메인을 실제 도메인으로 리디렉션
  - 규칙 이름: “Default domain redirect”
  - 동작: Redirect, 상태 코드 301
  - 조건: `*://&lt;slug&gt;.b-cdn.net/*` 요청 시 `https://jola.dev{{path}}`로 이동

### 마무리 및 평가
- 본 설정은 bunny.net의 **기본 기능**만 다루며,
  **Edge Rules, 고급 캐시 구성, 보안 Shield, 비디오 스트리밍, Edge Scripting, Edge Containers** 등은 아직 다루지 않음
- **대시보드의 통계·로그·메트릭**이 매우 상세하며, 요청 단위로 캐시 여부와 문제를 추적 가능
- 향후 모든 서비스를 bunny.net으로 이전 중이며, **S3 호환 스토리지 출시**를 기대
- 개인 사용자에게도 **Cloudflare 대안으로 충분히 경쟁력 있는 선택지**임

## Comments



### Comment 54946

- Author: neo
- Created: 2026-04-09T00:32:51+09:00
- Points: 1

###### [Hacker News 의견들](https://news.ycombinator.com/item?id=47675013) 
- 긍정적인 블로그 글이라면 **투명한 공개**를 위해 페이지의 모든 링크가 [Bunny Affiliate Program](https://bunny.net/affiliate/)으로 연결되어 있음을 명시하는 게 좋을 것 같음  
  - 내가 링크를 너무 많이 넣은 걸 깨닫고 일부를 제거했음. 단지 Bunny에 **제휴 프로그램**이 있다는 게 흥미로워서 추가했을 뿐, 의도적으로 숨긴 건 아님  
  - 법률 전문가는 아니지만, 보상이 있는 추천을 공개하지 않으면 **FTC 가이드라인** 위반이 될 수 있음. 미국뿐 아니라 영국에도 비슷한 규정이 있는 것으로 보임  

- 나는 **bunny.net**을 CDN과 DNS 용도로 사용 중임  
  무료 서비스는 언젠가 유료로 바뀔 수 있다는 불안이 있어서, 처음부터 소액이라도 내는 게 낫다고 생각함. $2에서 $3로 오르는 건 괜찮지만, 무료에서 $20로 바뀌는 건 위험함  
  게다가 개발자를 신경 써주는 **작고 독립적인 회사들**을 선호함. 그래서 bunny.net, transistor.fm, Plausible Analytics를 사용함  
  - 그럴 때는 그냥 다른 제공자로 옮기면 됨. CDN과 DNS는 **벤더 종속성**이 거의 없어서, 설정을 내보내고 다른 곳에 가져오면 됨  
  - 논리적으로 보면 Cloudflare가 무료 사용량을 줄이는 정도의 조정만 할 가능성이 큼. 현실적으로는 서로 파괴적인 가격 정책을 피하려 하기 때문임. 작은 회사를 쓰는 건 여전히 좋은 선택임  
  - 무료 서비스는 결국 공급자를 돕는 형태라 사용자가 **‘상품’** 이 되기 쉬움. 돈을 내면 가치 교환이 명확해짐  
  - 하지만 유료 서비스도 갑작스러운 가격 인상이나 조건 변경이 있을 수 있음  
  - 나도 같은 이유로 bunny.net을 사용함. 인터넷 생태계의 **다양성 유지**를 위해서이기도 함  

- 나는 Cloudflare Workers + Pages로 SaaS를 운영 중임. 서버리스 함수와 정적 사이트를 같은 저장소에서 배포할 수 있어 **개발 경험**이 매우 좋음  
  하지만 최근 CDN 엣지 캐시가 배포 후에도 오래된 HTML을 제공하는 문제를 겪었음. 디버깅이 어렵고, 어느 캐시 계층이 문제인지 추측해야 함  
  그래도 무료 티어로 시작하기엔 최고임. Workers, Pages, KV, R2로 거의 무료에 가까운 프로덕션 앱을 운영 가능함  
  - Cloudflare의 가장 큰 장점은 **wrangler CLI**임. Claude Code와 함께 쓰면 설정과 디버깅을 완전히 자동화할 수 있음  
  - Bunny도 비슷한 기능이 있음. SQLite 호환 API와 엣지 함수도 제공함. 나는 지역별 디버깅 문제 때문에 [dnsisbeautiful.com/global-http-availability](https://dnsisbeautiful.com/global-http-availability)라는 무료 툴을 만들었음  
  - 나도 같은 캐시 문제를 겪었고, 이를 해결하기 위한 스크립트를 공유한 사람도 있었음  
  - Bunny는 무료 티어는 없지만 **선불 결제 방식**이라 갑작스러운 과금 위험이 없음. 트래픽 폭증으로 수십만 달러가 청구되는 일은 없다는 점이 마음에 듦  
  - 우리는 배포 후 CI에서 캐시를 자동으로 비우도록 설정했음. 다만 캐시 전파 지연으로 인해 **stale 콘텐츠**가 다시 캐시될 수 있음  

- Cloudflare는 이제 단순한 CDN이 아니라 **엣지 플랫폼**임. 만약 Bunny로 쉽게 옮길 수 있다면, Cloudflare의 진짜 기능을 쓰고 있던 건 아님  
  WinterTC 같은 표준을 제대로 지원하지 않는 건 아쉬움. BunnySDK처럼 전용 serve 함수를 쓰는 건 오히려 더 심한 **독점 종속**임  
  - 참고로 Cloudflare의 엣지 플랫폼도 꽤 **폐쇄적**임  
  - WinterTC는 HTTP 서버 시작 방식을 명시하지 않음. 최소한 Fetch API의 Request/Response 인터페이스만 요구함  

- 우리는 Bunny를 여러 용도로 쓰고 있고 매우 만족 중임. 특히 **지원 품질**이 뛰어남. Cloudflare는 좋지만, 유료 엔터프라이즈 지원을 받지 않으면 한계가 있음. UpCloud도 지원이 훌륭함  

- “Cloudflare는 인터넷의 단일 실패 지점이다”라는 말은 자주 듣지만, 실제로는 더 복잡함  
  작은 서비스들이 다양하게 쓰이면 장애 분포가 달라질 수 있음. 대신 더 자주, 작은 규모의 장애가 생길 수도 있음  
  또한 Cloudflare의 인프라는 완전히 중앙집중적이지 않음. 일부 서비스는 지역별로 독립적임  
  - 하지만 단일 제공자를 쓰는 건 여전히 **단일 실패 지점**임. 진짜 복원력을 원한다면 여러 제공자를 병행해야 함. 즉, 자체 오리진 서버를 운영하고 CDN은 최소한으로 써야 함  

- 나는 1년 전에 Bunny로 옮겼고 매우 만족 중임. **EU 기반 CDN**을 지원할 수 있다는 점도 좋고, Magic Containers 덕분에 전 세계적으로 확장 가능한 API를 월 $1 수준으로 운영 가능함  
  - Magic Containers는 특히 **소규모 프로젝트**에 적합함. Cloudflare Durable Objects와 비슷한 기능을 훨씬 저렴하게 제공함  

- 이 글이 광고처럼 보일 수도 있겠지만 실제로는 단순한 경험 공유였음. 제휴 링크는 명시했고, 숨긴 의도는 없음  
  - “단일 실패 지점에서 또 다른 단일 실패 지점으로 옮겼다”는 비판은 오해임. 작성자는 자신의 사이트가 아니라 **인터넷 전체의 중앙화**를 우려한 것임. Bunny는 미국 중심 구조에 대한 대안임  
  - 일부는 이 스레드를 스팸으로 신고했음  

- 한 가지 주의할 점은, 교육기관 등에서 `*.b-cdn.net` 도메인을 **차단**하는 경우가 많다는 것임  
  - 우리도 Cloudflare R2를 CDN으로 썼다가 유럽 정부 기관 일부에서 자산이 차단되는 문제를 겪었음. Bunny로 옮기니 모두 해결됨  

- 아쉬운 점은 **무료 호스팅이 없음**임. 트래픽이 적어도 월 1유로(VAT 별도)는 내야 함  
  또한 CNAME flattening을 지원하는 DNS 제공자가 많지 않음. 캐시 무효화도 두 번 해야 제대로 반영됨  
  - 가격을 놀리는 사람도 있지만, 핵심은 금액이 아니라 **진입 장벽**임. 신용카드를 입력해야 한다는 점이 문제임  
  - “1유로가 너무 비싸다니”라며 비꼬는 반응도 있었음  
  - 사실 무료 티어가 없는 건 **버그가 아니라 기능**임. 예측 가능한 비용 구조를 위한 선택임  
  - GitHub Pages처럼 무료지만 자주 다운되는 서비스와 비교하면, 1유로는 충분히 낼 만한 금액임  
  - 결국 월 1.20유로면 되는 일임
