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

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 может получать контент из различных источников:

Поведение (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-сертификатами). Сервис поддерживает:

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

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 используется для решения широкого круга задач:

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

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

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

Источники

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

На главную BFOmetr →