Основные операции
Основные операции
Доступ к корзинам S3
Для доступа к корзинам S3 получите следующие сведения (учетные данные):
- DNS-имя оконечной точки S3;
- Идентификатор ключа доступа;
- Секретный ключ доступа.
Кибер Инфраструктура позволяет получить доступ к данным S3 через стороннее приложение S3 (Cyberduck, S3 Browser и т. п.).
Управления ACL корзин возможно путем выполнения запроса REST Amazon S3 через стороннее ПО (Postman).
Работа через CyberDuck
Создание подключения к хранилищу S3 с помощью CyberDuck
Чтобы получить доступ к S3 хранилищу с помощью CyberDuck, выполните следующие действия.
- В CyberDuck нажмите «Новое подключение».
- Укажите данные:
- Тип – Amazon S3;
- Сервер - доменное имя оконечной точки S3 (s3-01.slcloud.ru);
- ID Ключа Доступа - Идентификатор ключа доступа к S3;
- Секретный ключ доступа - Секретный ключ доступа к S3;
- По умолчанию подключение устанавливается через протокол HTTPS.
3. Нажмите «Подключиться»
Важно! Для работы новых версий CyberDuck с S3 необходимо скачать поддержку путей для программы по адресу https://profiles.cyberduck.io/S3%20(Deprecated%20path%20style%20requests).cyberduckprofile Добавьте скаченный профиль, дважды нажав на него или выберите открыть с помощью CyberDuck. Дальнейшие подключения выполняется с установленным профилем.
Создание корзин S3 с помощью CyberDuck
-
После того как подключение будет установлено, выберите Файл > Новая папка, чтобы создать корзину.
- Укажите имя для новой корзины, а затем нажмите Создать. Новая корзина появится в CyberDuck. Вы можете управлять ею и ее содержимым.
Управление версиями корзин S3 с помощью CyberDuck
Управление версиями позволяет поддерживать несколько вариантов одного объекта в одной и той же корзине. С его помощью можно хранить, извлекать и восстанавливать любую версию любого объекта, хранящегося в вашей корзине S3. С управлением версиями можно легко восстанавливать систему после как непреднамеренных действий пользователей, так и сбоев приложений.
Управление версиями корзин по умолчанию отключено. В CyberDuck его можно включить в свойствах корзины.
-
Выбрать корзину, щелкнуть правой кнопкой мыши и выбрать «Инфо»
-
Перейти на вкладку S3 и отметить «Версионирование бакетов».
Управление правами доступа к корзине S3 с помощью CyberDuck.
Управление правами корзины позволяет предоставить доступ к корзине пользователям, существующим в Кибер Инфраструктуре сервиса S3 хранилище. Возможно установить доступ по UserID, Email address или Все пользователям S3 Кибер инфраструктура. Возможно предоставление прав: на чтение, запись или полный доступ.
-
Выбрать корзину, щелкнуть правой кнопкой мыши и выбрать «Инфо»
-
Перейти на вкладку Права доступа, нажать шестеренку в левом нижнем углу и выбрать по какому параметру будет добавлен пользователь.
-
После добавления пользователя определить уровень прав.
- Для работы с подключенной корзиной определить ее имя в разделе Path при создании подключения к S3 с помощью CyberDuck.
Работа через S3 Browser
Доступ к хранилищу S3 с помощью S3 Browser
Чтобы получить доступ к Кибер Инфраструктура с помощью S3 Browser, выполните следующие действия.
- В S3 Browser нажмите Accounts – Add new account.
- Укажите данные:
- Display name – отображаемое имя;
- Account type – S3 Compatible Storage;
- REST Endpoint - доменное имя оконечной точки S3 (s3-01.slcloud.ru);
- Access Key ID - Идентификатор ключа доступа к S3;
- Secret Access Key - Секретный ключ доступа к S3.
3. Нажмите «Save changes». Для подключения нажмите «Account» и выберите созданное подключение.
Создание корзин S3 с помощью S3 Browser
-
После того как подключение будет установлено, выберите +New Bucket, чтобы создать корзину.
- Укажите имя для новой корзины, а затем нажмите Create new bucket. Новая корзина появится в S3 Browser. Вы можете управлять ею и ее содержимым.
Управление версиями корзин S3 с помощью S3 Browser
Управление версиями позволяет поддерживать несколько вариантов одного объекта в одной и той же корзине. С его помощью можно хранить, извлекать и восстанавливать любую версию любого объекта, хранящегося в вашей корзине S3. С управлением версиями можно легко восстанавливать систему после как непреднамеренных действий пользователей, так и сбоев приложений.
Управление версиями корзин по умолчанию отключено. В S3 Browser его можно включить в свойствах корзины.
-
Выбрать корзину, щелкнуть правой кнопкой мыши и выбрать «Edit Versioning Settings»
-
В открывшемся окне отметить чек-бокс «Enable versioning for <Имя корзины>». Нажать «ОК»
Управление правами доступа к корзине S3 с помощью S3 Browser
Управление правами корзины позволяет предоставить доступ к корзине пользователям, существующим в Кибер Инфраструктуре. Возможно установить доступ по UserID, Email address или Все пользователям S3 Кибер инфраструктура. Возможно предоставление прав: на чтение, запись или полный доступ.
-
Выбрать корзину, щелкнуть правой кнопкой мыши и выбрать «Edit Permissions (ACL)»
-
Нажать внизу «More» и выбрать необходимое действие: добавление или удаление пользователя.
-
После добавления пользователя определить уровень прав отметив необходимый чек-бокс.
-
Для работы с подключённой корзиной нажать в верхнем меню «Add External Bucket».
Действия с бакетами S3 с помощью Postman через API.
Поддерживаемые операции скорзинами:
- DELETE/HEAD/PUT Bucket
- GET Bucket (вывод списка объектов)
- GET/PUT Bucket acl
- GET Bucket location (возвращаетВосточная часть США)
- GET Bucket Object versions
- GET/PUT Bucket versioning
- GET/PUT Bucket Logging (кроме элемента запросаTargetGrants)
- Вывод списка передач почастям
Примечание:
Сведения об операциях REST Amazon S3 см. встандарте Amazon Simple Storage Service.
Сведения о методах REST Amazon S3 см. вдокументации поAPI REST Amazon S3.
Ниже приведены примеры по редактированию прав доступа к корзинам.
GET/PUT Bucket ACL
Управление правами корзины позволяет предоставить доступ к корзине пользователям, существующим в Кибер Инфраструктуре. Возможно установить доступ по UserID, Email address или Все пользователям S3 Кибер инфраструктура. Возможно предоставление прав: на чтение, запись или полный доступ. Доступ предоставляется при выполнении запроса к внешнему адресу S3.
Запросы должны выполняться от Владельца корзины.
Запрос GET:
Создать запрос через Postman:
- Выбрать Auth Type – AWS Signature;
- Указать AccessKey и SecretKey;
- В поле URL выбрать тип Get и ввести адрес подключения к S3 https://s3-01.slcloud.ru/<Имя корзины>/?acl=
Нажать «Send».
Результат запроса будет отображён в нижнем окне.
Запрос PUT:
- Выбрать Auth Type – AWS Signature;
- Указать AccessKey и SecretKey;
- В поле URL выбрать тип Get и ввести адрес подключения к S3 https://s3-01.slcloud.ru/Имя корзины/?acl=
- Создать тело запроса в следующем формате:
<?xml version="1.0" encoding="UTF-8"?>
<AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Owner>
<ID>e943b877e43e5104</ID>
<DisplayName>Имя владельца</DisplayName>
</Owner>
<AccessControlList>
<Grant>
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser">
<ID>ID пользователя</ID>
<DisplayName>Имя пользователя</DisplayName>
</Grantee>
<Permission>Права</Permission>
</Grant>
<Grant>
<Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="AmazonCustomerByEmail">
<EmailAddress xmlns="">Имя почтового адреса</EmailAddress>
</Grantee>
<Permission>FULL_CONTROL</Permission>
</Grant>
</AccessControlList>
- Нажать «Send»
Для проверки успешности выполнения запроса выполнить GET Bucket ACL.
После выполнения запроса корзину можно подключать пользователю, котору выданы необходимые права.
Более подробно о запросе и правилах его формирования см. https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAcl.html
S3CMD
- Установка
Для установки S3cmd в операционной системе Ubuntu используйте команду:
sudo apt install s3cmd -y
Чтобы установить S3cmd в другой ОС, ознакомьтесь сразделом установкив репозитории S3cmd на GitHub.
- Настройка
Для настройки S3cmd используйте командуs3cmd --configure. При запросе укажите значения для следующих параметров:
- Access Key— введите идентификатор ключа, который вы получили при.
- Secret Key— введите секретный ключ, который вы получили.
- Default Region— оставьте без изменений.
- S3 Endpoint— введитеs3-01.slcloud.ru.
- DNS-style bucket+hostname:port template for accessing a bucket— введитеs3-01.slcloud.ru.
- Значения остальных параметров оставьте без изменений.
Программа попытается установить соединение с S3 и получить список бакетов. В случае успеха, программа выведетSuccess. Your access key and secret key worked fine :-).
Командаs3cmd --configureсохранит настройки в файле~/.s3cfgв формате:
[default]
access_key = id
secret_key = secretKey
bucket_location = ru-central1
host_base = storage.yandexcloud.net
host_bucket = %(bucket)s.storage.yandexcloud.net
При необходимости эти настройки можно изменить напрямую в файле. Также можно указать настройки при запуске программы с помощью соответствующих параметров.
- Особенности
- S3cmd работает с Object Storage как с иерархической файловой системой и ключи объектов имеют вид пути к файлу.
- По умолчанию S3cmd загружает объекты в стандартное хранилище. Чтобы указатькласс хранилища, при загрузке объекта используйте ключ--storage-class.
- По умолчанию при загрузке объекта S3cmd может отправлять дополнительный заголовокX-Amz-Meta-S3cmd-Attrsс атрибутами вашего файла (права доступа, владельцы файла, временны́е метки). Значение заголовка сохраняется вметаданныхобъекта. Отключить отправку атрибутов можно с помощью параметраpreserve_attrs = Falseв конфигурационном файле~/.s3cfgили ключа--no-preserve.
- Примеры операций
Просмотр списка бакетов.
S3cmd ls
Создать бакет.
S3cmd mb s3://bucket_name
Загрузить несколько объектов в бакет
S3cmd put file_name_1 file_name_2 s3://bucket_name/
Загрузить объект в холодное хранилище под другим именем.
S3cmd -–storage_class TYPE_1 put file_name s3://bucket_name/object_name
Перемещение/копирование между различными классами
Для копирования объектов используется опция cp, для перемещения mv с указанием необходимого класса хранения.
S3cmd -–storage_class TYPE_1 mv s3://bucket_name/object_name s3://bucket_name/object_name_new
Получить список объектов.
S3cmd ls s3://bucket_name
Получить объект/скачать файл из бакета.
S3cmd get s3://bucket_name/object_name
Удалить объект.
S3cmd del s3://bucket_name/object_name
Удаление всех объектов из бакета
Чтобы удалить из хранилища все файлы, используйте команду rm или del с флагами –recursive и –force.
S3cmd del s3://bucket_name/ --recursive --force
Составная (multipart) загрузка.
Клиентs3cmdподдерживает составную загрузку, которая автоматически активируется при загрузке файлов размером более 15 Мб. Этот метод разбивает файл на несколько частей (чанков) и загружает их параллельно, что ускоряет процесс передачи больших файлов и повышает устойчивость к сбоям.
При необходимости составную загрузку можно отключить с помощью опции--disable-multipart.
Для изменения размера отдельных фрагментов (чанков) используйте опцию--multipart-chunk-size-mb=SIZE, где SIZE — размер каждого фрагмента в мегабайтах. По умолчанию размер фрагмента составляет 15 Мб, минимально допустимый размер — 5 Мб, максимально допустимый — 5 Гб.
Например, чтобы установить размер фрагмента на 10 Мб, используйте следующую команду:
S3cmd –multipart-chunk-size-mb=10 put file_name s3://bucket_name
Эта настройка позволяет оптимизировать загрузку больших файлов в зависимости от пропускной способности сети и требований к производительности.
Управление прерванными составными (multipart) загрузками
При прерывании составной загрузки фрагменты файлов не отображаются в бакете, но продолжают занимать дисковое пространство на сервере. Чтобы просмотреть список прерванных загрузок и узнать, какие фрагменты занимают место, используйте команду:
S3cmd multipart s3://bucket_name
Эта команда выводит дату и время начала загрузки, путь файла и уникальный идентификатор загрузки (ID).
Для удаления фрагментов неудачных загрузок используйте следующую команду:
S3cmd abortmp s3://bucket_name/file_name/ID_загрузки
Полный список команд и дополнительную информацию можно найти вдокументации S3cmd.
Сценарии использования объектного хранилища
Бэкапы и аварийное восстановление
Один из популярнейших сценариев использования хранилища S3 — хранение бэкапов. Это необходимо для защиты организации от потери данных. Удобство S3 здесь будет состоять в том, что это хранилище, во-первых, поддерживает интеграцию с большинством систем резервного копирования, во-вторых — позволяет эффективно управлять версиями файлов с момента их размещения в облаке.
Файлы мобильных и web-приложений
Благодаря доступу по HTTP API и удобству масштабирования, S3 можно эффективно использовать и при разработке web-приложений. Записанные в тэгах метаданные позволяют в процессе разработки обращаться по API к объектам, лежащим в объектном хранилище. К примеру, в объектном хранилище содержатся музыкальные трэки, которые пользователь может скачать или воспроизвести, воспользовавшись приложением. Для передачи ему списка трэков по критерию (исполнитель, жанр, год выхода и т.д.) не требуется осуществлять сортировку на стороне приложения — это может быть сделано и внутри хранилища в результате передачи запроса по API.
«Большие данные»
S3 может в реальном времени создавать подборки данных по заданным параметрам. Это свойство также серьезно упрощает жизнь компаниям, работающим с Big Data: речь идет о маркетинге, перевозках, автомобилестроении, здравоохранении, науке, сельском хозяйстве и других сферах, в которых происходит агрегация слабо структурированных данных, нуждающихся в дальнейшем анализе.
Мультимедийные файлы
Объектное хранилище S3 за счет своей масштабируемости также прекрасно подходит сервисам, хранящим большие архивы мультимедийных файлов: речь может идти от электронных библиотек до видеохостингов.
Архивы
S3 удобно и для «холодного» хранения больших объемов данных, к которым редко требуется обращаться. Речь может идти о записях камер, записях разговоров с клиентами, разнообразно
Не нашли инструкцию?
Заполните форму, и наш специалист свяжется с вами.
Мы дополним информацию и ответим на ваш вопрос.
Оставить заявку