S3
Интеграция S3 с CDN позволяет ускорить доставку содержимого бакетов S3 до конечных пользователей. CDN кэширует содержимое на своих серверах и обслуживает его из мест, расположенных ближе всего к пользователю, что позволяет сократить время ожидания.
Благодаря высокой степени масштабируемости CDN и большинства провайдеров S3, вы можете легко справляться со скачками трафика и ростом спроса на контент, не беспокоясь о расширении вашей инфраструктуры.
Подключение S3 к CDN
1. Для подключения бакетов к CDN прежде всего необходимо выбрать провайдера S3. CDN поддерживает работу с основными провайдерами, такими как AWS, Google Cloud и многими другими.
2. Далее введите S3-endpoint вашего провайдера. Вы также можете настроить мультирегиональную точку доступа с автоматической маршрутизацией в соответствии с настройками вашего провайдера. Более подробную информацию можно получить в документации провайдеров AWS и Google Cloud.
Рисунок 1. Выбор S3 провайдера
Если ваш провайдер не указан в списке, выберите параметр Другой. Укажите все необходимые данные, включая имя провайдера и дополнительную информацию. В результате будет сформирован запрос в службу технической поддержки для осуществления интеграции с вашим S3-провайдером.
Рисунок 2. Выбор S3 провайдера
3. Укажите бакеты вашего S3-хранилища, которые требуется подключить к CDN. В процессе интеграции S3 c CDN, особое значение имеют заголовки HTTP, которые позволяют контролировать процессы кэширования и доставки контента. Заголовки можно будет настроить после подключения.
Рисунок 3. Указание бакетов
4. После указания необходимых конфигураций, введите имя S3, которое будет отображаться в панели управления и нажмите кнопку Подключить, расположенную внизу страницы услуги.
Рисунок 4. Подключение S3
Управление S3
После успешного завершения подключения вы получите уникальный адрес хоста CDN. В результате указания этого адреса CDN в настройках вашего сайта или в CMS системе, все URL-адреса статического контента на вашем сайте будут преобразованы и позволят направить трафик через серверы CDN.
Рисунок 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 бакеты выберите бакет и нажмите Добавить заголовок.
Рисунок 6. S3 бакеты
В открывшемся окне выберите заголовок и заполните его значение. Нажмите Добавить.
Рисунок 7. Добавление заголовка бакету