
Cloudflare는 세계에서 가장 인기있는 CDN 서비스입니다. 요즘에는 CDN과 클라우드 방화벽을 제공하는 것을 넘어서, 서버리스 클라우드 컴퓨팅 회사로 탈바꿈하려는 움직임을 보여주고 있습니다. Cloudflare의 그런 움직임의 첫 작품이 R2 입니다.
R2가 무엇인가요?
R2는 Amazon S3과 호환되는 오브젝트 스토리지입니다. 간단히 말해서, 무제한으로 확장 가능하고 쓴 만큼만 돈을 내는 파일 저장소라고 생각하면 쉬워요.
Amazon S3과 기타 다른 클라우드 서비스 제공자(Microsoft Azure, Google Cloud Platform 등..)과 차별화되는 부분은 송신 수수료가 없다는 부분입니다.
송신 수수료가 무료라고요?

Amazon S3을 사용할 때 가장 큰 비용은 의외로 저장공간 사용 요금이 아니라, 클라우드에서 인터넷으로 데이터를 반출할때 내는 이그레스(egress) 수수료입니다. 이게 지역별로 다르지만, 서울 리전 기준으로 1GB당 0.126 미국 달러입니다. 적은 금액이라고 생각할 수도 있지만 이는 절대로 적은 금액이 아닙니다. 1TB를 전송하면 129$, 10TB를 전송하면 1290$ 입니다. 단 1GB의 데이터를 저장해도 전송량이 많으면 얄짤없이 부과됩니다.(물론 한국의 망 이용요금이 비싸서 더 눈에 띄는 부분이지만, 미국 리전 S3도 비싼건 마찬가지입니다.)

R2는 1TB를 전송하든, 10TB를 전송하던지 무료입니다. 네, 데이터 반출 수수료가 무료입니다. 저장공간과 API호출에만 과금이 됩니다.
저장공간은 Amazon S3 캘리포니아 리전 기준으로 1GB당 월 0.026 미국 달러가 부과되는데, Cloudflare R2는 1GB당 월 0.015$ 가 부과됩니다. Amazon S3에 비해 현저히 낮은 가격입니다.
직접 사용해본 소감이 어떠신가요?
마스토돈 인스턴스 렌콘투를 운영하면서 Cloudflare R2를 오브젝트 스토리지로 이용했는데요, 마스토돈은 S3 API를 지원하지만 Cloudflare R2를 직접적으로 지원하지는 않습니다. 하지만, Cloudflare R2가 S3 API와 호환되기 때문에, 오브젝트 스토리지 유형을 S3으로 지정하고 Cloudflare R2를 연결하니 정상적으로 작동하였습니다.
전송 수수료가 발생하지 않는 것은 굉장히 만족스러웠습니다. 이미지가 많이 오가는 마스토돈 인스턴스 특성상, 다른 마스토돈 인스턴스에서 가져온 이미지도 보여줘야 하는데 전송 수수료가 없는 덕에 매일 500원씩은 절약한 것 같습니다.
하지만, Amazon S3을 대체할 수준까지 온 것은 아니였습니다.
Cloudflare R2는 데이터센터 위치를 지정할 수 없습니다. 전 세계에 분산되어있는 Cloudflare 데이터 센터에 최적의 위치를 찾아서 자동으로 (…) 파일을 저장한다고 하는데, 법률적 이슈나 기타 이유로 데이터를 국내 또는 특정 지역에 모아둬야 하는 경우는 도입이 힘들 것 같습니다.
그리고 도메인을 연결하면 모든 객체가 퍼블릭 상태가 되어버립니다. 공개 웹 서비스를 제공할때는 큰 상관이 없는 부분이지만, 다른 사람이 보면 보안 사고로 이어지는 서비스를 제공할 때에는 Cloudflare R2는 부적절한 선택입니다.
그 밖에 자잘한 오류가 잦습니다. 아직 서비스가 안정되지 않았다는 느낌이 강하게 듭니다. 파일을 올렸는데 불러올 수가 없다던지 하는 오류가 잦습니다. 특히 처음 Amazon S3에서 Cloudflare R2로 마이그레이션 할 때 가장 많이 느꼈습니다. 시간이 지나고 나서는 조금 안정되었습니다.
렌콘투 마스토돈 인스턴스는 현재 Cloudflare R2를 이용하고 있지 않습니다. R2는 훌륭한 서비스입니다. (한국을 제외한) 전 세계의 대역폭 비용은 점점 내려가고 있지만 아마존은 데이터 전송(반출)수수료로 너무 많은 마진을 남겨먹고 있다는 지적을 한 클라우드플레어 답게, 전송 수수료 무료는 정말 큰 매리트입니다. 하지만 조금 더 안정화될 필요가 있고, 파일을 어디 저장할 지 지정할 수 없는 부분이 아쉽습니다.
답글 남기기