Подключить S3 к кластеру серверов 1С
S3 — сервис для хранения и раздачи неограниченного объема данных. Вы можете подключить S3 к своему кластеру серверов 1С, чтобы сохранять туда медиафайлы — изображения и документы. Это позволит вам:
- сократить количество запросов к кластеру баз данных — запросы на действия с файлами будут адресованы в бакет хранилища;
- повысить надежность хранения медиафайлов — данные в S3 реплицируются на три независимых сервера в разных стойках;
- редактировать и заменять медиафайлы в бакете в панели управления или с помощью инструментов для работы с S3.
Принцип работы
Вы подключаете S3 к кластеру серверов 1С в панели управления, затем настраиваете метод хранения медиафайлов в меню конфигурации 1С.
После этого новые медиафайлы начнут отправляться в S3. Существующие медиафайлы не будут автоматически перенесены в S3, вы сможете перенести их после подключения.
После подключения и настройки вы сможете работать с медиафайлами через 1С и через S3 — например, создавать, изменять и удалять их в S3, при этом в 1С будет отображаться их актуальное состояние.
S3 имеет плоскую адресную структуру — в хранилище нет папок и иерархии, но для удобства работы можно создавать и просматривать имитированные папки (директории). Имя папки является префиксом в имени объекта.
Нельзя подключить одновременно родительскую и дочернюю директории в одном бакете. Например, если подключена директория example/images
, вы не можете подключить ее родительскую директорию example
или дочернюю example/images/photos
, но можете подключить директорию example/documents
.
Доступно два способа подключения S3:
- автоматически — можно подключить существующий бакет или создать новый. Сервисный пользователь и политики доступа для работы с бакетом будут созданы автоматически;
- вручную — можно подключить существующий бакет. Создать сервисного пользователя и политики доступа необходимо самостоятельно.
Ограничения и рекомендации для бакетов
К кластеру серверов 1С можно подключить только бакеты:
- с Virtual-Hosted адресацией;
- стандартным классом хранения;
- в проекте, в котором находится кластер серверов 1С.
Для оптимальной работы мы рекомендуем выбирать бакеты:
- с приватным типом;
- в регионе и пуле, в котором находится кластер серверов 1С.
Стоимость
Хранение файлов в бакете оплачивается по модели оплаты и ценам S3.
При удалении кластера серверов 1С файлы из подключенных бакетов не удаляются и продолжают тарифицироваться — для прекращения оплаты удалите бакеты.
Подключить бакет к кластеру автоматически
При подключении бакета по умолчанию будут созданы и настроены:
- сервисный пользователь
GO1C_SERVICE_USER
; - политика доступа для сервисного пользователя
GO1C_POLICY
; - политика доступа для текущего пользователя
ALL_OTHER
.
Подключить бакет автоматически может Владелец аккаунта или пользователи с комбинациями ролей member
и iam_admin
.
Подключить бакет можно только кластеру серверов 1С в статусе ACTIVE
.
При изменении, удалении сервисного пользователя или политик доступа подключение к кластеру серверов 1С может быть разорвано, но статус подключения в панели управления не изменится.
Новый бакет
Существующий бакет
-
В панели управления в верхнем меню нажмите Продукты и выберите Готовое облако 1С.
-
Перейдите в раздел Кластеры серверов 1С.
-
Откройте страницу кластера → вкладка Хранилище.
-
Нажмите Подключить.
-
Выберите тип подключения — Автоматически.
-
В полях Регион и Пул выберите регион и пул, в котором будет создан бакет. Мы рекомендуем создавать бакет в одном регионе и пуле с кластером серверов 1С.
-
В поле Бакет выберите Новый бакет S3. Будет создан приватный бакет с Virtual-Hosted адресацией и стандартным классом хранения.
-
В поле Название бакета укажите имя нового бакета. Для совместимости с S3 API имя бакета должно быть уникально в рамках S3 и соответствовать правилам именования бакетов Amazon S3, подробнее в инструкции Bucket naming rules документации Amazon.
-
В поле Префикс укажите префикс для имитированной папки (директории), в которой будут храниться медиафайлы.
Чтобы создать новую папку, укажите ее имя в соответствии с правилам именования бакетов Amazon S3. Папка будет создана автоматически.
Если медиафайлы будут храниться в корне бакета, оставьте поле пустым.
-
Нажмите Создать подключение.
-
Убедитесь, что бакет соответствует ограничениям и рекомендациям для бакетов.
-
В панели управления в верхнем меню нажмите Продукты и выберите Готовое облако 1С.
-
Перейдите в раздел Кластеры серверов 1С.
-
Откройте страницу кластера → вкладка Хранилище.
-
Нажмите Подключить.
-
Выберите тип подключения — Автоматически.
-
В полях Регион и Пул выберите регион и пул, в котором находится бакет.
-
В поле Бакет выберите бакет из списка.
-
В поле Префикс укажите префикс для имитированной папки (директории), в которой будут храниться медиафайлы.
Чтобы создать новую папку, укажите ее имя в соответствии с правилам именования бакетов Amazon S3. Папка будет создана автоматически.
Если медиафайлы будут храниться в корне бакета, оставьте поле пустым.
-
Нажмите Создать подключение.
Подключить бакет к кластеру вручную
Подключить бакет можно только к кластеру серверов 1С в статусе ACTIVE
.
При изменении, удалении сервисного пользователя или пол итик доступа подключение к кластеру серверов 1С может быть разорвано, но статус подключения в панели управления не изменится.
1. Подготовить бакет к подключению
Создать новый бакет
Подготовить существующий бакет
-
Убедитесь, что вы находитесь в проекте, в котором находится кластер серверов 1С.
-
Создайте сервисного пользователя с разрешением с настройками:
- область доступа — Проекты;
- добавлен проект, в котором будет создан бакет;
- роль —
object_storage_user
.
-
Создайте бакет в объектном хранилище. Учитывайте ограничения и рекомендации для бакетов.
-
Перейдите в раздел Объектное хранилище → Бакеты.
-
Откройте страницу созданного бакета → вкладка Политика доступа.
-
Нажмите Создать политику доступа.
-
Добавьте правило для сервисного аккаунта:
- в поле Доступ выберите Разрешить;
- в поле Пользователи выберите Авторизованные и добавьте сервисного пользователя, которого вы создали на шаге 2;
- в поле Набор действий выберите Редактор.
-
Добавьте правило для пользователей:
- в поле Доступ выберите Разрешить;
- в поле Пользователи выберите Авторизованные и добавьте пользователя, который будет подключать хранилище к кластеру 1С;
- в поле Набор действий выберите Все.
-
Нажмите Сохранить.
-
Выдайте S3-ключи для сервисного пользователя.
-
Убедитесь, что бакет соответствует ограничениям и рекомендациям для бакетов.
-
Убедитесь, что вы находитесь в проекте, в котором находится кластер серверов 1С и бакет объектного хранилища.
-
Создайте сервисного пользователя с разрешением с настройками:
- область доступа — Проекты;
- добавлен проект, в котор ом будет создан бакет;
- роль —
object_storage_user
.
-
Перейдите в раздел Объектное хранилище → Бакеты.
-
Откройте страницу созданного бакета → вкладка Политика доступа.
-
Нажмите Создать политику доступа.
-
Добавьте правило для сервисного аккаунта:
- в поле Доступ выберите Разрешить;
- в поле Пользователи выберите Авторизованные и добавьте сервисного пользователя, которого вы создали на шаге 3;
- в поле Набор действий выберите Редактор.
-
Добавьте правило для пользователя:
- в поле Доступ выберите Разрешить;
- в поле Пользователи выберите Авторизованные и добавьте пользователя, который будет подключать хранилище к кластеру 1С;
- в поле Набор действий выберите Все.
-
Нажмите Сохранить.
-
Выдайте S3-ключи для сервисного пользователя.
2. Подключить бакет
-
В панели управления в верхнем меню нажмите Продукты и выберите Готовое облако 1С.
-
Перейдите в раздел Кластеры серверов 1С.
-
Откройте страницу кластера → вкладка Хранилище.
-
Нажмите Подключить.
-
Выберите тип подключения — Вручную.
-
В полях Регион и Пул выберите регион и пул, в котором находится бакет.
-
В поле Бакет выберите бакет, который вы подготовили ранее.
-
В поле Префикс укажите префикс для имитированной папки (директории), в которой будут храниться медиафайлы.
Чтобы создать новую папку, укажите ее имя в соответствии с правилам именования бакетов Amazon S3. Папка будет создана автоматически.
Если медиафайлы будут храниться в корне бакета, оставьте поле пустым.
-
В блоке S3 ключи укажите Access key и Secret key для сервисного пользователя, которые вы создали при подготовке бакета.
-
Нажмите Создать подключение.
Отключить бакет
Отключить бакет можно только от кластера серверов 1С в статусе ACTIVE
.
При отключении бакета от кластера будут удалены S3-ключ сервисного пользователя и правило политики доступа для сервисного пользователя, которые были созданы для этого бакета.
- В панели управления в верхнем меню нажмите Продукты и выберите Готовое облако 1С.
- Перейдите в раздел Кластеры серверов 1С.
- Откройте страницу кластера → вкладка Хранилище.
- В строке с бакетом нажмите .
- Введите название бакета для подтверждения удаления.
- Нажмите Отключить. Если бакет больше не нужен, удалите его.