GitHub Pages에서 Cloudflare Pages로 이사한다

GitHub Pages를 쓰다가 Cloudflare Pages로 옮긴다. 이유는 단순하다. 더 낫기 때문이다.


운영 방식은 이렇다.


사이트는 Cloudflare Pages의 Direct Upload 방식으로 배포한다. 글과 설정 데이터는 D1에 저장한다. 

이미지는 R2에 넣는다. OAuth 비밀값은 Cloudflare Worker Secret에 보관한다. Admin 로그인 여부는 저장소가 공개인지 비공개인지와 상관없이 독립적으로 작동한다.


구조를 나눠보면 다음과 같다.

  • 정적 페이지: Cloudflare Pages
  • 데이터베이스: D1
  • 이미지 저장: R2
  • 인증 비밀값: Worker Secret


이 조합을 쓰면 서버를 따로 운영할 필요가 없다. 각 서비스가 각자 역할을 맡고, Worker가 그 사이를 연결한다. GitHub Pages는 정적 파일만 서빙할 수 있어서 데이터베이스나 이미지 저장 같은 기능을 붙이려면 외부 서비스를 따로 조합해야 했다. Cloudflare는 이 모든 걸 하나의 생태계 안에서 처리한다.


그리고 이 모든 게 무료다.


이런 좋은 걸 이제야 알았다는 게 아쉽다. 진작 알았다면 훨씬 편하게 사이트를 운영했을 것이다. 지금이라도 알았으니 다행이라고 생각한다.