Cloudflare R2, nebo Amazon S3: nulový egress nevyhraje každý účet

|Autor: Redakce QUASA|6 min čtení
Cloudflare R2, nebo Amazon S3: nulový egress nevyhraje každý účet

Cloudflare R2 obvykle vychází levněji, když se uložené soubory často stahují přímo přes veřejný internet. U třídy Standard se podle ceníku Cloudflare R2 platí za uložená data a operace, zatímco odchozí přenos z úložiště je bez poplatku. Počet požadavků přesto může účet zvýšit, i když se přenese málo dat.

Amazon S3 může být výhodnější pro dlouho nečtený archiv nebo aplikaci, která čte objekty z jiné služby AWS ve stejném regionu. Je také vhodnější tam, kde provoz závisí na konkrétních operacích S3 API, které R2 nepodporuje. Rozhodující je proto celá cesta dat a požadovaná úložná třída, nejen sazba za přenos do internetu.

Jak je sestavený modelový účet

Následující výpočet používá desetinné jednotky, tedy 1 TB = 1 000 GB, a předpokládá celý měsíc uložení ve třídách R2 Standard a S3 Standard. Ve všech scénářích počítá se 100 000 zápisy PUT a jedním milionem čtení GET měsíčně. Jde o podmíněný model stejné zátěže, nikoli o skutečný účet českého zákazníka; nezahrnuje migraci, další služby ani daně.

Pro R2 platí v modelu 0,015 USD za GB měsíčně po odečtení bezplatných 10 GB. Zadané operace se vejdou do měsíčních bezplatných pásem pro třídy A a B. Pro S3 používáme ilustrační sazbu 0,023 USD za GB měsíčně, 0,005 USD za tisíc zápisů a 0,0004 USD za tisíc čtení; požadavky tedy přidají 0,90 USD. Ceník Amazon S3 zároveň uvádí prvních 100 GB měsíčního přenosu do internetu zdarma napříč příslušnými službami AWS a v příkladu pro Irsko sazbu 0,09 USD za další GB. Výpočet předpokládá, že bezplatné pásmo nevyčerpala jiná služba; zvolené sazby nejsou nabídkou pro jeden konkrétní region.

Co udělá poměr uložených a stažených dat

V každé dvojici níže stojí nejprve R2, poté S3. Částky v USD za měsíc zahrnují uložená data, uvedené požadavky a přímé stahování přes internet. Jde o aritmetické výsledky z předpokladů výše; skutečná cena S3 se mění podle regionu, objemu provozu a dalších použitých funkcí.

  • Uloženo 100 GB: bez stahování vychází 1,35 / 3,20 USD; při stažení 100 GB také 1,35 / 3,20 USD; při stažení 1 TB už 1,35 / 84,20 USD. Bezplatné pásmo v tomto modelu pokryje první dvě varianty přenosu.
  • Uloženo 1 TB: bez stahování vychází 14,85 / 23,90 USD; při stažení 1 TB 14,85 / 104,90 USD; při stažení 10 TB 14,85 / 914,90 USD. V poslední variantě tvoří většinu modelové ceny S3 přenos do internetu.
  • Uloženo 10 TB: bez stahování vychází 149,85 / 230,90 USD; při stažení 1 TB 149,85 / 311,90 USD; při stažení 10 TB 149,85 / 1 121,90 USD. S množstvím uložených dat roste základ obou účtů, zatímco veřejné stahování zvyšuje zde modelovaný účet S3.

Reprodukovatelný vzorec pro R2 je počet uložených GB po odečtení bezplatných 10 GB, nejméně však nula, krát 0,015 USD. Vzorec pro S3 je počet uložených GB krát 0,023 USD plus 0,90 USD za zvolené požadavky a 0,09 USD za každý GB internetového přenosu nad bezplatných 100 GB. Pro jiný region nebo odlišný počet požadavků se změní vstupy, nikoli postup výpočtu.

Požadavky a CDN mění výsledek

Malé soubory mohou vytvářet mnoho požadavků při poměrně malém objemu přenesených dat. V R2 patří zápisy a výpisy objektů do třídy A, čtení a dotazy na metadata do třídy B. Po vyčerpání bezplatných pásem se u Standardu účtuje 4,50 USD za milion operací A a 0,36 USD za milion operací B. Časté výpisy nebo opakované dotazy HEAD tak patří do odhadu stejně jako PUT a GET.

U doručování přes CDN je třeba odlišit přenos z úložiště do distribuční služby od přenosu z CDN ke čtenáři. S3 neúčtuje odchozí data ze S3 při předání do Amazon CloudFront ani při předání jiné službě AWS ve stejném regionu. Účet CloudFront a jeho pravidla pro požadavky či doručení dat jsou samostatné. Přímý internetový přenos použitý v modelové tabulce proto nelze beze změny dosadit za provoz aplikace uvnitř AWS nebo za doručování přes CDN.

Kde končí kompatibilita se S3 API

Cloudflare R2 podporuje běžné čtení a zápis objektů, ale vybrané operace S3 API pro štítky a replikaci nepodporuje.

R2 přijímá běžná volání pro zápis, čtení a výpis objektů, ale samotná kompatibilita rozhraní nezaručuje shodné chování všech funkcí. Matice kompatibility R2 rozlišuje implementované operace od neimplementovaných a zvlášť uvádí nepodporované vlastnosti jinak funkčních volání.

  • Běžné objekty: GetObject, PutObject a ListObjectsV2 jsou implementované. U PutObject však chybí například hlavičky pro Object Lock a štítky objektu.
  • Štítky: GetObjectTagging, PutObjectTagging a DeleteObjectTagging jsou neimplementované. Aplikace, která přes tato volání spravuje evidenci nebo pravidla, potřebuje úpravu.
  • Správa bucketu: neimplementované jsou mimo jiné GetBucketReplication a GetBucketNotificationConfiguration. Podpora čtení souboru sama o sobě tedy neověřuje správu replikace ani konfiguraci oznámení přes S3 API.

Pro aplikaci používající pouze základní práci s objekty může být přechod poměrně jednoduchý. Pokud však zálohovací nástroj nebo provozní automatizace spoléhá na uvedená volání, do rozhodnutí vstupují náklady na změnu aplikace a její správy. Ty mohou převážit úsporu na přenosu, aniž by se změnila jediná ceníková sazba.

Kdy může vyhrát archiv

Dlouho nečtená data nemá smysl porovnávat jen mezi třídami Standard. R2 Infrequent Access stojí 0,01 USD za uložený GB měsíčně, nemá bezplatné pásmo třídy Standard, vyžaduje minimální dobu uložení a účtuje načtená data. Pro podmíněných 1 000 GB bez čtení tak samotné uložení vychází na 10 USD měsíčně před operacemi.

Pro S3 Glacier Deep Archive uvádí nabídka archivních tříd AWS sazbu od 0,00099 USD za GB měsíčně a asynchronní obnovu. Při této výchozí sazbě by samotné uložení stejných 1 000 GB stálo 0,99 USD měsíčně. To ještě není úplný účet: S3 Glacier Deep Archive má minimální dobu uložení 180 dní, účtuje dodatečná metadata objektů a při obnově mohou vzniknout další náklady. Pro velké objekty, které zůstávají dlouho bez přístupu, však rozdíl v ceně samotného uložení ukazuje, proč nulový egress nemusí rozhodnout.

Umístění dat pro český provoz

Cloudflare R2 rozlišuje jurisdikci EU od nezávazných nápověd pro umístění bucketu v Evropě.

Region je vedle ceny samostatnou podmínkou. U S3 se bucket vytváří ve zvoleném regionu, což pomáhá sladit úložiště s ostatními službami AWS. Cloudflare rozlišuje u R2 mezi nápovědou pro umístění a jurisdikčním omezením: pravidla umístění R2 označují nápovědy pro západní a východní Evropu za nezávazné, zatímco jurisdikce EU určuje uložení a zpracování objektů v Evropské unii. Jurisdikci již vytvořeného bucketu nelze změnit.

Pro českou aplikaci se tak mohou sejít různé priority: veřejná knihovna často stahovaných souborů těží z R2 Standard, archiv bez potřeby okamžitého čtení může těžit z hlubší třídy S3 a aplikace navázaná na služby AWS získá jiný výsledek než tabulka přímého internetového přenosu. K ceně je vždy třeba přiřadit skutečnou cestu dat, požadované operace a místo uložení.

Přečtěte si také:

Sdílet:

Přihlaste se k odběru newsletteru

Nejnovější zprávy ze světa Web3, AI a kryptoměn přímo do vaší schránky.

0