djray (210.♡.229.189)
2024년 7월 14일 PM 02:35 · 수정됨(19:24)
물론 계약이 별도로 있으면 계약에 따라 다르겠지만, 그리고 이미 많은 부분에서 비교를 해보셨겠지만
다모앙에서 현재 Network Traffic Cost로 CDN 적용 전에 하루에 백단위가 나갔다는 글 보고 문득 들은 생각이 있어서 글 남깁니다. (링크)
저는 현재 다모앙 디스코드 참여자나 관리자가 아니라서 정확한 상황은 전혀 모르지만 그래도 노심초사해서 함 글 써봅니다.
지금 CDN으로서 AWS Cloudfront를 사용 중인 것으로 보이는데, 일반적으로 많은 웹사이트에서 Cloudfront 앞에 CDN을 하나 더 둡니다. Cloudfront는 또 그거 나름대로 데이터 전송 비용이 꽤 비싸기 때문에요.

일반적인 Cloudfront 요금은 위와 같이 표로 정리되어 있습니다.
그리고 정확한 시스템을 모르지만, 예를 들어 EC2를 이용해 서버를 통해 서빙한다 가정하면

EC2 한국 리전 기준 네트워크 송신 요금입니다.
만일 지금도 동일하게 요금이 청구된다고 생각하면, 이에 따르면 역계산을 해 보았을 때, 하루 전송량이 6TB정도로 유추해볼 수 있었는데, 여기에서 CloudFront 무조건 프리 티어랑 다 계산해보면, "물론 처음 EC2 비용이랑 계산한 결과도 생각해야 하지만" 하루에 요금이 한 1/3정도 줄어들었을 것이라 추측을 해볼 수 있습니다. 하루에 약 70만원대정도로 추측을 해볼 수 있었습니다.
구성을 먼저 살펴봐야 하지만, 아래와 같은 방식으로 비용을 추가 절감할 수 있어 보입니다.
이 상황에서 해당 서비스 앞에 Cloudflare같은 "Cloudfront보다 트래픽 요금이 저렴한" 추가적인 CDN을 두게 된다면, 또는 아예 옮기게 된다면, 물론 추가 CDN에 대한 비용을 내긴 해야 하지만, CloudFront로 보내는 트래픽을 줄일 수 있어서 또는 아예 안 쓰게 된다면 CDN의 기능은 유지하면서 좀 더 저렴하게 돌릴 수 있어서 결국엔 최종 AWS에 결제하는 금액이 줄어들면서, 추가 CDN 금액을 생각해봐도 최종적으로 금액이 더 저렴해질 수 있습니다.
다만, 서비스 안정성 측면에서 타사의 서비스를 두게 됨으로서 한 회사의 서버가 죽으면 서비스가 죽는다는거에서 두개로 바뀌게 됨으로서, SLA가 중요한 면이 될 수 있겠습니다.
*참고: 저는 그 어느 기업에도 소속되지 않은 개인입니다. 직장도 다니지 않고 있고, 따라서 "특정 기업에 이득이 되거나 해를 끼칠 생각 없이" 그냥 제 의견으로서 글을 작성한 바 입니다.
*참고: 디스코드 입당 신청은 이미 해놨습니다.
*참고: 게시물을 불러오는 부분에 대해서, 사용자 요청에 따른 HTTP 응답에서 게시물을 제외하고 게시물은 별도의 요청에서 별도의 응답으로 불러오게 된다면 CDN 서비스 이용에 대한 이득이 더욱 높아질 수 있습니다. 현재 DB서 게시물을 불러와서 그 게시물을 HTTP 응답 하나에 모두 합쳐서 사용자에게 보여주고 있는 것으로 보이는데, 그게 게시물 하나마다 CDN에 MISS를 가져오는 존재가 되어 CDN사용에 대한 의의가 Cloudfront의 경우에는 "약간의 비용 절감" 외에는 없거나, 아니면 타 서비스 일부의 경우에는 아예 의의가 사라질 수도 있습니다. 또한, 그렇게 함으로서 MISS 되는 DYNAMIC 데이터에 대해서 크기를 줄여서 최종적으로 데이터 전송량도 줄일 수 있을 가능성이 있습니다.
- 유지관리에 글 안쓴 이유: 그냥 개인적으로 아무생각이나 나서 쓴 글이지 정리된 내용도 아니고 정확한 상황도 모르니까 이걸 유지관리에 쓸 수가 없었습니다.
참고로 지금 막 새로고침해도 일부 정적 데이터 제외 전부 Cloudfront MISS 납니다. 진짜 트래픽 비용을 0.126 => 0.120으로 줄이는 효과밖에 없다는 의미로서 볼 수 있습니다.
댓글 (22)
-
Ddjray
작성자
24.07.14 · 210.♡.229.189
추가정보) 위키, 레딧 포함한 여러 정보를 종합해 보았을 때, Cloudflare Enterprise가 (모든 네트워크 트래픽 포함, 한국은 거의 항상 ICN) 월에 4k USD정도 하는 것으로 보이고, 비즈니스(가끔 ICN 주고 일반적으론 일본서버)는 고정단가 월에 200USD(역시 모든 트래픽 포함)입니다. 이 둘다 100% SLA 보장이고, 이는 일에 1k인 당시 상황보다 훨씬 저렴한 CDN 이용 가능한 옵션으로 보입니다. 계약옵션에 따라 완전 다르겠지만 Cloudfront보다 여러 기능적인 이점도 있던데 (둘다 써보고있어서 앎) 관련해서 고려해보는것도 나쁘지 않아 보이네요. 다만 Cloudfront가 AWS끼리의 데이터 전송은 무료라서 이 부분도 고려해야겠죠. -
기기적
24.07.14 · 211.♡.43.130
@SDK 대장님 여기 귀한 분 오셨네요~ -
SSDK
→ 기적
24.07.14 · 127.♡.0.1
{emo:damoang-emo-000.gif:100} -
Ddjray
작성자
24.07.14 · 210.♡.229.189
추가내용: 어떻게 비용절감이 되는 것이냐 하면 Cloudfront 이용 시 Cache Hit이더라도 모두 트래픽 비용은 발생되는데, Cloudflare의 경우에는 모든 트래픽 비용은 Plan Cost가 모두 감당합니다. (Buisness: $200). 지금 다시 보니까 XHR데이터는 없고 HTML 1건 그리고 나머진 전부 정적 데이터로 보이는데 그 정적 데이터에 대해서 다모앙 AWS에서 서빙되는 비용을 모두 Cloudfront에서 내고 있는 상황인 것으로 보이고, 이 데이터를 Cloudflare에서 캐싱해서 서빙하는 경우 Cloudflare은 Network Cost가 따로 없는 대신에 가끔 한번식 업데이트 있는지 서버에 체크하게 되어서 해당 비용에 대한 AWS Cost랑 Cloudflare Plan Cost랑 하게 됩니다.
여기에 메인 HTML도 정적 데이터로 바꾸게 되고, 게시물 불러오기나 사용자 정보 불러오기는 API로 수정해서 XHR로 불러오게 되면 XHR되는 API에 대한 AWS COST를 내면 되고 무거운 HTML은 아까 말한 정적 데이터 요금대로 캐싱해서 서빙하는 걸로 하면 됩니다.
그리고 XHR되는 API도 1초단위 캐싱을 강제로 걸게 되면 API응답도 1초에 한번씩이 최대로 한 사용자가 100명이 동시에 요청을 해도 AWS에서는 응답이 100개가 아닌 1~2개 정도만 전달하면 되어서 AWS 요금을 낮추게 되는 그런 방식입니다.
물론 다른 DB COST 포함한 금액도 생각해야겠지만요.
지금 방식대로면 HTML을 통째로 1초씩 캐싱해도 되겠지만 대신 HTML보다 가벼운 API를 만들어서 HTML은 정적으로 API는 동적으로 서빙하는게 최종적으로 크기가 줄어서 요금이 더 저렴해지겠죠.
아 물론 당연히! AWS랑 계약한 조건이 별도로 있고 그거에 비해 지금 제가 제시한 의견이 의미없다면 무시하시고 지나가셔도 좋습니다! - 곰
곰발자국♡
24.07.14 · 211.♡.68.244
-
Ddjray
→ 곰발자국♡ 작성자
24.07.14 · 210.♡.229.189
아..ㅋㅋ...ㅠㅠㅠ
tldr: Cloudfront CDN 앞에 Cloudflare CDN 붙이고 설정이랑 코드 수정하면 비용 꽤 절감할 수 있을 거 같아 보입니다. AWS와의 계약사항을 잘 모르니까 유지관리에다가 안 올리고 자게에 올렸습니다. -
Wwera
24.07.14 · 14.♡.182.92
저는 완벽하게 이해했습니다만
다른 분들이 이해하도록 설명해주실 분들 찾습니다 -
Ddjray
→ wera 작성자
24.07.14 · 210.♡.229.189
어쩌면 제가 디스코드에 들어가서 직접 설명하고 수정하는게 더 빠를거같습니다.. ㅋㅋ.. 물론 아직 입당신청에 글만 썼을 뿐이지 아무 응답도 없지만요.
한줄요약: Cloudfront CDN 앞에 Cloudflare CDN 붙이고 설정이랑 코드 수정하면 비용 꽤 절감할 수 있을 거 같아 보입니다. -
SSDK
24.07.14 · 127.♡.0.1
정말 감사합니다. -
Rruinnel
24.07.14 · 124.♡.117.8
댓글을 작성하려면 이 필요합니다.