Cloudflare R2 를 사용해보았습니다. 제작이야기 | Posted on 2022. 9. 25. 21:09
최근 새로운 사이트를 제작하다가..
S3 관련으로 클플 R2가 나왔나 검색해보다가, R2 버킷을 만들 수 있길래 한 번 만들어봤습니다.
일단 클라우드 플레어 R2 설명에 CDN이 있는듯한 설명이 있습니다.
테스트를 위해서 PC에 있던 이미지를 대충 올려서 테스트 하였습니다.
처음 이미지를 로드하면 200 이 리턴됍니다.
그리고 동일한 이미지를 다시 새로고침하면 304가 리턴돼는것을 볼 수 있습니다.
그리고 CF-RAY 를 확인해보면 ICN (인천)이 잡히는것을 알 수 있습니다.
제가 운영중인 VPS에서 확인을 다시 한번 해보겠습니다.
우선 vultr 서울 리전입니다.
ICN 인천이 잡힌것을 알 수 있습니다.
curl 로 확인할때 공개 액세스가 아니면 안돼길래, 임시로 공개 액세스로 변경후 확인하였습니다.
Linode 에 있는 독일 프랑크푸르크 리전입니다.
MUC 독일 뮌헨이 잡힌것을 알 수 있습니다.
즉, 클라우드 플레어 R2를 사용하는것만으로도 클라우드 플레어 CDN을 사용 하실 수 있습니다.
만약에 S3 + CDN 복합상품이 필요하신분이라면 클라우드 플레어 R2를 사용하시면 좋을듯하네요.
(기존에는 CSS 와 JS 파일만 따로 CDN을 걸 수 없었지만(이용약관 위반..), R2를 이용하면 가능합니다.)
단, 클라우드 플레어 R2 에는 약점이 있습니다.
바로 클래스A와 B의 리퀘스트 요금입니다.
(파일 2개밖에 안올렸는데, 클래스 A가 왜 저렇게 증가했는지 모르겠네요.. 전파할때 쓰나..???)
클래스A는 파일의 업로드, 클래스B는 파일의 다운로드라고 생각하시면 됍니다.
문제는 200 리턴이 없이, 오류가 400이나 오류가 떠도 카운팅이 됀다는거..???
자세한것은 위의 페이지에서 확인해보시면 됄듯합니다.
클라우드 플레어가 자랑스럽게 이야기하던 다운로드 용량에 대한 트래픽은 없습니다.
하지만, 리퀘스트 비용이 발생하기 때문에..
(304 캐시 확인할때도 리퀘스트 비용이 무수히 증가하겠죠..???)
클래스A는 1,000,000건이 무료고, 클래스B는 10,000,000건이 무료입니다.
현재 제가쓰는 CDN 사이트에서 확인할때 리퀘스트 숫자(클래스B)가 30일기준 2,251,040 인데, 저는 무료로 사용이 가능한 수준이네요.
(카운팅이 좀 이상하게 상승하는거 감안해도..)
그리고 클라우드 플레어의 이미지 옵티마이즈..
최적화는 작동하지 않습니다.
올라가있는 이미지의 용량인데, 위에서 리전 확인용으로 명령어 날렸던것을 보면, 파일사이즈가 동일한것을 알 수 있습니다.
파일을 다운로드해서 비교해봐도 동일합니다.
(올린 파일이 웹용으로 최적화된 파일일 수도 있겠지만.. 그럴가능성이 없는 파일이라..)
정리하자면..
파일용량이 큰 컨텐츠를 사용하는 분들에게는 최고의 서비스입니다.
(다운로드 용량이 없고 CDN이 딸려오기 때문에..)
파일이 자잘하게 나뉘어져있고, 이용자 수가 많다면 계산을 잘하셔야할듯합니다.
경우에 따라서는 다른 저렴한 저장소 + CDN이 더 저렴할 수 있습니다.
(저렴한 저장소 + 전송량으로 과금하는 CDN 이라던가???)
그리고 이미지를 많이 사용하셔서, CDN의 이미지 최적화 기능을 사용하시는 분들은 다른 CDN을 추가로 사용하셔야 할수도 있습니다.
(최적화없이 사용하셔도 딱히 문제는 없을듯합니다. 이용자의 모바일 환경 고려만 안한다면..???)
만약에 사이트내부에서 이미지를 최적화하신다면 딱히 문제없을듯합니다.
(저는 CDN의 최적화 기능을써서;;)
현재 Wasabi S3 + BunnyCDN 조합을 사용중인데, 좀 고민을 해봐야할듯하네요.
(CDN이 인천이 잡힌다면 굳이 BunnyCDN 쓸 이유가 없고..)
개인적으로 R2가 기초적인 이미지 최적화까지 해줬다면 바로 옴겼을텐데.. (아쉽..)
이미지 사이즈 변경이나 그런거 없이, 그냥 이미지 최적화만 해줬으면..
(호스팅에서 처리하면 용량 증가가.. 큿.. R2에서 처리하면 돼지 않냐는 의문도 있을수 있으나, 클래스 A와 B를 동시에 사용해야하기 때문에 돈이 증가합니다. B는 상관없는데 A의 금액이;; 그리고 용량이 증가함에 따라서 돈도 증가하고.. 그렇다고 캐시 클리어를 기능적으로 추가하자니, 캐시 삭제할때도 클래스 A가;;)
일단 Wasabi S3를 Cloudflare R2 로 옴기는것은 확실할듯한데..
BunnyCDN을 걷어낼지는 좀 고민해봐야겠네요.
CDN을 2중으로 쓰는것도 좀 에반데;;
(근데, 사용자가 늘어나면 클라우드 플레어가 R2도 인천 허용안해줄거 같기도 하고..??? 그렇게 생각하면 그냥 BunnyCDN은 그냥 그대로 계속 사용하는게.. 요즘도 클라우드 플레어가 인천 연결 잘 안해주지 않나..)