---
title: 'Подключить S3 к кластеру серверов 1С'
sidebar_label: 'Подключить хранилище к кластеру серверов 1С'
sidebar_position: 9
description: 'Как подключить S3 к кластеру серверов 1С для хранения медиафайлов'
---

import Tabs from '@theme/Tabs'
import TabItem from '@theme/TabItem'
import {TabItemLabel} from '@selectel/docux/components'
import MoreVerticalIcon from '@selectel/docux/icons/more-vertical'
import TrashIcon from '@selectel/docux/icons/trash'
import Formbricks from '@theme/MDXComponents/Formbricks'

# Подключить S3 к кластеру серверов 1С

S3 — сервис для хранения и раздачи неограниченного объема данных.
Вы можете подключить [S3](/s3/about/) к своему кластеру серверов 1С, чтобы сохранять туда медиафайлы — изображения и документы.
Это позволит вам:

* сократить количество запросов к кластеру баз данных — запросы на действия с файлами будут адресованы в бакет хранилища;
* повысить надежность хранения медиафайлов — данные в S3 реплицируются на три независимых сервера в разных стойках;
* редактировать и заменять медиафайлы в бакете в [панели управления](https://my.selectel.ru/storage/) или с помощью [инструментов для работы с S3](/s3/tools/).

## Принцип работы \{#principle-of-operation}

Вы подключаете S3 к кластеру серверов 1С в [панели управления](https://my.selectel.ru/ones/server), затем настраиваете метод хранения медиафайлов в меню конфигурации 1С.

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

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

S3 имеет плоскую адресную структуру — в хранилище нет папок и иерархии, но для удобства работы можно создавать и просматривать [имитированные папки (директории)](/s3/objects/manage-folder.mdx). Имя папки является префиксом в имени объекта.

Нельзя подключить одновременно родительскую и дочернюю директории в одном бакете. Например, если подключена директория `example/images`, вы не можете подключить ее родительскую директорию `example` или дочернюю `example/images/photos`, но можете подключить директорию `example/documents`.

Доступно два способа подключения S3:

* [автоматически](#connect-automatically) — можно подключить существующий бакет или создать новый. Сервисный пользователь и политики доступа для работы с бакетом будут созданы автоматически;
* [вручную](#connect-manually) — можно подключить существующий бакет. Создать сервисного пользователя и политики доступа необходимо самостоятельно.

### Ограничения и рекомендации для бакетов \{#bucket-limitations-and-recommendations}

К кластеру серверов 1С можно подключить только бакеты:

* с [Virtual-Hosted адресацией](/s3/buckets/addressing-types.mdx#virtual-hosted);
* стандартным [классом хранения](/s3/about/payment.mdx#storage-types);
* в [проекте](/access-control/projects/about-projects.mdx), в котором находится кластер серверов 1С.

Для оптимальной работы мы рекомендуем выбирать бакеты:

* с приватным типом;
* в [регионе и пуле](/infrastructure/locations.mdx), в котором находится кластер серверов 1С.

## Стоимость \{#price}

Хранение файлов в бакете оплачивается по [модели оплаты и ценам S3](/s3/about/payment.mdx).

При удалении кластера серверов 1С файлы из подключенных бакетов не удаляются и продолжают тарифицироваться — для прекращения оплаты [удалите бакеты](/s3/buckets/delete-bucket.mdx).

## Подключить бакет к кластеру автоматически \{#connect-automatically}

При подключении бакета по умолчанию будут созданы и настроены:

* сервисный пользователь `GO1C_SERVICE_USER`;
* политика доступа для сервисного пользователя `GO1C_POLICY`;
* политика доступа для текущего пользователя `ALL_OTHER`.

Подключить бакет автоматически может [Владелец аккаунта](/access-control/user-types.mdx#account-owner) или пользователи с комбинациями ролей [`member`](/access-control/role-reference.mdx#member) и [`iam.admin`](/access-control/role-reference.mdx#iam-admin).

Подключить бакет можно только кластеру серверов 1С в статусе `ACTIVE`.

:::warning

При изменении, удалении сервисного пользователя или политик доступа подключение к кластеру серверов 1С может быть разорвано, но статус подключения в панели управления не изменится.

:::

<Tabs queryString="connect-automatically">
  <TabItem value="new" default>
    <TabItemLabel>
      Новый бакет
    </TabItemLabel>

    1. В [панели управления](https://my.selectel.ru/ones/server) в верхнем меню нажмите **Продукты** и выберите **Готовое облако 1С**.
    2. Перейдите в раздел **Кластеры серверов 1С**.
    3. Откройте страницу кластера → вкладка **Хранилище**.
    4. Нажмите **Подключить**.
    5. Выберите тип подключения — Автоматически.
    6. В полях **Регион** и **Пул** выберите [регион и пул](/infrastructure/locations.mdx), в котором будет создан бакет. Мы рекомендуем создавать бакет в одном регионе и пуле с кластером серверов 1С.
    7. В поле **Бакет** выберите **Новый бакет S3**. Будет создан приватный бакет с Virtual-Hosted адресацией и стандартным классом хранения.
    8. В поле **Название бакета** укажите имя нового бакета. Для совместимости с S3 API имя бакета должно быть уникально в рамках S3 и соответствовать правилам именования бакетов Amazon S3, подробнее в инструкции [Bucket naming rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html) документации Amazon.
    9. В поле **Префикс** укажите префикс для имитированной папки (директории), в которой будут храниться медиафайлы.

       Чтобы создать новую папку, укажите ее имя в соответствии с правилам именования бакетов Amazon S3. Папка будет создана автоматически.

       Если медиафайлы будут храниться в корне бакета, оставьте поле пустым.
    10. Нажмите **Создать подключение**.
  </TabItem>

  <TabItem value="existing">
    <TabItemLabel>
      Существующий бакет
    </TabItemLabel>

    1. Убедитесь, что бакет соответствует [ограничениям и рекомендациям для бакетов](#bucket-limitations-and-recommendations).
    2. В [панели управления](https://my.selectel.ru/ones/server) в верхнем меню нажмите **Продукты** и выберите **Готовое облако 1С**.
    3. Перейдите в раздел **Кластеры серверов 1С**.
    4. Откройте страницу кластера → вкладка **Хранилище**.
    5. Нажмите **Подключить**.
    6. Выберите тип подключения — Автоматически.
    7. В полях **Регион** и **Пул** выберите [регион и пул](/infrastructure/locations.mdx), в котором находится бакет.
    8. В поле **Бакет** выберите бакет из списка.
    9. В поле **Префикс** укажите префикс для имитированной папки (директории), в которой будут храниться медиафайлы.

       Чтобы создать новую папку, укажите ее имя в соответствии с [правилам именования бакетов](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html) Amazon S3. Папка будет создана автоматически.

       Если медиафайлы будут храниться в корне бакета, оставьте поле пустым.
    10. Нажмите **Создать подключение**.
  </TabItem>
</Tabs>

## Подключить бакет к кластеру вручную \{#connect-manually}

Подключить бакет можно только к кластеру серверов 1С в статусе `ACTIVE`.

:::warning

При изменении, удалении сервисного пользователя или политик доступа подключение к кластеру серверов 1С может быть разорвано, но статус подключения в панели управления не изменится.

:::

1. [Подготовьте бакет к подключению](#set-up-bucket).
2. [Подключите бакет](#connect-bucket).

### 1. Подготовить бакет к подключению \{#set-up-bucket}

<Tabs queryString="set-up-bucket">
  <TabItem value="new" default>
    <TabItemLabel>
      Создать новый бакет
    </TabItemLabel>

    1. Убедитесь, что вы находитесь в [проекте](/access-control/projects/about-projects.mdx), в котором находится кластер серверов 1С.

    2. [Создайте сервисного пользователя](/access-control/manage/add-user.mdx#add-service-user) с разрешением с настройками:

       * область доступа — **Проекты**;
       * добавлен проект, в котором будет создан бакет;
       * роль — [`s3.user`](/access-control/role-reference.mdx#s3-user).

    3. [Создайте бакет](/s3/buckets/create-bucket.mdx) в объектном хранилище. Учитывайте [ограничения и рекомендации для бакетов](#bucket-limitations-and-recommendations).

    4. Перейдите в [раздел](https://my.selectel.ru/storage/) **Объектное хранилище** → **Бакеты**.

    5. Откройте страницу созданного бакета → вкладка **Политика доступа**.

    6. Нажмите **Создать политику доступа**.

    7. [Добавьте правило](/s3/buckets/bucket-policy/create-policy.mdx#add-rule) для сервисного аккаунта:

       * в поле **Доступ** выберите **Разрешить**;
       * в поле **Пользователи** выберите **Авторизованные** и добавьте сервисного пользователя, которого вы создали на шаге 2;
       * в поле **Набор действий** выберите **Редактор**.

    8. [Добавьте правило](/s3/buckets/bucket-policy/create-policy.mdx#add-rule) для [пользователей панели](/access-control/user-types.mdx#panel-users):

       * в поле **Доступ** выберите **Разрешить**;
       * в поле **Пользователи** выберите **Авторизованные** и добавьте пользователя, который будет подключать хранилище к кластеру 1С;
       * в поле **Набор действий** выберите **Все**.

    9. Нажмите **Сохранить**.

    10. [Выдайте S3-ключи](/access-control/manage/edit-user-data-or-role.mdx#issue-s3-key) для сервисного пользователя.
  </TabItem>

  <TabItem value="existing">
    <TabItemLabel>
      Подготовить существующий бакет
    </TabItemLabel>

    1. Убедитесь, что бакет соответствует [ограничениям и рекомендациям для бакетов](#bucket-limitations-and-recommendations).

    2. Убедитесь, что вы находитесь в [проекте](/access-control/projects/about-projects.mdx), в котором находится кластер серверов 1С и бакет объектного хранилища.

    3. [Создайте сервисного пользователя](/access-control/manage/add-user.mdx#add-service-user) с разрешением с настройками:

       * область доступа — **Проекты**;
       * добавлен проект, в котором будет создан бакет;
       * роль — [`s3.user`](/access-control/role-reference.mdx#s3-user).

    4. Перейдите в [раздел](https://my.selectel.ru/storage/) **Объектное хранилище** → **Бакеты**.

    5. Откройте страницу созданного бакета → вкладка **Политика доступа**.

    6. Нажмите **Создать политику доступа**.

    7. [Добавьте правило](/s3/buckets/bucket-policy/create-policy.mdx#add-rule) для сервисного аккаунта:

       * в поле **Доступ** выберите **Разрешить**;
       * в поле **Пользователи** выберите **Авторизованные** и добавьте сервисного пользователя, которого вы создали на шаге 3;
       * в поле **Набор действий** выберите **Редактор**.

    8. [Добавьте правило](/s3/buckets/bucket-policy/create-policy.mdx#add-rule) для пользователя:

       * в поле **Доступ** выберите **Разрешить**;
       * в поле **Пользователи** выберите **Авторизованные** и добавьте пользователя, который будет подключать хранилище к кластеру 1С;
       * в поле **Набор действий** выберите **Все**.

    9. Нажмите **Сохранить**.

    10. [Выдайте S3-ключи](/access-control/manage/edit-user-data-or-role.mdx#issue-s3-key) для сервисного пользователя.
  </TabItem>
</Tabs>

### 2. Подключить бакет \{#connect-bucket}

1. В [панели управления](https://my.selectel.ru/ones/server) в верхнем меню нажмите **Продукты** и выберите **Готовое облако 1С**.
2. Перейдите в раздел **Кластеры серверов 1С**.
3. Откройте страницу кластера → вкладка **Хранилище**.
4. Нажмите **Подключить**.
5. Выберите тип подключения — Вручную.
6. В полях **Регион** и **Пул** выберите регион и пул, в котором находится [бакет](#set-up-bucket).
7. В поле **Бакет** выберите бакет, который вы подготовили ранее.
8. В поле **Префикс** укажите префикс для имитированной папки (директории), в которой будут храниться медиафайлы.

   Чтобы создать новую папку, укажите ее имя в соответствии с [правилам именования бакетов](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html) Amazon S3. Папка будет создана автоматически.

   Если медиафайлы будут храниться в корне бакета, оставьте поле пустым.
9. В блоке **S3 ключи** укажите **Access key** и **Secret key** для сервисного пользователя, которые вы создали при [подготовке бакета](#set-up-bucket).
10. Нажмите **Создать подключение**.

## Отключить бакет \{#disconnect-bucket}

Отключить бакет можно только от кластера серверов 1С в статусе `ACTIVE`.
При отключении бакета от кластера будут удалены S3-ключ сервисного пользователя и правило политики доступа для сервисного пользователя, которые были созданы для этого бакета.

1. В [панели управления](https://my.selectel.ru/ones/server) в верхнем меню нажмите **Продукты** и выберите **Готовое облако 1С**.
2. Перейдите в раздел **Кластеры серверов 1С**.
3. Откройте страницу кластера → вкладка **Хранилище**.
4. В строке бакета нажмите <TrashIcon />.
5. Введите название бакета для подтверждения удаления.
6. Нажмите **Отключить**. Если бакет больше не нужен, [удалите его](/s3/buckets/delete-bucket.mdx).

<Formbricks />
