Объектное хранилище S3
Создание и управление объектными хранилищами S3
Подробную информацию об услуге Объектное хранилище S3 можно посмотреть в разделе OnCloud PaaS -> Описание услуги Объектное хранилище S3.
Создание бакета
Для создания бакета:
-
Перейти на вкладку Бакеты в разделе OnCloud PaaS -> S3.
-
Нажать кнопку + Добавить, расположенную над таблицей со списком бакетов.
-
На открывшейся странице установить параметры бакета:
- наименование бакета – указать наименование бакета. Для корректного наименования необходимо воспользоваться подсказкой нажав на раскрывающийся список Правила именования бакета;
- размер бакета – установить размер для бакета;
- версионирование - включить опцию, если необходимо сохранять версии объектов в бакете;
- исключение папок - включить опцию, если необходимо исключить версионирование всех папок в бакете;
- исключенные префиксы - добавить префиксы, которые будут исключены из версионирования.
Максимальный размер выделенного пространства составляет 51 200 ГБ.
- Нажать кнопку Создать.
Новый бакет отобразится на вкладке Бакеты в разделе OnCloud PaaS -> S3.
Версионирование бакета - позволяет сохранять несколько версий одного и того же объекта под одним и тем же ключом.
Подключение к бакету
Для подключения к бакету хранилища S3 используется Endpoint URL - https://s3.oncloud.ru, скопировать который можно нажав Скопировать URL на вкладке Бакеты в разделе OnCloud PaaS -> S3.
Подключение к объектному хранилищу возможно с помощью AWS CLI, S3cmd. Для подключения к бакету нужно создать ключ доступа, установить и настроить AWS CLI, Endpoint URL и имя бакета.
Создание ключа доступа
Для создания ключа доступа:
- Перейти на вкладку Ключи в разделе OnCloud PaaS -> S3.
- Нажать кнопку + Добавить, расположенную над таблицей со списком ключей доступа.
- На открывшейся странице установить параметры ключа:
- имя ключа – указать имя ключа, учитывая установленные ограничения;
- ключ доступа (Access Key) – ключ доступа генерируется автоматически;
- секретный ключ доступа (Secret Key) – секретный ключ доступа генерируется автоматически;
- описание – добавить описание ключа доступа.
- Нажать кнопку Создать.
После создания ключа откроется диалоговое окно с данными, которые необходимо сохранить. После закрытия диалогового окна данные ключа доступа будут скрыты и недоступны навсегда.
- Сохранить ключ доступа и секретный ключ доступа.
- Закрыть диалоговое окно.
Установка и настройка AWS CLI
Для установки и настройки AWS CLI:
- Установить AWS CLI. Ссылки на дистрибутивы для разных операционных систем и детальные инструкции по установке расположены на официальном сайте AWS.
- Настроить AWS CLI:
- В командной строке ввести команду:
aws configure; - указать парамет ры подключения к хранилищу:
AWS Access Key ID— значение ключа доступа;AWS Secret Access Key— значение секретного ключа доступа;Default region name—регион ru-central1.
- В командной строке ввести команду:
- Ввести Endpoint URL:
aws configure set endpoint_url https://s3api.oncloud.ru.
Команда aws configure сохранит пару ключей в файле .aws/credentials в формате:
[default]
aws_access_key_id = <key_id>
aws_secret_access_key = <key_secret>
Получение списка бакетов
Для получения списка бакетов:
- Выполнить команду:
aws s3api list-buckets --endpoint-url https://s3.oncloud.ru --query "Buckets[].Name"
Загрузка объекта в бакет
Для загрузки объекта в бакет:
- Выполнить команду:
aws s3 cp <file_path> s3://<bucket_name>/<object_name> --endpoint-url https://s3.oncloud.ru
Где:
<file_path>- путь до локального файла, который будет загружен в качестве объекта;<bucket_name>- название бакета, в который нужно загрузить объект. Название бакета можно посмотреть на вкладке Бакеты в разделе OnCloud PaaS -> S3;<object_name>- название объекта в бакете.
Получение списка объектов бакета
Для получения списка объектов бакета:
- Выполнить команду:
aws s3 ls s3://<bucket_name> --endpoint-url https://s3.oncloud.ru
Где:
<bucket_name>- название бакета.
Удаление объектов из бакета
Для удаления объектов из бакета:
- Выполнить команду:
aws s3 rm s3://<bucket_name> --endpoint-url https://s3.oncloud.ru --recursive
Где:
<bucket_name>- название бакета.
Команда удалит все объекты из бакета.