Ускорение доставки контента с помощью CDN

В этой инструкции описано, как с помощью Cloud CDN ускорить доставку контента для веб-сервисов, развернутых на виртуальных машинах ECS облака Advanced.

Введение

Пользователи веб-сервиса могут находиться за тысячи километров от сервера, обслуживающего веб-сервис. Большое расстояние замедляет загрузку контента и работу сервиса, ухудшая пользовательский опыт. Например, если сервер с медиа-контентом находится в Москве, а посетитель обращается к нему из Владивостока, то контент может загружаться в разы дольше, чем если бы сервер и посетитель находились в одном или соседних регионах.

Технология CDN (Content Delivery Network) помогает ускорить доставку контента до пользователей со всего мира. Контент кешируется на географически распределенных узлах CDN и раздается с ближайшего к пользователю сервера. Это уменьшает нагрузку на ваши серверы, ускоряет загрузку контента и улучшает пользовательский опыт.

Подготовьте веб-сервис

Сценарий предполагает, что ваш сайт или веб-сервис размещен на виртуальной машине (ВМ) в облаке Advanced.

На примере статического сайта и ВМ под управлением Linux подготовка веб-сервиса может выглядеть следующим образом:

  1. Создайте ВМ ECS.

  2. Подключитесь к созданной ВМ по SSH.

  3. Установите и настройте на ВМ необходимые пакеты, например веб-сервер nginx для Linux.

  4. Разместите на ВМ файлы веб-сервиса и контент, например видео или изображения.

  5. Измените А-запись на стороне регистратора домена, чтобы ваш сайт был доступен по имени домена. Значением А-записи будет внешний EIP ВМ.

Подключите Cloud CDN

Для подключения услуги заполните заявку на сайте. После обработки заявки вы получите письмо с доступами к личному кабинету Cloud CDN.

Настройте HTTP-кеширование

  1. Войдите в личный кабинет Cloud CDN с использованием доступов из письма о создании аккаунта.

  2. Создайте ресурс CDN.

  3. Перейдите на вкладку Инструкция по настройке созданного ресурса. Здесь указан адрес вашего CDN-домена и формат ссылок для статических файлов.

  4. Замените ваш домен на адрес CDN-домена в адресах ссылок.

    Пример HTML-тега для вставки изображения и ссылкой с вашим доменом:

    <img src="https://example.com/path-to-image/image.png" />
    

    Пример того же тега со ссылкой после подстановки адреса CDN-домена:

    <img src="https://uuzffdsjuuuz4mtz.a.trbcdn.net/path-to-image/image.png" />
    

    После замены ссылок контент будет отдаваться с узлов CDN.

    Примечание

    Вы можете настроить псевдоним с именем своего домена и использовать его в адресах ссылок. Для этого отредактируйте CNAME-запись, подробнее о настройке.

  5. При необходимости перейдите на вкладку Правила и задайте правила управления заголовками, кэшированием, CORS и авторизацией. Например, здесь вы можете настроить правило для добавления заголовков в ответах клиентам.

  6. В случае замены статических файлов на виртуальной машине очистите кэш CDN-ресурса. Для этого перейдите на вкладку Очистка кэша, укажите ссылки на контент и нажмите Очистить кэш.

    Можно очистить кэш полностью — для этого включите опцию Очистить кэш полностью и нажмите Очистить кэш.