Источники и их группы
За контентом, который запрашивают клиенты, CDN-серверы обращаются к источникам.
При создании ресурса для него указывается один источник или одна группа источников. После создания в настройках ресурса можно заменить один источник на другой, а группу источников — на другую группу.
Тип источника
Источником может быть:
- Бакет из Yandex Object Storage, в том числе настроенный как хостинг статического сайта.
- L7-балансировщик нагрузки из Yandex Application Load Balancer. CDN-серверы будут обращаться к балансировщику по одному из его IP-адресов, который нужно выбрать в настройках источника.
- Ваш собственный сервер или другой ресурс, доступный по доменному имени. Например, если источник — сервер с доменным именем
files.example.com
, то за файлом/static/common.css
CDN-серверы будут обращаться к серверу по адресуfiles.example.com/static/common.css
.
Хостинг статического сайта в бакете-источнике
Через Cloud CDN вы можете опубликовать свой статический сайт, файлы которого размещены в бакете в Object Storage.
Чтобы сайт отображался корректно, например при обращении по адресу https://<доменное_имя>/
возвращал главную страницу сайта вместо списка объектов, бакет в Object Storage и источник в Cloud CDN нужно настроить следующим образом:
- Создайте главную страницу сайта, например
index.html
, и загрузите ее в бакет. - Настройте хостинг статического сайта в бакете. В настройках укажите главную страницу, загруженную на предыдущем шаге.
- Настройте источник в CDN-ресурсе или в группе источников: укажите бакет и включите его использование как хостинга статического сайта. После этого CDN-сервер будет обращаться к бакету по доменному имени
<имя_бакета>.website.yandexcloud.net
.
Время ответа от источника
Примечание
CDN-серверы не поддерживают протокол IPv6 и могут обращаться к источникам только по IPv4-адресам.
Источник должен отвечать на запрос CDN-сервера в течение 5 секунд. Если за это время ответа не поступило, CDN-сервер отправляет клиенту ответ с HTTP-кодом состояния 504 Gateway Timeout
.
Чтобы снизить нагрузку на источники со стороны CDN-серверов и снизить время ответа, вы можете включить экранирование источников ресурса.
Группы источников
Чтобы распределять нагрузку между источниками с одним и тем же контентом, из них можно создать группу.
Источник в группе может быть основным или резервным. Запросы от CDN-серверов распределяются между основными источниками по кругу.
Например, если в группе два основных источника, то первый запрос контента будет отправлен первому источнику, второй — второму, третий — снова первому и т. д.
Если основной источник ответил CDN-серверу HTTP-кодом состояния 5xx, запрос отправляется одному из резервных источников. Если в группе нет резервных источников или ответ вновь содержит код 5xx, CDN-сервер отправляет клиенту ответ с тем же кодом.
Совет
Если вы публикуете контент в двух или более бакетах, объедините их в группу бэкендов L7-балансировщика и используйте балансировщик как источник, как показано в сценарии сине-зеленого и канареечного развертывания. Иначе вам понадобится поддержать в сервисе отправку запросов к CDN с разными значениями заголовка Host
, соответствующими разным бакетам.
Как настроить источники
См. инструкции:
- Создание ресурса, при котором настраивается источник или группа источников.
- Изменение основных настроек ресурса, в том числе замена источника на другой источник или группы на другую группу.
- Управление группами источников: создание, изменение, подключение к ресурсу и удаление.