Открыть сервис

Amazon CloudFront

Amazon CloudFront — это сервис доставки контента (Content Delivery Network, CDN), предоставляемый компанией Amazon Web Services (AWS). Он предназначен для ускорения передачи веб-сайтов, API-интерфейсов, потокового видео, файлов и другого контента конечным пользователям с низкой задержкой и высокой скоростью передачи данных. CloudFront использует глобальную сеть точек присутствия (Edge Locations), которые кэшируют копии контента в географически распределённых дата-центрах, обеспечивая его быструю доставку независимо от местоположения пользователя.

История и развитие

Сервис Amazon CloudFront был запущен 18 ноября 2008 года. Он стал одним из первых крупных CDN-решений, полностью интегрированных с облачной инфраструктурой AWS. Изначально CloudFront поддерживал только доставку статического контента (изображения, CSS, JavaScript) и работал с ограниченным числом точек присутствия. В 2010 году была добавлена поддержка потокового видео через протокол RTMP, а в 2014 году — поддержка динамического контента, что позволило кэшировать и ускорять передачу данных, генерируемых на лету.

В 2015 году CloudFront получил возможность работать с протоколом HTTPS по умолчанию, а в 2017 году была внедрена поддержка Serverless-функций Lambda@Edge, позволяющих выполнять пользовательский код на границе сети. В 2020 году сервис был дополнен функцией CloudFront Functions — более легковесным аналогом Lambda@Edge для простых операций (например, перезапись URL или заголовков). К 2024 году сеть CloudFront насчитывает более 600 точек присутствия в 100 городах 50 стран мира, включая точки в России (Москва, Санкт-Петербург) до введения ограничений в 2022 году.

Архитектура и принцип работы

Точки присутствия (Edge Locations)

Основой CloudFront является глобальная сеть из сотен точек присутствия (Edge Locations). Каждая точка — это дата-центр, оснащённый серверами для кэширования контента и выполнения вычислительных задач. Когда пользователь запрашивает контент через CloudFront, его запрос маршрутизируется к ближайшей точке присутствия на основе географического положения и загрузки сети. Если копия контента уже есть в кэше этой точки, она доставляется пользователю без обращения к исходному серверу. Если контента нет, точка запрашивает его у источника (Origin) — например, у сервера EC2, корзины S3 или стороннего веб-сервера — и затем кэширует его для последующих запросов.

Источники (Origins)

CloudFront может получать контент из различных источников:

  • Amazon S3 — корзины для хранения статических файлов (изображения, видео, архивы).
  • Amazon EC2 — виртуальные серверы для динамического контента.
  • Elastic Load Balancer — балансировщики нагрузки для распределения трафика между несколькими серверами.
  • Внешние HTTP/HTTPS-серверы — любые веб-серверы, доступные через интернет.

Поведение (Behaviors)

CloudFront использует правила (behaviors), которые определяют, как обрабатывать запросы к разным URL-путям. Например, для пути /images/ можно настроить долгое кэширование и использование HTTPS, а для пути /api/ — передачу запросов напрямую к источнику без кэширования. Поведения также могут задавать параметры сжатия, шифрования и перенаправления.

Основные возможности

Кэширование и ускорение

CloudFront автоматически кэширует статический и динамический контент. Время жизни кэша (TTL) задаётся настройками заголовков Cache-Control или Expires. Сервис поддерживает сжатие данных (Gzip, Brotli) для уменьшения объёма передаваемого трафика. Для динамического контента CloudFront может использовать протоколы TCP Fast Open и TLS 1.3 для снижения задержки при установке соединения.

Безопасность

CloudFront интегрирован с AWS Shield (защита от DDoS-атак), AWS WAF (веб-брандмауэр) и AWS Certificate Manager (управление SSL/TLS-сертификатами). Сервис поддерживает:

  • HTTPS — шифрование трафика между пользователем и точкой присутствия, а также между точкой и источником.
  • Signed URLs и Signed Cookies — ограничение доступа к контенту по времени и IP-адресу (например, для платного контента).
  • Origin Access Identity (OAI) — ограничение доступа к корзине S3 только через CloudFront.
  • Гео-блокировка — возможность запретить или разрешить доступ из определённых стран.

Потоковое видео

CloudFront поддерживает доставку видео по протоколам HLS (HTTP Live Streaming), MPEG-DASH, Smooth Streaming и RTMP. Для живых трансляций сервис может работать с AWS Elemental MediaLive и MediaPackage, обеспечивая низкую задержку и масштабирование до миллионов зрителей.

Lambda@Edge и CloudFront Functions

Эти функции позволяют выполнять пользовательский код на точках присутствия без управления серверами. Lambda@Edge поддерживает сложные операции (аутентификация, A/B-тестирование, модификация HTML-ответов), а CloudFront Functions — более простые и быстрые задачи (модификация URL, заголовков). Обе функции выполняются в ответ на четыре типа событий: запрос от пользователя (viewer request), ответ пользователю (viewer response), запрос к источнику (origin request) и ответ от источника (origin response).

Стоимость

Ценообразование CloudFront основано на объёме переданных данных (исходящий трафик) и количестве запросов. Стоимость зависит от региона доставки: трафик в Северную Америку и Европу дешевле, чем в Азию или Южную Америку. Дополнительно взимается плата за использование Lambda@Edge, CloudFront Functions, SSL-сертификатов и других функций. AWS предлагает бесплатный уровень (Free Tier) на первые 12 месяцев, включающий 1 ТБ исходящего трафика и 10 миллионов запросов в месяц.

Применение

CloudFront используется для решения широкого круга задач:

  • Ускорение веб-сайтовдоставка статических ресурсов (HTML, CSS, JS, изображения) для снижения времени загрузки страниц.
  • Доставка API — кэширование ответов API для уменьшения нагрузки на серверы и снижения задержки.
  • Потоковое видео — трансляция фильмов, сериалов, спортивных событий и прямых эфиров.
  • Распространение программного обеспечения — доставка установочных файлов, обновлений и патчей.
  • Защита от DDoSфильтрация вредоносного трафика до его попадания на исходный сервер.

Критика и ограничения

Несмотря на широкие возможности, CloudFront имеет ряд недостатков. Основные из них:

  • Сложность настройки — для оптимальной работы требуется знание архитектуры AWS и понимание принципов кэширования. Новички часто допускают ошибки в настройках TTL, что приводит к устареванию контента или избыточному трафику.
  • Высокая стоимость при больших объёмах — по сравнению с некоторыми специализированными CDN (например, Cloudflare), стоимость CloudFront для трафика свыше 100 ТБ в месяц может быть выше.
  • Зависимость от AWS — использование CloudFront привязывает клиента к экосистеме Amazon, что может затруднить миграцию на другие платформы.
  • Ограничения в России — после 2022 года доступ к некоторым точкам присутствия CloudFront на территории России был ограничен, что привело к увеличению задержек для российских пользователей при доступе к контенту, размещённому за рубежом.

Интересные факты

  • CloudFront является одним из крупнейших CDN в мире по количеству точек присутствия, уступая только Akamai и Cloudflare.
  • Сервис используется такими крупными компаниями, как Netflix, Spotify и Airbnb, для доставки контента миллионам пользователей.
  • В 2020 году CloudFront обработал пиковую нагрузку в 150 Тбит/с во время пандемии COVID-19, когда резко вырос спрос на потоковое видео и удалённую работу.

Источники

  • Документация Amazon Web Services: «Amazon CloudFront Developer Guide» (2024).
  • Статья «A Decade of CloudFront: A History of Innovation» на AWS News Blog (2018).
  • Отчёт «CDN Market Report 2023» от компании Dataxis.
  • Материалы конференции AWS re:Invent 2022: «CloudFront: Best Practices and New Features».
  • Статья «CloudFront vs. Cloudflare: A Comparative Analysis» на портале TechRepublic (2023).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →