Odpowiedzi:
Amazon S3 jest przeznaczony do taniego przechowywania dużych plików w jednym określonym regionie geograficznym. * Koszty przechowywania i przepustowości są dość niskie.
Amazon CloudFront to sieć dostarczania treści (CDN), która proxy i buforuje dane sieciowe w skrajnych lokalizacjach jak najbliżej użytkowników.
Gdy użytkownicy końcowi żądają obiektu używającego tej nazwy domeny, są oni automatycznie kierowani do najbliższej lokalizacji brzegowej w celu zapewnienia wysokiej wydajności dostarczania treści. ( Amazon )
Dane podawane przez CloudFront mogą, ale nie muszą pochodzić z S3. Ponieważ jest bardziej zoptymalizowany pod kątem prędkości dostawy, przepustowość kosztuje nieco więcej.
Jeśli twoja baza użytkowników jest zlokalizowana , nie zobaczysz zbyt dużej różnicy w pracy z S3 lub CloudFront (ale musisz wybrać właściwą lokalizację dla swojego segmentu S3: USA, UE, APAC). Jeśli baza użytkowników jest rozproszona globalnie, a szybkość jest ważna, CloudFront może być lepszym rozwiązaniem.
Zarówno S3 i CloudFront pozwalają aliasy domen, jednak CloudFront umożliwia wielokrotne aliasy , dzięki czemu d1.mystatics.com
, d2.mystatics.com
i d3.mystatics.com
wszystko może punkt w tej samej lokalizacji zwiększenie zdolności do równoległego download (To było zalecane przez Google , ale z wprowadzeniem SPDY i HTTP / 2 jest mniejsze znaczenie).
CloudFront obsługuje również CORS od 2014 roku (dzięki sergiopantoja).
* Uwaga: S3 może teraz automatycznie replikować się do dodatkowych regionów od 2015 roku.
CloudFront i S3 Bucket to nie to samo . Mówiąc najprościej: CloudFront umożliwia przyspieszenie dostarczania treści przez Internet za pośrednictwem Content Delivery Network (CDN) w skrajnych lokalizacjach, natomiast S3 Buckets to miejsce, w którym przechowujesz swoje rzeczywiste pliki. Źródła CloudFront niekoniecznie pochodzą z S3, ale dla łatwiejszej wizualizacji integracji S3 z CloudFront:
Inną ważną różnicą jest to, że CloudFront pozwala na dublowanie witryny na serwerze. Cloudfront następnie buforuje pliki, takie jak obrazy, mp3 lub wideo, korzystając z sieci dostarczania treści.
Dzięki temu nie trzeba duplikować zasobów, tak jak w przypadku korzystania z Amazon S3.
Jednak po wygaśnięciu pliku CloudFront pobierze go ponownie z Twojej działającej witryny (za opłatą). Dlatego front w chmurze jest najlepszy dla często używanych plików, a mniej dla plików rzadko używanych.
Jednym ze sposobów ustawienia wygaśnięcia pliku dla Apache jest .htaccess. Na przykład
<filesMatch "\\.(mp3|mp4)$">
Header set Cache-Control "max-age=648000, private"
</filesMatch>
Amazon CLOUDFRONT i S3 to dwie różne usługi świadczone przez Amazon Web Services.
Amazon S3 to usługa pamięci masowej, w której możemy przechowywać pliki statyczne, takie jak:
css, obrazy, javascripts, filmy itp.
Amazon CloudFront to oprogramowanie pośrednie, które stoi pomiędzy użytkownikiem żądającym pliku z AWS a centrum danych S3 w określonym regionie, CloudFront służy do przyspieszenia dystrybucji twojej statycznej i dynamicznej zawartości internetowej z S3 do użytkownika.
Możesz to lepiej zrozumieć na przykładzie: -
Na przykład Twój S3 znajduje się w regionie AWS US East (N. Virginia), w którym znajduje się centrum danych do przechowywania plików.
Jeśli użytkownik z Indii spróbuje uzyskać dostęp do pliku z serwera AWS w Wirginii, użytkownik będzie musiał przejść do tej konkretnej lokalizacji z prośbą, a to zajmie dużo czasu.
CloudFront działa jako pośrednik między użytkownikiem a AWS S3.
Najczęściej używane pliki można buforować w CloudFront, a to, co robi, to replikuje te pliki w skrajnych lokalizacjach (Aby dostarczyć zawartość użytkownikom końcowym z mniejszym opóźnieniem, Amazon CloudFront używa globalnej sieci skrajnych lokalizacji do dostarczania treści).
Jeśli treść znajduje się już w położeniu brzegowym o najniższym opóźnieniu, CloudFront dostarcza ją natychmiast. Jeśli treść nie znajduje się obecnie w tej krawędzi, CloudFront pobiera ją z segmentu Amazon S3 i udostępnia użytkownikowi tak szybko, jak to możliwe.
Każde żądanie otrzymuje nowy DNS z CloudFront do S3, więc spowodowałoby to mniejszy ruch, a także więcej równoległego przetwarzania żądań.
Poniżej znajduje się lista bieżących lokalizacji krawędzi według stanu na lipiec 2016 r .: -
Stany Zjednoczone
Europa
Amsterdam, Holandia (2)
Dublin, Irlandia
Frankfurt, Niemcy (3)
Londyn, Anglia (3)
Madryt, Hiszpania
Marsylia, Francja
Mediolan, Włochy
Paryż, Francja (2)
Sztokholm, Szwecja
Warszawa, Polska
Azja
Chennai, India
Hongkong (2)
Mumbai w Indiach
Manila, Filipiny
Nowe Delhi Indie
Osaka, Japonia
Seul, Korea (3)
Singapur (2)
Tajpej, Tajwan
Tokio, Japonia (2)
Australia
Melbourne, Australia
Sydney w Australii
Ameryka Południowa
São Paulo, Brazylia
Rio de Janeiro, Brazylia
Z tego można wywnioskować, że jeśli użytkownicy są ograniczeni, pochodzą z tego samego regionu, w którym hostowany jest S3, nie musisz wybierać CloudFront, a jeśli liczba użytkowników wzrośnie na poziomie globalnym, zdecydowanie powinieneś użyć CloudFront dla lepszego opóźnienia i kontroli ruchu.
Amazon S3 to prosta usługa przechowywania, w której można wykorzystać dużą ilość informacji, np. Filmy, obrazy, pliki PDF itp.
CloudFront to sieć dostarczania treści, która jest bliższa użytkownikowi końcowemu i służy do udostępniania informacji na Amazon S3 w jak najkrótszym czasie.
Przykładem użycia jest Video on Demand.
Niektóre zalety korzystania z CloudFront we właściwym przypadku użycia:
Inne możliwe przypadki użycia:
Brakowało tutaj jednego aspektu:
Amazon Cloudfront oferuje również niższe ceny niż Amazon S3 przy wyższych poziomach użytkowania.
Cloudfront CDN służy do dystrybucji treści na wielu serwerach rozproszonych geograficznie (CSS, JS)
Podczas gdy s3 jest bardziej zasobem na użytkownika, mniej używanym zasobem zasobów (obrazy użytkownika, pliki PDF).
Możesz obsługiwać zasoby Cloudfront z wiadra s3 całkowicie omijając Twój serwer WWW.
( Przydatne w sytuacjach, gdy twój serwer WWW wstępnie kompiluje i przechowuje obrazy i skrypt Java. Przechowywanie ich na s3 oznacza zmniejszenie zajmowanej pamięci serwera )
Np .: w Heroku Slugs (zgodne rozmiary aplikacji można zmniejszyć za pomocą s3 i owijanie go CDN-em w chmurze poprawi przepustowość)
Na początek chciałbym wyjaśnić, że Amazon S3 to pamięć masowa w chmurze, a Cloud Front to sieć dostarczania treści (CDN).
Możesz więc użyć do przechowywania plików na S3 i stworzyć dystrybucję do obsługi treści przez Internet. Jak również możesz utworzyć dystrybucję dla określonych regionów.
Możesz zobaczyć porównanie między Amazon S3 i Amazon Cloudfront tutaj: http://www.bucketexplorer.com/documentation/cloudfront--amazon-s3-vs-amazon-cloudfront.html
[Ujawnienie: Eksplorator łyżek]
Amazon S3 to świetna platforma do przechowywania obiektów, jeśli szukasz globalnie rozproszonego systemu pamięci do ochrony przed upadkiem regionów / stref. Doskonale nadaje się również do treści statycznych / stałych, które nie są transakcyjne i zmieniają się, takie jak zdjęcia, filmy, obrazy, kopie zapasowe itp. Mam nadzieję, że to pomaga!