Создание CDN-ресурса

Обновлена 13 мая 2024 г. в 11:54

Создание CDN-ресурса

Вы можете создать CDN-ресурс двумя способами:

Перейдите в личный кабинет VK Cloud.

Выберите проект, где нужно создать CDN-ресурс.

Перейдите в раздел CDN → CDN-ресурсы.

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

Выберите опцию Доступ к контенту конечным пользователям, чтобы повлиять на доступность CDN-ресурса:

(По умолчанию) Если эта опция не выбрана, то после создания CDN-ресурса он перейдет в состояние Приостановлен, контент не будет доставляться потребителям.
Если эта опция выбрана, то после создания CDN-ресурса он перейдет в состояние Активен, контент будет доставляться потребителям.

Включить или отключить доступ к контенту можно и после создания CDN-ресурса.

Настройте взаимодействие CDN-ресурса с источниками:

Протокол взаимодействия с источником: протокол, по которому CDN-серверы будут запрашивать контент с источников. Доступны опции:

HTTP — контент на источнике доступен только по HTTP (80 порт) или источник поддерживает перенаправление с HTTPS на HTTP.
HTTPS — контент на источнике доступен только по HTTPS (443 порт) или источник поддерживает перенаправление с HTTP на HTTPS.
(По умолчанию) HTTP и HTTPS — контент на источнике доступен по HTTP и HTTPS. В этом случае в запросе от CDN к источнику сохранится протокол запроса конечного пользователя. При этом в кеше CDN будет храниться две версия файла для каждого протокола.

Запрос контента: с каких источников CDN-серверы будут запрашивать контент.

Доступны опции:

(По умолчанию) С одного источника

В параметре Источник контента укажите URL, по которому нужно обращаться к источнику:

URL может содержать только латинские буквы, цифры, символы . и -.
URL не должен содержать схему (http:// или https://): она уже добавлена автоматически в виде http(s)://. Конкретный протокол определяется соответствующим параметром, который был настроен ранее.
В URL можно передать как доменное имя, так и IP-адрес. Также допустимо указать порт.
Максимальная длина всего URL — 255 символов. Максимальная длина поддомена — 63 символа.

Примеры:

203.0.113.222:8080,
images.example.com.

В процессе создания CDN-ресурса будет автоматически создана группа источников, которая состоит из одного источника с указанными параметрами.

В поле Персональный домен укажите персональный домен, который будет использоваться для CDN. При обращении к этому домену контент будет доставлен с помощью CDN. Используйте полное квалифицированное имя домена (FQDN). Не добавляйте к нему корневое доменное имя: допустима запись вида cdn.example.com, но не cdn.example.com..

(Опционально) Нажмите кнопку Добавить домен, чтобы указать дополнительные персональные домены. Ненужные домены можно удалить, нажав на значок рядом с ними.

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

Выберите опцию, отвечающую за SSL-сертификат. Сертификат будет использоваться при доступе к настроенным ранее персональным доменам по HTTPS.

Доступны опции:

(По умолчанию) Let's Encrypt

Сертификат не будет использоваться: к персональным доменам можно будет обращаться только по HTTP.

Выберите, изменять ли значение HTTP-заголовка Host при обращении к настроенным ранее источникам.

CDN-серверы указывают в HTTP-запросах обязательный заголовок Host, когда запрашивают контент с источников. Использование этого заголовка позволяет обращаться к нужному виртуальному хосту на источниках.

Доступны опции:

(По умолчанию) Пересылать

В качестве значения заголовка будет использоваться имя домена или IP-адрес первого источника из группы источников.

Пример:

Пусть настроена группа из двух источников:

203.0.113.222:8080,
images.example.com.

Тогда при обращении CDN-серверов к любому из этих источников будет использоваться заголовок Host: 203.0.113.222:8080.

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

Перейдите в личный кабинет VK Cloud.

Выберите проект, где находится нужный бакет. Если у вас еще нет бакета, создайте его.

Перейдите в раздел Объектное хранилище → Бакеты.

Нажмите на имя нужного бакета.

Перейдите на вкладку CDN.

Выберите опцию Использовать CDN для данного бакета.

Чтобы бакет мог выступать в качестве источника для CDN-ресурса, выбирайте ACL public-read при добавлении объектов в этот бакет.

В поле Персональный домен укажите персональный домен, который будет использоваться для CDN. При обращении к этому домену за контентом, контент будет доставлен с помощью CDN. Используйте полное квалифицированное имя домена (FQDN). Не добавляйте к нему корневое доменное имя: допустима запись вида cdn.example.com, но не cdn.example.com..

(Опционально) Нажмите кнопку Добавить домен, чтобы указать дополнительные персональные домены. Ненужные домены можно удалить, нажав на значок рядом с ними.

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

Выберите нужное время жизни кеша из выпадающего списка.

Этот параметр позволяет в течении заданного времени кешировать ответы со следующими статусами HTTP: 200, 201, 204, 206, 301, 302, 303, 304, 307, 308.

Ответы с другими статусами не кешируются.

(Опционально) Можно полностью выключить кеширование, выбрав пункт Не кешировать.

Нажмите кнопку Сохранить изменения.

Начнется создание группы источников и CDN-ресурса для бакета. Созданные объекты будут доступны в разделе CDN личного кабинета.

Создайте CNAME-запись для CDN-ресурса. Это позволит изменить URL-адрес. Например, если вы используете CDN-ресурс для предоставления изображений своего веб-сайта, создайте CNAME-запись типа images.example.com, которая будет указывать на CDN-ресурс типа cl-541e19d9.service.cdn.msk.vkcs.cloud.

Если вы используете сервис DNS от VK Cloud, следуйте инструкции.

Если вы не сохранили оригинальный домен при создании, вы можете найти его в информации об CDN-ресурсе:

Перейдите в личный кабинет VK Cloud.
Выберите проект, где находится нужный CDN-ресурс.
Перейдите в раздел CDN → CDN-ресурсы.
Нажмите на имя нужного персонального домена в списке.

Замените в пути до статических файлов оригинальный домен на персональный.

Загрузите контент в интерфейс VK Cloud (если CDN-ресурс создавался не из бакета).