Lambda@Edge – это компонент сервиса Amazon CloudFront, с помощью которого вы можете выполнять код ближе к пользователям вашего приложения и, соответственно, повысить производительность системы и уменьшить задержки. С помощью сервиса Lambda@Edge вам не придется подготавливать инфраструктуру и управлять ею в нескольких расположениях по всему миру. Вы платите только за фактическое время вычисления. Когда программы не выполняются, оплата не требуется.
С помощью сервиса Lambda@Edge вы можете обогатить функционал своих приложений, сделав их глобально распределенными и повысив их производительность, не выполняя при этом администрирование серверов. Сервис Lambda@Edge позволяет выполнять ваш код в ответ на события, создаваемые сетью доставки содержимого Amazon CloudFront. Просто загрузите свой код в сервис AWS Lambda, который позаботится обо всем, что необходимо для запуска и масштабирования кода с высокой доступностью в расположении AWS, ближайшем к конечному пользователю.
Преимущества
Создание приложений с уменьшенным временем отклика
Сервис Lambda@Edge выполняет ваш код по всему миру в расположениях AWS рядом с вашими пользователями, чтобы вы могли доставлять полнофункциональный настроенный контент с высокой производительностью и малыми задержками.
Без управления серверами
Вы можете автоматически масштабировать и выполнять свой код в расположениях AWS по всему миру, не тратя время на подготовку и масштабирование серверов источников в различных расположениях, а также на управление ими, и не настраивая службы балансировки нагрузки или службы маршрутизации системы доменных имен (DNS). Вы можете добавлять новые функции, не внося изменения в имеющиеся у вас приложения, которые работают в источнике. И наконец, при использовании сервисов Lambda@Edge и Amazon CloudFront вам придется управлять меньшей инфраструктурой источника, чем при использовании традиционных сетей доставки содержимого.
Настройте доставку контента
С помощью сервиса Lambda@Edge вы можете настроить контент, доставляемый через сеть доставки содержимого Amazon CloudFront, а также вычислительные ресурсы и время выполнения на основе ваших потребностей в производительности приложений.
Как это работает
Примеры использования
УПРОЩЕНИЕ И УМЕНЬШЕНИЕ ИНФРАСТРУКТУРЫ ИСТОЧНИКА
Сервис Lambda@Edge можно использовать как для расширения возможностей источника, так и для его замены. Это позволяет выполнять самые различные операции: от обработки простых HTTP-запросов и ответов на периферии до более сложных функций, например обеспечения безопасности веб-сайтов, преобразования изображений в режиме реального времени, интеллектуального ограничения активности ботов, оптимизации поисковых систем и многого другого.
Безопасность и конфиденциальность веб-сайтов
С помощью функции Lambda вы можете добавлять заголовки безопасности HTTP во все отклики источника без изменения кода приложения в источнике. Это позволяет повысить уровень безопасности и конфиденциальности для пользователей и поставщиков контента при использовать сервис CloudFront для доставки контента с малыми задержками.
Читать блог >>
Динамическое интернет-приложение на периферии
Сочетая сервис Lambda@Edge с другими сервисами AWS, разработчики могут создавать мощные периферийные интернет-приложения с функцией автоматического масштабирования. При этом не нужно использовать инфраструктуру и ресурсы администрирования источника, необходимые для автоматического масштабирования, создания резервных копий и резервирования центров обработки данных.
Оптимизация для поисковых систем (SEO)
С помощью сервиса Lambda@Edge можно повысить оптимизацию веб-сайта для поисковых систем. Например, можно использовать функцию Lambda для доставки предварительно отрисованных HTML-страниц, которые хранятся в сервисе Amazon S3, в случаях, когда пользователь-агент представляет собой бот поисковой системы, например Googlebot или Bingbot.
Читать блог >>
Интеллектуальная маршрутизация в источниках и центрах обработки данных
Используя сервис Lambda@Edge для динамической маршрутизации запросов в различные источники на основании различных характеристик пользователей, можно балансировать нагрузку на источники и, соответственно, повышать производительность системы для пользователей. Например, вы можете перенаправлять запросы к источникам в домашнем регионе на основании расположения пользователя.
Читать блог >>
Ограничение активности ботов на периферии
С помощью сервиса Lambda@Edge можно блокировать нежелательные боты на периферии и пропускать авторизованный трафик. Путем интеллектуального ограничения активности этих автоматических процессов вы можете защитить инфраструктуру источника от нежелательных веб-обходчиков и ботов и, соответственно, повысить производительность системы для реальных пользователей.
ПОВЫШЕНИЕ УДОБСТВА ДЛЯ ПОЛЬЗОВАТЕЛЕЙ
C помощью сервиса Lambda@Edge вы можете повысить удобство использования своих веб-сайтов и интернет-приложений для пользователей по всему миру, предоставляя пользователям персонализированный контент и не жертвуя при этом производительностью.
Преобразование изображений в режиме реального времени
Вы можете повысить удобство работы для пользователей, преобразовывая изображения «на лету» на основании характеристик пользователей. Например, вы можете изменять размеры изображений на основании того, какое устройство пользователь применяет для просмотра контента: мобильное устройство, настольный компьютер или планшет. Кроме того, можно кэшировать преобразованные изображения в периферийных расположениях сервиса CloudFront для дальнейшего повышения производительности при доставке изображений.
Читать блог >>
Альфа- и бета-тестирование
Вы можете тестировать и предоставлять различные версии своего веб-сайта пользователям, не выполняя перенаправление и не изменяя URL-адрес в браузере. Благодаря этому вы можете без проблем выпускать обновления веб-сайта для повышения его общей производительности и обеспечивать малое время его отклика на запросы пользователей.
Аутентификация и авторизация пользователей
Вы можете использовать сервис Lambda@Edge для аутентификации и авторизации пользователей для доступа к платному премиум-контенту на веб-сайте, отфильтровывая неавторизованные запросы еще до того как они попадут в инфраструктуру источника. Вы можете использовать функцию Lambda для авторизации запроса каждого пользователя, выполняя запросы к сервису аутентификации и управления пользователями, например к сервису Amazon Cognito.
Читать блог >>
Распределение пользователей по приоритетам
C помощью сервиса Lambda@Edge можно контролировать доступ к веб-сайту и определять приоритеты при доступе. Для этого можно направлять пользователей на разные страницы с разными интерфейсами. Например, с помощью функции Lambda можно выполнять код, который при всплесках трафика во время распродаж товаров будет обслуживать в первую очередь премиум-пользователей и пользователей, использующих ваш веб-сайт электронной коммерции на платной основе. Кроме того, вы можете временно перенаправлять других покупателей в «комнату ожидания» – на альтернативный сайт с фирменным оформлением и маркетинговыми предложениями, на котором покупатели могут дожидаться своей очереди на доступ к основному розничному сайту.
Читать блог >>
Отслеживание пользователей и аналитика
Используя сервисы Lambda@Edge и Kinesis, вы можете обрабатывать потоковые данные в режиме реального времени, чтобы отслеживать и анализировать активность пользователей со всего мира на вашем веб-сайте и в мобильных приложениях, в том числе выполнять потоковый анализ щелчков.
Читать блог >>
Связанный контент
Беседуйте с другими разработчиками о сервисах Amazon CloudFront и Lambda@Edge на форуме.
Здесь вы можете найти ответы на самые распространенные вопросы.
В нашей документации имеются дополнительные сведения о настройке контента на периферии с помощью сервисов Amazon CloudFront и Lambda@Edge
Начните разработку с помощью сервиса Lambda@Edge в консоли AWS.