betacode

Введение в Amazon Cloudfront и его архитектуру

  1. Что такое Amazon Cloudfront?
  2. Новая архитектура CloudFront
  3. Edge Locations Map
  4. Invalidation
  5. CloudFront vs CloudFlare

1. Что такое Amazon Cloudfront?

Если у вас есть website с пользователями со всего мира, возникнет проблема с вашими пользователями, которые находятся слишком далеко от того места, где находится ваш сервер. Им придется долго ждать ответа с website.
CDN расшифровывается как Content Delivery Network (сеть доставки контента). CDN - это сеть из множества серверов, расположенных в разных местах мира. Эти серверы хранят копии содержимого вашего Website для распространения среди ближайших пользователей. Amazon CloudFront - одна из крупнейших в мире CDN-систем.
У нас здесь есть два термина:
Origin Server
Origin Server (корневой сервер)- это место, где размещаются ваши исходные файлы, который могуть быть HTTP Server, Amazon S3 Bucket и т. д.
Edge Location (POP - Point of Presence)
Edge Location (пограничное местоположение) также известно как POP (Point of Presence) (точка присутствия), куда будут отправляться запросы пользователя. Обратите внимание, что запросы пользователя не будут отправляться непосредственно на Origin Server.
Давайте взглянем на иллюстрацию ниже. Мы собираемся посмотреть, как работает Cloudfront, когда пользователь запрашивает file с вашего Website:
1 - Пользователь получает доступ к вашему Website и запрашивает file, такой как file изображения или HTML и т. д.
2 - DNS направляет запрос на самый быстрый POP (Edge Location) (с минимальной задержкой). Обычно это POP с ближайшим географическим местоположением к пользователю, и он будет обслуживать запрос пользователя.
3 - В POP (Edge Location),CloudFront проверит свой кэш (cache), чтобы узнать, доступен ли file, запрошенный пользователем. Если да, то file будет возвращен пользователю. Однако если file не находится в кэше (cache), CloudFront выполнит следующие действия:
  • 3a - CloudFront отправит запрос на Origin Server для получиения file.
  • 3b - Origin Server отправит file в Edge Location.
  • 3c - Как только первые bytes данных с Origin Server будут отправлены в Edge Location, они будут отправлены пользователю. Кроме того, CloudFront будетдобавлять этот file в кэш (cache) Edge Location для следующей службы на случай, если кто-то запросит этот file в следующий раз.

2. Новая архитектура CloudFront

В ноябре 2016 года Amazon обновила архитектуру CloudFront. Ниже приведена иллюстрация разницы между старой и новой архитектурой.
Мы видим наличие Regional Edge Cache в новой архитектуре.
С новой архитектурой CloudFront, что произойдет, если пользователь запросит file с вашего Website?
1 - Пользователь обращается к вашему Website и запрашивает file, такой как file изображения или HTML и т. д.
2 - Запрос пользователя будет отправлен в самый быстрый POP (Edge Location) (с минимальной задержкой).
3 - в POP (Edge Location): если запрошенный file существует в кэше POP, он будет возвращен пользователю. В противном случае CloudFront выполнит следующие действия:
  • 3a - CloudFront переадресует запрос в Regional Edge Cache.
  • 3b - Если file существует в кэше Regional Edge Cache, он будет отправлен в Edge Location. В противном случае он пересылает запрос на Origin Server (...)
  • 3c - Как только первые bytes данных из Regional Edge Cache будут отправлены в Edge Location, они будут отправлены пользователю. Кроме того, CloudFront будет добавлять этот file в кэш (cache) Edge Location для следующей службы на случай, если кто-то запросит этот file в следующий раз.
Regional Edge Cache имеет гораздо больший размер кэша, чем отдельное Edge Location, поэтому он дольше хранит файлы, включая менее распространенные. В то время как Edge Location имеет меньший кэш, поэтому распространенные файлы будут храниться в течение длительного времени. Со временем, если файл станет менее распространенным, он будет удален из кэша Edge Location.
Наличие Regional Edge Cache позволяет сокращать количество запросов, отправляемых на Origin Server.

3. Edge Locations Map

На приведенной ниже карте показаны географические местоположения Edge Location и Regional Edge Cache в мире:

4. Invalidation

Когда файл хранится в Edge Location (или Regional Edge Cache), он будет иметь срок действия (как долго он находится в кэше). Если до окончания срока действия пользователь получит к нему доступ, то этот срок действия файла будет сброшен с самого начала, в противном случае файл будет удален из кэша.
Примечание: Срок действия файлов в Regional Edge Cache намного больше, чем у файлов в Edge Location.
Если вы измените содержимое определенного файла на Origin Server (исходном сервере), пользователь может не получить доступ к новому содержимому, так как CloudFront отправит пользователю старую версию файла, если она находится в кэше.
Вы можете отправить запрос Invalidate (недействительность) в CloudFront, чтобы сообщить CloudFront удалить список определенных файлов из кэша всех Edge Location и Regional Edge Cache.
  • Amazon CloudFront Invalidation

5. CloudFront vs CloudFlare

  • Cloudfront vs Cloudflare