Начало работы и управление бакетами
В настоящий момент мы поддерживаем два кластера S3, которые немного отличаются доступными возможностями и методами. Если какой-то функционал, описанный в документации, недоступен для вашего аккаунта, но необходим вам для работы — мы можем перевести ваш аккаунт на другой кластер, по запросу в поддержку.
Данные в S3-хранилище хранятся в едином формате: в виде объектов, помещенных в бакеты (контейнеры).
Объекты — это ваши файлы и данные в любом формате. Бакет — это хранилище объектов. Чтобы разместить файл в S3-хранилище, его необходимо поместить в бакет.
Бакеты могут быть приватными или публичными и отличаются способом доступа к ним. Получить доступ к объектам в приватном контейнере может только авторизованный пользователь (администратор).
Пользователь хранилища — один, и ему доступны все его бакеты с полными правами. Access Key и Secret Access Key для разных бакетов в рамках одного аккаунта совпадают. На текущий момент нет возможности настроить какие-либо ограничения видимости бакетов (например, отображать в Cyberduck только конкретный из них).
Лимиты хранилища
Существует только одно ограничение — на объем занятого места. Этот объем определяется выбранным тарифом для каждого бакета.
Никакие иные параметры (количество бакетов, объем трафика, количество запросов и др.) не ограничиваются и не тарифицируются. Вы оплачиваете только ежемесячную фиксированную стоимость каждого бакета согласно выбранному тарифу.
Создание бакета
Чтобы создать бакет, нажмите «Создать» или «Добавить» в разделе «Хранилище S3». Укажите необходимые параметры.
1. Имя бакета можно оставить по умолчанию или указать свое. Для работы по протоколу S3 имя бакета должно соответствовать правилам, заданным Amazon.
2. Выберите нужный тариф и размер хранилища.
3. Выберите тип бакета. Тип можно будет изменить в дальнейшем.
- Приватный
Доступ к такому бакету и размещенным в нем объектам будет иметь только администратор. Выбирайте этот тип бакета для хранения данных, доступ к которым важно ограничить. - Публичный
Для доступа к данным в публичном бакете не требуется авторизация. Этот тип подойдет для хранения данных, которые могут быть доступны широкому кругу лиц.
4. Выберите нужный проект.
5. Нажмите «Создать».
Бакет будет создан мгновенно и отобразится в панели управления.
Теперь вы можете загрузить файлы в бакет — с помощью Cyberduck, объектного менеджера или другого способа подключения.
Подключение к бакету и работа с файлами
Оба кластера нашего хранилища S3 поддерживают доступ через Amazon S3 API и Swift API. При этом, для одного из кластеров реквизиты подключения для S3 и Swift совпадают. Для другого кластера реквизиты разделены, и в этом случае в настройках бакета в панели будут отдельно отображены «Параметры Swift».
Подключение к хранилищу и управление файлами (загрузка, удаление, изменение) может быть реализовано разными способами:
- Вы можете использовать клиент API S3. Это может быть файловый менеджер Cyberduck или любой другой инструмент с поддержкой протокола S3, например, S3cmd, Rclone, AWS CLI, S3 Browser и многие другие.
- Подключение к хранилищу может быть реализовано в коде вашего приложения, с помощью библиотек языка программирования для протокола S3. Примеры можно найти здесь.
- Загружать файлы в бакет можно с помощью объектного менеджера в панели управления.
- Можно подключаться к бакету с помощью ISPmanager для автоматической загрузки бэкапов.
- Можно настроить выгрузку в хранилище бэкапов через Bitrix Backup — для этого необходима версия AWS Signature v2, доступная в кластере s3.timeweb.cloud. По запросу мы можем перевести ваш аккаунт на нужный кластер.
Один из наших кластеров хранилища (эндпойнт s3.timeweb.com) поддерживает только AWS Signature v4, второй (эндпойнт s3.timeweb.cloud) — версии v2 и v4. Клиент S3 может использовать другую версию Signature, поэтому возможны ошибки подключения. Например, в клиенте S3 Browser можно выставить в настройках использование AWS Signature v4 вместо v2.
Реквизиты подключения доступны в блоке «Параметры S3» в настройках бакета.
В зависимости от кластера, URL может быть s3.timeweb.com
или s3.timeweb.cloud
. Проверить корректные ссылки всегда можно в вашей панели в настройках бакета.
Для доступа к файлам используются пути вида:
https://s3.timeweb.com/имя_бакета/имя_файла
https://s3.timeweb.cloud/имя_бакета/имя_файла
Либо, если файл размещен внутри директории в бакете:
https://s3.timeweb.com/имя_бакета/имя_директории/имя_файла
https://s3.timeweb.cloud/имя_бакета/имя_директории/имя_файла
К файлам в публичных бакетах также можно обращаться, используя модель адресации Virtual-hosted style, в этом случае название бакета входит в имя хоста:
https://имя_бакета.s3.timeweb.com/имя_файла
https://имя_бакета.s3.timeweb.com/имя_директории/имя_файла
https://имя_бакета.s3.timeweb.cloud/имя_файла
https://имя_бакета.s3.timeweb.cloud/имя_директории/имя_файла
Вы также можете обращаться к бакету по своему домену, привязав его.
Получить доступ к файлам в публичном бакете можно через браузер или другой HTTP-клиент, обратившись непосредственно по такой ссылке.
Доступ к файлам в приватном бакете также может быть организован через HTTP, но дополнительно потребуется подпись для аутентификации, которая добавляется к запросу в виде HTTP-заголовков. Подробнее см. Описание принципов работы с S3.
Скорость загрузки файлов в бакет или из бакета составляет 1 Гбит/сек.
Объектный менеджер
Вы можете управлять файлами в бакете прямо в браузере, используя объектный менеджер в панели управления — он доступен на странице бакета на вкладке «Объекты».
С помощью объектного менеджера вы можете загружать файлы в бакет, удалять их, переименовывать, а также создавать директории.
При загрузках больших объектов будет использоваться составная загрузка (multipart upload), которая снижает вероятность того, что процесс загрузки прервется до его завершения. При этом в бакете будет создан объект (манифест), который содержит ссылки на все загруженные сегменты.
В одном из кластеров хранилища S3 сегменты хранятся в отдельном пространстве и доступны на вкладке «Составные загрузки». В другом — на вкладке «Объекты»; вкладки «Составные загрузки» в панели управления при этом не будет.
Привязка домена
Чтобы не указывать имя бакета при обращении к файлам, вы можете привязать к бакету домен.
В этом случае для обращения к файлам вместо путей:
https://s3.timeweb.com/имя_бакета/имя_файла
https://s3.timeweb.com/имя_бакета/имя_директории/имя_файла
https://s3.timeweb.cloud/имя_бакета/имя_файла
https://s3.timeweb.cloud/имя_бакета/имя_директории/имя_файла
вы сможете использовать пути:
https://ваш.домен.tld/имя_файла
https://ваш.домен.tld/имя_директории/имя_файла
Для привязки необходимо использовать домен третьего или более уровня, например, timeweb.mydomain.com
.
Если для домена включено проксирование через Cloudflare, отключите его перед привязкой домена. Подождите 5-10 минут, чтобы изменения вступили в силу, привяжите домен по инструкции ниже, после чего проксирование можно снова подключить.
Порядок действий:
- В настройках бакета на вкладке «Домены» кликните «Привязать домен».
- Скопируйте значение CNAME-записи — это может быть
s3.timeweb.com
либоs3.timeweb.cloud
, в зависимости от кластера хранилища. - Укажите для домена эту CNAME-запись на стороне держателя NS-серверов (проверить его можно здесь). Если домен размещен на NS-серверах Timeweb Cloud, настройка выполняется по нашей инструкции.
- Подождите 15-20 минут, чтобы изменения вступили в силу.
- Кликните «Привязать домен».
Если оставить отмеченной галку «Выпустить SSL-сертификат», мы автоматически сгенерируем и установим на указанный домен бесплатный SSL Let's Encrypt и будем автоматически его продлевать за неделю до истечения.
Перенос данных от других провайдеров
Перенос данных из сторонних S3-совместимых хранилищ можно выполнить автоматически. Для этого в бакете, в который нужно перенести объекты, перейдите на вкладку «Перенос данных» и введите реквизиты от стороннего хранилища. Нажмите «Начать перенос».
Данные будут скопированы в ваш бакет в Timeweb Cloud.
Смена тарифа
Вы можете увеличить тариф бакета, если вам потребуется больше пространства для хранения данных. Изменить тариф в меньшую сторону невозможно.
Для смены тарифа кликните на нужный бакет в панели управления, чтобы открыть настройки, и нажмите «Изменить размер хранилища».
Выберите новый тариф и сохраните изменения.
Объем пространства увеличится сразу же.
Скачивание бакетов
Любой контейнер со всем содержимым можно скачать с помощью Cyberduck.
Контейнер и все файлы в нем будут загружены на ваше устройство в виде директории.
История действий
Вы можете просмотреть, какие действия выполнялись с бакетом, на вкладке «История».
Логируются следующие события:
- Создание бакета
- Изменение конфигурации
- Привязка домена
- Выпуск SSL-сертификата на домен
- Перенос данных
- Удаление бакета
Удаление бакета
Будет удален бакет и все файлы в нем.
Для удаления кликните на три точки на вкладке Бакеты:
Либо на значок удаления в настройках бакета:
Во всплывающем окне введите имя бакета или код подтверждения, в зависимости от ваших настроек.
Была ли статья полезна?