Перейти к содержимому

Создать CDN-ресурс

Последнее обновление

Чтобы начать работу с сервисом CDN, создайте CDN-ресурс. Это можно сделать через веб-консоль⁠.

  • Веб-консоль
  1. Настройте источники:

    • Если вы используете собственные DNS-имена для раздачи контента, убедитесь в наличии доступа к настройкам DNS.
    • Если будете применять сжатие на источнике, настройте сервер-источник так, чтобы он сжимал контент методом GZip и возвращал его с соответствующими HTTP-заголовками.
  2. Если будет использоваться протокол HTTPS, подготовьте TLS-сертификат и загрузите его в Certificate Manager.

  3. В веб-консоли выберите нужный проект.

  4. В списке сервисов выберите CDN → Ресурсы и нажмите кнопку Создать.

  5. На вкладке Общие настройки задайте базовые параметры, необходимые для работы CDN-ресурса:

    1. (опционально) Измените автоматически сгенерированное имя CDN-ресурса. Позже это имя (name) и созданный из него идентификатор (ID) нельзя изменить, меняется только отображаемое имя (display name) CDN-ресурса.
    2. (опционально) Добавьте описание CDN-ресурса.
    3. Укажите URL всех источников. URL резервных источников пометьте как Бэкап — запрос будет направлен на них, только если получена ошибка 5XX или тайм-аут на основном источнике.
    4. (опционально) Включите и настройте кеширование.
    5. (опционально) Включите опцию Изменить заголовок Host и переопределите HTTP-заголовок Host.
    6. (опционально) Включите опцию Включить ресурс после создания.
    Примечание

    Все последующие шаги инструкции опциональны.

    Чтобы пропустить настройку дополнительных параметров, последовательно нажмите кнопки Пропустить необязательные шаги → Создать. Донастроить эти параметры можно в любой момент после создания CDN-ресурса.

  6. Нажмите кнопку Далее.

  7. Настройте DNS-имена:

    1. Включите опцию Использовать DNS имена (CNAME) и укажите персональные доменные имена, через которые будет доставлен контент.
    2. Включите опцию Использовать сертификат безопасности и выберите из списка сертификат, загруженный в Certificate Manager. Для использования сертификата нужна минимальная роль certmanager.certificate.user.
  8. Нажмите кнопку Далее.

  9. Настройте кеширование:

    1. Включите кеширование и выберите режим его работы:

      • Как у источника — CDN наследует заголовки Cache-Control с директивами max-age (время жизни кеша в секундах) и public (разрешает кешировать контент на любом уровне) от источника, если источник ответил HTTP-кодом состояния 200, 201, 204, 206, 301, 302, 303, 304, 307 или 308. Если в ответе нет заголовка с такими директивами, то контент кешируется на время, указанное в поле Время жизни кеша.

      • Задать настройки в CDN — CDN игнорирует заголовки Cache-Control в ответе источника. Контент кешируется на время, указанное в поле Время жизни кеша. Время жизни кеша действует для всех ответов от источника с HTTP-кодом состояния 200, 206, 301 или 302.

        Если выбран режим Задать настройки в CDN, вы также можете указать время жизни кеша для отдельных HTTP-кодов ответа в формате HTTP-код: время жизни кеша. Оно будет иметь приоритет над временем, указанным в поле Время жизни кеша.

    2. Укажите время жизни кеша.

    3. Включите опцию Кешировать в браузере и задайте время кеширования в браузере потребителя. Кеширование будет применяться только для ответов с кодами 200, 201, 204, 206, 301, 302, 303, 304, 307, 308.

    4. Включите опцию Игнорировать Set-Cookie, чтобы кешировать одинаковые файлы с разными значениями заголовков Set-Cookie как один файл. По умолчанию одинаковые файлы с разными значениями Set-Cookie кешируются по-разному.

    5. Включите опцию Следовать редиректу с источника, чтобы CDN мог получать контент с адреса, который был возвращен в редиректе.

  10. Нажмите кнопку Далее.

  11. Настройте параметры безопасности:

    1. Включите редирект с HTTP на HTTPS, чтобы принудительно использовать протокол HTTPS для запросов. Если вы указали собственные доменные имена (вкладка DNS имена), укажите также сертификат безопасности.
    2. Включите опцию Изменить имя SNI-хоста и переопределите доменное имя, передаваемое по протоколу TLS/SSL.
  12. Нажмите кнопку Далее.

  13. Настройте оптимизацию, включив нужные опции:

    • Сжатие GZip в CDN — сжимает контент на CND-серверах для передачи клиентам. Опция доступна только при включенном кешировании и несовместима с опцией Сжатие на источнике.

    • Шилдинг — снижает нагрузку на источник за счет промежуточного кеширования. Для корректной работы шилдинга должно быть включено кеширование CDN-ресурса.

      Чтобы эта опция появилась, обратитесь в техническую поддержку. Доступ предоставляется для всего проекта, после чего шилдинг можно включать для отдельных CDN-ресурсов.

    • Оптимизировать доставку больших файлов — включает загрузку файлов с источника по частям. Опция несовместима с опцией Сжатие на источнике.

    • Сжатие на источнике — включает загрузку уже сжатого контента с источника. Опция доступна только при включенном шилдинге для CDN-ресурса и несовместима с опциями Сжатие GZip в CDN и Оптимизировать доставку больших файлов.

    • Поддержка WebSocket-соединений — включает поддержку постоянных соединений между CDN и клиентами по протоколу WebSocket⁠.

    • Задать Rewrite-правила — задает правила изменения URI в запросах от CDN-ресурса к источнику. С помощью регулярного выражения определите целевые значения и укажите нужные правила формирования пути для этих запросов.

      Пример rewrite-правила

      Исходный путь: /(.*)/(images)/(.*.(jpg|png)$)

      Измененный путь: /new-storage/$2/$1/$3

      Исходный URL: https://my-awesome-s3.com/common/images/dog.png

      Измененный URL: https://my-awesome-s3.com/new-storage/images/common/dog.png

  14. Нажмите кнопку Далее.

  15. Настройте заголовки:

    1. Включите опцию Изменить заголовок Host, чтобы переопределить значение заголовка Host запроса клиента к серверу-источнику. Если опция не активирована, значение Host пересылается без изменений. Переопределение обязательно, если используется бакет Object Storage.
    2. Включите опцию Добавить заголовки в запрос к источнику, чтобы CDN добавил заголовки в запрос к источнику.
    3. Включите опцию Удалить заголовки из запроса к источнику, чтобы CDN удалил заголовки из запроса к источнику.
    4. Включите опцию Добавить заголовки в ответ клиенту, чтобы CDN добавил заголовки в ответ клиенту.
    5. Включите опцию Удалить заголовки из ответа клиенту, чтобы CDN удалил заголовки из ответа клиенту.
    6. Включите опцию Настроить CORS в ответе клиенту, чтобы разрешить и настроить кросс-доменные запросы⁠. Доступные варианты настройки разрешений для CORS-запросов:
      • Для всех — разрешена загрузка контента со всех доменов. Заголовок ответа Access-Control-Allow-Origin будет содержать значение *.
      • Как в Origin — разрешена загрузка контента со всех доменов. Заголовок ответа Access-Control-Allow-Origin будет содержать имя домена, с которого пришел запрос.
      • Из списка — разрешена загрузка контента только для доменов из списка. Заголовок ответа Access-Control-Allow-Origin будет содержать имя домена, с которого пришел запрос.
  16. Нажмите кнопку Далее.

  17. Проверьте настройки создаваемого CDN-ресурса. Вы можете вернуться к предыдущим шагам и скорректировать их.

  18. Нажмите кнопку Создать.