Cloudflare R2 یا Amazon S3؛ خروج داده می‌تواند صورت‌حساب را عوض کند

|نویسنده: تیم تحریریه QUASA|7 دقیقه مطالعه| 4
Cloudflare R2 یا Amazon S3؛ خروج داده می‌تواند صورت‌حساب را عوض کند

برای فایل عمومی که بارها مستقیماً از اینترنت دانلود می‌شود، Cloudflare R2 در محاسبهٔ نمونه هزینهٔ کمتری از Amazon S3 دارد؛ هرچه خروج داده بیشتر شود، اختلاف بزرگ‌تر می‌شود. برای آرشیوی با خواندن اندک، S3 Standard-IA می‌تواند ارزان‌تر از R2 Standard باشد. تعرفهٔ Cloudflare R2 ذخیره‌سازی Standard را ماهانه ۰٫۰۱۵ دلار به‌ازای هر گیگابایت و خروج داده به اینترنت را رایگان قیمت‌گذاری می‌کند، اما برای عملیات خواندن و نوشتن هزینهٔ جداگانه دارد.

در S3، قیمت پایین‌ترِ یک ردهٔ ذخیره‌سازی لزوماً به معنی صورت‌حساب پایین‌تر نیست. تعرفهٔ Amazon S3 ذخیره‌سازی، درخواست، بازیابی و انتقال داده را جداگانه محاسبه می‌کند: نخستین ۱۰۰ گیگابایت خروج ماهانه به اینترنت میان سرویس‌ها و مناطق واجد شرایط AWS مشترکاً رایگان است و نمونهٔ انتقال از منطقهٔ ایرلند، نرخ ۰٫۰۹ دلار برای هر گیگابایت پس از سهمیهٔ رایگان را نشان می‌دهد. در S3 Standard-IA بازیابی نیز هزینه دارد؛ بنابراین پاسخ به مقدار دانلود و ردهٔ انتخابی وابسته است.

ورودی‌ها و نرخ‌های محاسبهٔ ماهانه

برای جایگزین کردن اعداد نمونه با مصرف خود، پنج ورودی لازم است: میانگین گیگابایت‌ماه ذخیره‌شده، شمار PUT و عملیات مشابه نوشتن، شمار GET و عملیات مشابه خواندن، حجم بازیابی‌شده از ردهٔ کم‌دسترسی و حجم خروج مستقیم به اینترنت. یک دانلود از آرشیو کم‌دسترسی ممکن است هم بازیابی باشد و هم خروج داده؛ این دو مقدار را در ستون‌های ذهنی جدا نگه دارید، چون دو قلم هزینه می‌سازند. حجم فایل‌های ثابت به‌تنهایی تعداد دفعات دانلود یا درخواست‌های مبدأ را نشان نمی‌دهد.

برای R2 Standard، از حجم ذخیره‌شده سهمیهٔ ماهانهٔ ۱۰ گیگابایت‌ماه، از عملیات Class A یک میلیون درخواست و از Class B ده میلیون درخواست کسر می‌شود. مقدار قابل‌پرداخت به‌ترتیب در ۰٫۰۱۵ دلار برای هر گیگابایت‌ماه، ۴٫۵۰ دلار برای هر میلیون Class A و ۰٫۳۶ دلار برای هر میلیون Class B ضرب می‌شود. PUT معمولاً در Class A و GET در Class B قرار می‌گیرد. بازیابی جداگانه‌ای برای Standard وجود ندارد و خروج مستقیم از R2 هزینهٔ انتقال ندارد؛ گرد شدن مصرف به واحد پرداخت بعدی، به‌ویژه نزدیک مرز یک میلیون عملیات، می‌تواند بر برآورد اثر بگذارد.

برای S3 Standard، نرخ‌های نمونهٔ ذخیره‌سازی ۰٫۰۲۳ دلار برای هر گیگابایت‌ماه، PUT برابر ۰٫۰۰۵ دلار برای هر هزار درخواست و GET برابر ۰٫۰۰۰۴ دلار برای هر هزار درخواست‌اند؛ جدول هزینهٔ AWS همین نرخ‌های نمونه را برای S3 Standard درج می‌کند. در محاسبهٔ S3 Standard-IA، فرض‌های قیمتی ۰٫۰۱۲۵ دلار برای ذخیره‌سازی هر گیگابایت‌ماه، ۰٫۰۱ دلار برای بازیابی هر گیگابایت، ۰٫۰۱ دلار برای هر هزار PUT و ۰٫۰۰۱ دلار برای هر هزار GET هستند. به هر دو ردهٔ S3، هزینهٔ خروج مستقیمِ بیش از سهمیهٔ رایگان را اضافه می‌کنیم. این اعداد یک مدل مقایسه‌اند و نرخ منطقه و حساب واقعی می‌تواند متفاوت باشد.

سناریوهای زیر فرضی‌اند: فایل‌ها در تمام ماه نگهداری می‌شوند، اندازهٔ اشیای Standard-IA از حداقل قابل‌پرداخت آن کمتر نیست، سهمیهٔ رایگان خروج AWS را سرویس دیگری مصرف نکرده و دانلودها بدون شبکهٔ تحویل محتوا مستقیماً از مبدأ انجام می‌شوند. هزینهٔ سرویس‌های جانبی و اعتبارهای ویژهٔ حساب در مجموع‌ها نیامده است. با این فرض‌ها می‌توان اثر هر ورودی را مستقل دید، بی‌آنکه تفاوت مسیر تحویل فایل با تفاوت قیمت ذخیره‌سازی اشتباه گرفته شود.

سه الگوی مصرف چه نتیجه‌ای می‌دهند؟

  • آرشیو کم‌خوانش: با ۱۰۰۰ گیگابایت ذخیره‌سازی، ۱۰۰۰ PUT، ۱۰۰۰ GET و ۲۰ گیگابایت بازیابی و خروج اینترنتی در ماه، R2 Standard حدود ۱۴٫۸۵ دلار هزینه دارد؛ عملیات زیر سهمیهٔ رایگان آن می‌ماند. S3 Standard-IA حدود ۱۲٫۷۱ دلار می‌شود: ۱۲٫۵۰ دلار فضا، ۰٫۲۰ دلار بازیابی و نزدیک ۰٫۰۱ دلار درخواست. خروج این سناریو زیر سهمیهٔ رایگان AWS است. در همین الگو S3 Standard-IA ارزان‌تر است، به شرط آنکه حداقل اندازه و مدت نگهداری اشیا رعایت شود.
  • فایل عمومی پرترافیک: با ۱۰۰ گیگابایت فایل، ۱۰۰ هزار PUT، ۵۰ میلیون GET و ۵۰۰۰ گیگابایت خروج مستقیم، R2 Standard حدود ۱۵٫۷۵ دلار می‌شود: ۱٫۳۵ دلار ذخیره‌سازی و ۱۴٫۴۰ دلار خواندنِ بالاتر از سهمیه. S3 Standard حدود ۴۶۳٫۸۰ دلار می‌شود؛ ۴۴۱ دلار آن حاصل خروج ۴۹۰۰ گیگابایت قابل‌پرداخت است. در این الگو، انتقال داده بیش از هزینهٔ نگهداری یا درخواست‌ها بر نتیجه اثر می‌گذارد.
  • بار کاری پرتقاضا: با ۱۰۰۰ گیگابایت ذخیره‌سازی، دو میلیون PUT، ۱۰۰ میلیون GET و ۱۰۰۰ گیگابایت خروج مستقیم، R2 Standard حدود ۵۱٫۷۵ دلار است: ۱۴٫۸۵ دلار فضا، ۴٫۵۰ دلار نوشتن و ۳۲٫۴۰ دلار خواندن. S3 Standard حدود ۱۵۴ دلار می‌شود: ۲۳ دلار فضا، ۱۰ دلار PUT، ۴۰ دلار GET و ۸۱ دلار خروج. درخواست‌ها در هر دو صورت‌حساب مهم‌اند، ولی هزینهٔ انتقال اختلاف را افزایش می‌دهد.

این سه نتیجه با تغییر یک ورودی ثابت نمی‌مانند. برای نمونه، اگر فایل عمومی پشت حافظهٔ پنهان تحویل داده شود، همهٔ دانلودهای کاربر به GET در مبدأ تبدیل نمی‌شوند؛ در عوض باید درخواست‌های واقعی رسیده به R2 یا S3 و هزینهٔ مسیر تحویل را حساب کرد. همین تفکیک برای بار کاری پرتقاضا مهم است: تعداد زیاد GET لزوماً به معنی خروج زیاد از مبدأ نیست و حجم خروج زیاد نیز می‌تواند از تعداد نسبتاً کمی فایل بزرگ حاصل شود.

نقطهٔ سربه‌سر آرشیو به چه چیزی بستگی دارد؟

در آرشیو فرضی بالا، پیش از بازیابی، هزینهٔ S3 Standard-IA با ذخیره‌سازی و درخواست‌ها حدود ۱۲٫۵۱ دلار است؛ R2 Standard حدود ۱۴٫۸۵ دلار می‌ماند. هر گیگابایت بازیابی از S3 Standard-IA، ۰٫۰۱ دلار به هزینه می‌افزاید. تا وقتی خروج اینترنتی در سهمیهٔ رایگان AWS جا می‌شود، همین قلم اختلاف را کم می‌کند؛ پس از مصرف سهمیه، هر گیگابایت که هم بازیابی و هم مستقیم به اینترنت فرستاده شود، در مدل حاضر حدود ۰٫۱۰ دلار به مجموع S3 اضافه می‌کند.

اگر هر گیگابایت بازیابی‌شده دقیقاً یک گیگابایت خروج اینترنتی هم ایجاد کند و سایر ورودی‌ها ثابت بمانند، هزینهٔ دو گزینه نزدیک ۱۱۳٫۴ گیگابایت دانلود ماهانه برابر می‌شود. این مقدار حدود ۱۱٫۳ درصد حجم آرشیوِ ۱۰۰۰ گیگابایتیِ فرضی است. با مصرف شدن سهمیهٔ مشترک خروج توسط سرویس دیگری در AWS، نقطهٔ سربه‌سر پایین‌تر می‌آید؛ اگر بخشی از بازیابی به اینترنت نرود، بالاتر می‌رود. بنابراین نسبت خروج و بازیابی به حجم نگهداری، همراه با شمار عملیات، از برچسب «آرشیو» برای انتخاب مفیدتر است.

کدام محدودیت‌ها می‌توانند نتیجه را تغییر دهند؟

رده‌های کم‌دسترسی خودشان هم یکسان قیمت‌گذاری نمی‌شوند. R2 Infrequent Access فضای ارزان‌تری از R2 Standard دارد، اما سهمیهٔ رایگان Standard شامل آن نمی‌شود و عملیات و بازیابی هزینه دارند. در همان آرشیو فرضی، اگر ۱۰۰۰ PUT و ۱۰۰۰ GET در R2 Infrequent Access ثبت شود، گرد شدن هر دستهٔ عملیات به واحد یک‌میلیونی، همراه با ۲۰ گیگابایت بازیابی، مجموع را به حدود ۲۰٫۱۰ دلار می‌رساند. پس جایگزین کردن صرفِ نرخ ذخیره‌سازی Standard با نرخ Infrequent Access نتیجهٔ معتبری نمی‌دهد.

در S3 Standard-IA، هر شیء کمتر از ۱۲۸ کیلوبایت دست‌کم به اندازهٔ ۱۲۸ کیلوبایت برای ذخیره‌سازی محاسبه می‌شود و حداقل مدت قابل‌پرداخت ۳۰ روز است. آرشیوی با تعداد زیادی فایل کوچک یا حذف زودهنگام می‌تواند از برآورد مبتنی بر حجم واقعی گران‌تر تمام شود. انتقال خودکار میان رده‌ها نیز درخواست قابل‌پرداخت ایجاد می‌کند. برای داده‌ای که از S3 به CloudFront یا به سرویس AWS در همان منطقه می‌رود، قاعدهٔ انتقال با دانلود مستقیم اینترنتی این مدل فرق دارد؛ هزینهٔ تحویل نهایی باید در مسیر واقعی خودش سنجیده شود.

برای تصمیم میان این دو سرویس، پنج ورودی مصرف را با نرخ منطقه و ردهٔ موردنظر جایگزین کنید و درخواست‌های رسیده به مبدأ را از دانلودهای کاربر جدا بشمارید. آرشیو کم‌خوانشِ دارای اشیای نسبتاً بزرگ ممکن است با S3 Standard-IA ارزان‌تر باشد؛ فایل عمومی با خروج مستقیم زیاد در نمونهٔ محاسبه‌شده به‌وضوح به نفع R2 است. مرز میان این دو نتیجه را مقدار بازیابی، سهمیهٔ خروجِ باقی‌مانده و تعداد عملیات جابه‌جا می‌کند.

بیشتر بخوانید:

اشتراک‌گذاری:

عضویت در خبرنامه

تازه‌ترین اخبار Web3، هوش مصنوعی و رمزارز را مستقیم در صندوق ایمیل خود دریافت کنید.

0