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

S3

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

Благодаря высокой степени масштабируемости CDN и большинства провайдеров S3, вы можете легко справляться со скачками трафика и ростом спроса на контент, не беспокоясь о расширении вашей инфраструктуры.

Подключение S3 к CDN

1. Для подключения бакетов к CDN прежде всего необходимо выбрать провайдера S3. CDN поддерживает работу с основными провайдерами, такими как AWS, Google Cloud и многими другими.

2. Далее введите S3-endpoint вашего провайдера. Вы также можете настроить мультирегиональную точку доступа с автоматической маршрутизацией в соответствии с настройками вашего провайдера. Более подробную информацию можно получить в документации провайдеров AWS и Google Cloud.

Docs Рисунок 1. Выбор S3 провайдера

Если ваш провайдер не указан в списке, выберите параметр Другой. Укажите все необходимые данные, включая имя провайдера и дополнительную информацию. В результате будет сформирован запрос в службу технической поддержки для осуществления интеграции с вашим S3-провайдером.

Docs Рисунок 2. Выбор S3 провайдера

3. Укажите бакеты вашего S3-хранилища, которые требуется подключить к CDN. В процессе интеграции S3 c CDN, особое значение имеют заголовки HTTP, которые позволяют контролировать процессы кэширования и доставки контента. Заголовки можно будет настроить после подключения.

Docs Рисунок 3. Указание бакетов

4. После указания необходимых конфигураций, введите имя S3, которое будет отображаться в панели управления и нажмите кнопку Подключить, расположенную внизу страницы услуги.

Docs Рисунок 4. Подключение S3

Управление S3

После успешного завершения подключения вы получите уникальный адрес хоста CDN. В результате указания этого адреса CDN в настройках вашего сайта или в CMS системе, все URL-адреса статического контента на вашем сайте будут преобразованы и позволят направить трафик через серверы CDN.

Docs Рисунок 5. Страница CDN:S3

В панели управления вы получаете доступ к настройке компонентов S3, сможете добавлять новые бакеты к CDN или удалять неактуальные. Также предоставляется возможность управлять состоянием конкретных бакетов. Вы можете задавать и изменять параметры заголовков бакета, адаптируя его с учетом индивидуальных требований.

Ниже приведены наиболее распространенные HTTP-заголовки, которые используются в контексте взаимодействия с S3 и CDN:

  • Заголовок Cache-Control необходим для управления поведением кэширования. Он определяет, как долго содержимое может кэшироваться на пограничных серверах CDN перед проверкой на наличие обновлений. Пример:
Cache-Control: max-age=3600, public

В данном примере заголовок устанавливает максимальный срок кэширования 3600 секунд (1 час), а также разрешает публичное кэширование содержимого бакета.

  • Заголовок Expires определяет дату истечения срока действия кэширования. Данный заголовок является альтернативой Cache-Control и полезен для установки определенной даты и времени истечения срока действия содержимого бакета. Пример:
Expires: Thu, 01 Jan 2024 00:00:00 GMT

В данном случае срок действия объекта истекает 1 января 2024 года в полночь по Гринвичу.

  • Заголовок Authorization может использоваться для предоставления доступа к защищенному ресурсу, который идентифицирует пользователя на стороне сервера. Пример:
Authorization: Bearer <token>
  • Заголовок Access-Control-Allow-Origin предназначен для совместного использования ресурсов между источниками (CORS), указывая, какие источники могут получить доступ к соответствующему объекту. Пример:
Access-Control-Allow-Origin: *

Для добавления заголовка в разделе S3 бакеты выберите бакет и нажмите Добавить заголовок.

Docs Рисунок 6. S3 бакеты

В открывшемся окне выберите заголовок и заполните его значение. Нажмите Добавить.

Docs Рисунок 7. Добавление заголовка бакету