2emdash
Polski
English Polski Deutsch Español Français Italiano Português Nederlands Українська Čeština Русский Türkçe
Przebuduj za darmo
← Wszystkie artykuły
Porównanie · · 5 min czytania

Cloudflare R2 kontra AWS S3: różnica bez opłat za egress

Cloudflare R2 kontra AWS S3: brak opłat za transfer wychodzący, zgodność z API S3 i dlaczego zerowy egress tak bardzo się liczy przy mediach w CMS-ie.

Przeczytaj w: English , Deutsch

Na tej stronie

Gdzieś przechowujesz pliki, obrazy, materiały do pobrania, wideo, i pojawiają się dwie nazwy: Amazon S3, znany wszystkim weteran, oraz Cloudflare R2, nowszy pretendent. Nagłówek, który wszyscy powtarzają, brzmi „R2 nie ma opłat za egress”. To prawda, ale co to właściwie oznacza dla twojego rachunku i czy ma znaczenie dla strony albo CMS-a? Przejdźmy do konkretów.

Wersja na 30 sekund

R2 i S3 to magazyny obiektowe, czyli kubełki plików dostępne przez HTTP po kluczu, standardowy sposób trzymania mediów i zasobów strony. Robią w gruncie rzeczy to samo. Wielka, realna różnica leży w kształcie cennika:

  • S3 pobiera opłaty za przechowywanie danych, za żądania oraz za wysyłanie danych na zewnątrz, czyli za egress (transfer wychodzący).
  • R2 pobiera opłaty za przechowywanie danych i za żądania, ale w ogóle nie nalicza opłat za egress.

Ta jedna różnica zmienia ekonomię wszystkiego, co serwuje publicznie dużo plików, a media na stronie to dokładnie taki przypadek.

Co tak naprawdę znaczą „opłaty za egress”

Egress to koszt danych opuszczających sieć dostawcy chmury. Za każdym razem, gdy ktoś ładuje obraz, pobiera PDF albo odtwarza wideo z twojego kubełka S3, te bajty wędrują do odwiedzającego, a S3 mierzy ten transfer wychodzący i wystawia rachunek za każdy gigabajt.

I tu jest haczyk, który wielu zaskakuje: płacisz za egress za każdym razem, gdy plik zostanie zaserwowany. Popularny obraz to nie jednorazowy koszt, tylko koszt na każde wyświetlenie. Przechowanie 50 GB mediów jest tanie. To serwowanie ich milionowi odwiedzających miesięcznie sprawia, że rachunek z S3 po cichu puchnie, a rośnie razem z twoim sukcesem, czyli w najgorszym możliwym momencie na niespodziankę kosztową.

R2 usuwa tę pozycję z rachunku w całości. Płacisz za przechowanie bajtów i za operacje, ale wysyłanie ich w świat jest darmowe, niezależnie od tego, jak popularny stanie się dany plik.

R2 jest zgodny z S3, a to duża sprawa

R2 nie wymyślił nowego API. Implementuje API S3, więc ogromny ekosystem zbudowany wokół S3, czyli SDK od AWS, CLI aws, narzędzia, biblioteki i przykłady, w większości działa z R2 po zmianie adresu punktu końcowego i poświadczeń. To drastycznie obniża koszt przesiadki:

# R2 udostępnia punkt końcowy zgodny z S3; skieruj na niego istniejące narzędzia.
aws s3 ls --endpoint-url https://<account-id>.r2.cloudflarestorage.com

# Albo użyj własnego CLI Cloudflare, czyli wrangler:
npx wrangler r2 bucket create my-site-media
npx wrangler r2 object put my-site-media/img/cover.jpg --file=./cover.jpg

Nie stawiasz więc na zamknięty, własnościowy format. Używasz dobrze znanego interfejsu z lepszą ekonomią transferu.

Gdzie S3 wciąż wygrywa, bądźmy fair

R2 nie jest bezwzględnie lepszy pod każdym względem i uczciwe porównanie musi to powiedzieć:

  • Głębia ekosystemu. S3 ma około 20 lat i stoi w centrum wszechświata AWS. Jeśli cały twój stos jest w AWS, trzymanie magazynu w S3 oznacza, że dane leżą obok twojej mocy obliczeniowej, IAM i reszty, bez skoków między chmurami.
  • Zakres funkcji. S3 ma gigantyczny, dojrzały zestaw możliwości: klasy przechowywania (Glacier i pokrewne do zimnej archiwizacji), szczegółowe reguły cyklu życia, rozbudowaną analitykę i integracje szlifowane przez dwie dekady. R2 dobrze pokrywa typowe przypadki i wciąż dokłada funkcje, ale dziś to S3 jest kompletniejszym produktem.
  • Kontrola regionów i zgodność. Dojrzałe narzędzia AWS do regionów i zgodności trudno przebić, jeśli masz ostre wymagania co do miejsca przechowywania danych.

Jeśli żyjesz w całości wewnątrz AWS i rzadko serwujesz ruch publiczny, transfer wewnątrz sieci i ekosystem S3 mogą znaczyć więcej niż oszczędności na egressie. Poznaj własne obciążenie.

Szybkie porównanie

Cloudflare R2AWS S3
Rodzaj magazynuMagazyn obiektowyMagazyn obiektowy
Opłaty za egressBrakZa GB, przy każdym zaserwowaniu
APIZgodne z S3S3 (oryginał)
EkosystemRosnący, narzędzia zgodne z S3Ogromny, dojrzały, 20 lat
Klasy przechowywania i archiwizacjaMniej opcjiRozbudowane (Glacier itp.)
Najlepszy, gdyPublicznie serwujesz media, liczysz kosztySiedzisz głęboko w AWS, używasz wewnątrz sieci

Dlaczego to tak bardzo się liczy przy CMS-ie

Oto puenta dla każdego, kto prowadzi stronę. Media w CMS-ie, czyli obrazy nagłówkowe, zdjęcia w galeriach, pliki do pobrania i osadzone wideo, są serwowane publicznie, w kółko, każdemu odwiedzającemu. To dokładnie ten rodzaj obciążenia, który opłaty za egress karzą najmocniej. Im większy sukces twojej treści, tym więcej S3 liczy sobie za serwowanie plików, które ten sukces stworzyły.

Właśnie dlatego EmDash, otwarty CMS Cloudflare, trzyma pliki w R2. Każdy obraz na stronie na EmDash jest serwowany bez opłaty za egress, więc rachunek za media nie rośnie razem z ruchem. W połączeniu z Workers uruchamiającymi kod na brzegu sieci i D1 trzymającym treść strukturalną, R2 domyka bezserwerowy stos, który skaluje się do zera w bezczynności i nie skubie cię po groszu, gdy jest zajęty. To część powodu, dla którego własny blog Cloudflare działający na EmDash mógł wchłonąć atak DDoS o sile 28 000 żądań na sekundę bez rozjeżdżającego się rachunku.

Przy migracji strony na EmDash przeniesienie mediów do R2 jest standardowym krokiem: synchronizujesz istniejące obrazy do kubełka i przepisujesz adresy URL. Przewodnik migracji z WordPressa przeprowadza przez to krok po kroku, a schemat jest ten sam niezależnie od tego, skąd przychodzisz.

Szczere podsumowanie

Jeśli przechowujesz pliki, które pobiera mnóstwo ludzi, a to opis mediów każdej publicznej strony, model R2 bez opłat za egress daje realną, stałą przewagę kosztową, a zgodność z API S3 sprawia, że nie rezygnujesz przy tym ze znanych narzędzi. Jeśli twój magazyn siedzi głęboko w AWS i rzadko opuszcza tę sieć, dojrzałość i dopasowanie ekosystemowe S3 mogą nadal wygrywać. W przypadku CMS-a brak opłat za egress wygrywa jednak ten spór w większości sytuacji i dokładnie taki zakład robi EmDash.

Piszemy o tym, bo czytelnicy o to pytają. To, co faktycznie robimy w 2emdash, to odbudowa starzejących się stron na Cloudflare i przekazanie właścicielowi prostego panelu. Jesteśmy niezależnym serwisem, bez powiązania z Cloudflare ani projektem EmDash.