Відповіді:
Amazon S3 призначений для зберігання файлів великої ємності в одному конкретному географічному регіоні. * Витрати на зберігання та пропускну здатність досить низькі.
Amazon CloudFront - це мережа доставки вмісту (CDN), яка здійснює проксі та кешування веб-даних у крайових місцях якнайближче до користувачів.
Коли кінцеві користувачі запитують об’єкт, використовуючи це доменне ім’я, вони автоматично перенаправляються до найближчого крайового місця для доставки вашого вмісту з високою продуктивністю. ( Амазонка )
Дані, які надаються CloudFront, можуть надходити з S3 або не бути ними. Оскільки він більш оптимізований для швидкості доставки, пропускна здатність коштує трохи дорожче.
Якщо ваша база користувачів локалізована , ви не побачите великої різниці в роботі з S3 або CloudFront (але ви повинні вибрати правильне місце для свого відра S3: США, ЄС, APAC). Якщо ваша база користувачів поширюється в усьому світі і важлива швидкість, CloudFront може бути кращим варіантом.
І S3, і CloudFront дозволяють псевдоніми домену, однак CloudFront дозволяє кілька псевдонімів, щоб d1.mystatics.com
, d2.mystatics.com
і d3.mystatics.com
всі могли вказувати на одне і те ж місце, збільшуючи ємність для паралельних завантажень (це було рекомендовано Google, але з введенням SPDY і HTTP / 2 має менша важливість).
CloudFront також підтримує CORS станом на 2014 рік (спасибі sergiopantoja).
* Примітка: S3 тепер може автоматично копіюватися на додаткові регіони станом на 2015 рік.
CloudFront та S3 Bucket - не те саме . По-простому, CloudFront дозволяє прискорити доставку вмісту веб-вмісту через Мережу доставки вмісту (CDN) у краєзнавчих місцях, тоді як S3 Buckets - це місце, де ви зберігаєте фактичні файли. Вихідні джерела CloudFront можуть не обов'язково мати S3, але для легшої візуалізації інтеграції S3 з CloudFront:
Ще одна основна відмінність полягає в тому, що CloudFront дозволяє дзеркально відображати сайт на вашому сервері. Потім Cloudfront кешує файли, такі як зображення, mp3 чи відео, використовуючи свою мережу доставки вмісту.
Це дозволяє вам дублювати свої активи, як і коли ви використовуєте Amazon S3.
Однак після закінчення терміну дії файлу CloudFront поверне його знову з вашого веб-сайту (за вартістю). Тож хмарний фронт найкращий для часто доступних файлів, а рідше - для нечасто доступних файлів.
Один із способів встановити термін дії файлу для apache - це .htaccess. Наприклад
<filesMatch "\\.(mp3|mp4)$">
Header set Cache-Control "max-age=648000, private"
</filesMatch>
Amazon CLOUDFRONT і S3 - це дві різні послуги, що надаються Amazon Web Services.
Amazon S3 - це послуга зберігання даних, в якій ми можемо зберігати статичні файли, такі як:
CSS, зображення, javascripts, відео тощо ...
Amazon CloudFront - це середній посуд, який стоїть між користувачем, який запитує файл з AWS, та центром обробки даних S3 у конкретному регіоні, CloudFront використовується для прискорення розповсюдження вашого статичного та динамічного веб-контенту від S3 до користувача.
Ви можете зрозуміти це краще на прикладі: -
Наприклад, ваш S3 розташований у регіоні AWS East East (N. Virginia), де знаходиться центр обробки даних для зберігання ваших файлів.
Якщо користувач з Індії намагається отримати доступ до файлу з сервера AWS у штаті Вірджинія, то користувачеві потрібно буде перейти до цього конкретного місця із запитом, і це займе багато часу.
Що CloudFront робить, це те, що він виступає як проміжне програмне забезпечення між користувачем та AWS S3.
Найчастіше використовувані файли можна кешувати на CloudFront, і те, що він робить, він реплікує ці файли на крайових місцях (щоб доставити вміст кінцевим користувачам із меншою затримкою, Amazon CloudFront використовує глобальну мережу крайових локацій для доставки вмісту).
Якщо вміст уже знаходиться в крайовому місці з найнижчою затримкою, CloudFront доставляє його негайно. Якщо вміст зараз не знаходиться в цьому крайовому розташуванні, CloudFront витягує його з відра Amazon S3 і надає користувачеві якнайшвидше.
Кожному запиту надається новий DNS від CloudFront до S3, тому це призведе до зменшення трафіку, а також більш паралельної обробки запитів.
Далі наведено список поточних місцеположень на липень-2016: -
Сполучені Штати
Європа
Амстердам, Нідерланди (2)
Дублін, Ірландія
Франкфурт, Німеччина (3)
Лондон, Англія (3)
Мадрид, Іспанія
Марсель, Франція
Мілан, Італія
Париж, Франція (2)
Стокгольм, Швеція
Варшава, Польща
Азії
Ченнаї, Індія
Гонконг (2)
Мумбаї, Індія
Маніла, Філіппіни
Нью-Делі, Індія
Осака, Японія
Сеул, Корея (3)
Сінгапур (2)
Тайбей, Тайвань
Токіо, Японія (2)
Австралія
Мельбурн, Австралія
Сідней, Австралія
Південна Америка
Сан-Паулу, Бразилія
Ріо-де-Жанейро, Бразилія
З цього ви можете зробити висновок, що якщо користувачі обмежені з того самого регіону, на якому розміщений ваш S3, вам не потрібно переходити на CloudFront, а якщо кількість користувачів збільшується на глобальному рівні, то вам обов'язково слід використовувати CloudFront для кращої затримки та контролю руху.
Amazon S3 - служба простого зберігання, для цього можна використовувати велику кількість інформації, тобто відео, зображення, PDF тощо.
CloudFront - це мережа доставки вмісту, яка наближається до кінцевого користувача і використовується для того, щоб зробити інформацію доступною на Amazon S3 за найменший термін.
Зразок використання зразка - це Video on Demand.
Деякі переваги використання CloudFront для правильного використання:
Інші можливі випадки використання:
Тут пропущений один аспект:
Amazon Cloudfront також пропонує нижчі ціни, ніж Amazon S3 при більш високих рівнях використання.
Cloudfront CDN призначений для розподілу вмісту на декількох серверах, що географічно розподілені (CSS, JS)
В той час, як s3 - це більше на одного користувача, зберігається менше використовуваних ресурсів (зображення користувачів, PDF-файли).
Ви можете обслуговувати свої ресурси Cloudfront з відра s3, повністю обходячи веб-сервер.
( Корисно в ситуаціях, коли ваш веб-сервер попередньо збирає та зберігає зображення та java-скрипт. Зберігання їх на s3 означає, що слід пам’яті вашого сервера зменшується )
Напр .: On Heroku Slugs (відповідні розміри додатків можна зменшити за допомогою s3, а загортання їх у хмарний CDN покращить пропускну здатність)
В першу чергу я хотів би пояснити, що Amazon S3 - це хмарне зберігання, а Cloud Front - мережа доставки вмісту (CDN).
Таким чином, ви можете використовувати для зберігання файлів на S3, а також можете створити дистрибутив для обслуговування вмісту через Інтернет. А також ви можете створити розподіл для конкретних регіонів.
Ви можете побачити порівняння між Amazon S3 та Amazon Cloudfront звідси: http://www.bucketexplorer.com/documentation/cloudfront--amazon-s3-vs-amazon-cloudfront.html
[Розкриття інформації: Bucket Explorer]
Amazon S3 - це чудова платформа для зберігання об'єктів, якщо ви шукаєте глобально розподілену систему зберігання для захисту від регіонів / зон, що спадають. Він також відмінно підходить для статичного / фіксованого контенту, який не є транзакційним і не змінюється, наприклад, зображення, відео, зображення, резервні копії тощо. Сподіваюся, що це допоможе!