Контейнеры S3 Object storage

Создание

Для создания S3 контейнера:

  1. В Панели управления перейдите в раздел Объектное хранилищеКонтейнеры.

  2. Нажмите кнопку Создать.

  3. Укажите название создаваемого контейнера. Допустимо использование букв латинского алфавита в DNS совместимом формате. Правила именования:

  • Название должно быть в нижнем регистре.

  • Допустимые символы: ‘a-z’, ‘0-9’, ‘-’, ‘.’.

  • Название должно начинаться и заканчиваться на букву или цифру.

  • Длина имени должна составлять не менее 3 и не более 255 символов.

  • Между точками в названии должно быть не менее трех символов.

  1. Выберите тип доступа контейнера:

  • Private - доступ к контейнеру получат только авторизованные пользователи.

  • Public objects - доступ на чтение объектов разрешен всем без дополнительной авторизации. При этом читать список объектов без авторизации запрещено.

  • Public Full - полный доступ на чтение контейнера и объектов разрешен всем пользователям сети Интернет без дополнительной авторизации.

  1. Выберите регион хранения.

Note

В настоящее время Объектное хранилище доступно только в регионе Москва (Moscow).

  1. Нажмите кнопку Создать контейнер.

Тарификация

Хранение данных в Объектном хранилище: 0,85 ₽/ГБ в месяц;

Входящий трафик в Объектное хранилище: 0,00 ₽/ГБ;

Исходящий трафик из Объектного хранилища:

  • в другие сервисы ProCloud в регионе: 0,00 ₽/ГБ;

  • в сеть Интернет: 0,85 ₽/ГБ.

Настройка

Созданный контейнер появится в разделе Объектное хранилищеКонтейнеры. Для дальнейшей настройки контейнера нажмите кнопку Подробнее.

Для загрузки файлов в контейнер нажмите Загрузить и выберите нужные файлы, или перетащите файлы в указанную область. Можно объединять файлы в папки, и, при необходимости, удалять ненужные.

Для изменения типа доступа контейнера в секции Тип доступа нажмите кнопку Изменить, выберите нужный тип доступ и нажмите Сохранить:

  • При выборе Public objects у каждого загруженного объекта появится персональная ссылка для доступа к объекту без авторизации.

  • При выборе Public Full появится ссылка для доступа к контейнеру, по которой открывается XML-файл со списком объектов контейнера.

Удаление

Для удаления контейнера:

  1. В Панели управления перейдите в раздел Объектное хранилищеКонтейнеры.

  2. Откройте настройки нужного контейнера, нажав Подробнее.

Attention

Удаление контейнера возможно только после удаления всех размещённых объектов.

  1. Выделите все объекты, находящиеся в контейнере, и нажмите Удалить выбранное.

  2. При наличии папок, удалите каждую папку отдельно, нажав на иконку корзины.

  3. После удаления всех файлов и папок нажмите Удалить и подтвердите удаление.

Установка AWS-CLI

Существует несколько способов установки AWS-CLI, в зависимости от используемой операционной системы:

  • В Microsoft Windows используйте установщик MSI.

  • В Linux или MacOS используется pip (диспетчер пакетов для программного обеспечения Python) или установите вручную с помощью установщика.

Для установки с помощью pip предварительно требуется установить python (если он еще не установлен). Убедиться в этом можно, выполнив:

python3 --version

pip3 --help

Учитывая, что оба из них установлены, используйте следующую команду для установки AWS CLI:

$ pip3 install awscli

Если же python3 и pip3 не установлены, выполните:

$ sudo apt install python3 -y   # for Debian, Ubuntu
$ sudo yum install python3 -y   # for CentOS
$ sudo dnf install python3 -y   # for CentOS8

$ Python3 -m Pip install

Установите плагин awscli:

$ pip3 install awscli-plugin-endpoint

Убедитесь, что AWS CLI установлен правильно, просмотрев файл справки. Откройте терминал, оболочку или командную строку и выполните:

$ aws help

Настройка конфигурационного файла

После окончания установки необходимо прописать адрес подключения, ключ доступа и секретный ключ EC2 из личного кабинета в созданный конфигурационный файл AWS:

$ mkdir ~/.aws

$ nano ~/.aws/config  - можно использовать другой текстовый редактор;

[plugins]
endpoint = awscli_plugin_endpoint

[profile *любое название*]
aws_access_key_id = *Ваш открытый ЕС2 ключ из ЛК*
aws_secret_access_key = *Ваш закрытый ЕС2 ключ из ЛК*
region = us-east-1
s3 =
  endpoint_url =  *укажите адрес доступа https://s3.xxx....*
  signature_version = s3v4
  addressing_style = virtual
s3api =
  endpoint_url = *укажите адрес доступа https://s3.xxx....*

Проверьте подключение к контейнеру:

$ aws --profile *название профиля из config* s3 ls
2009-02-03 19:45:09 example

Команда, позволяющая посмотреть файлы в контейнере:

$ aws --profile *название профиля из config* s3 ls s3://example/
2022-04-08 14:23:57      12749 1.png
2022-05-18 16:02:30     110574 asbru_export.yml
2022-04-07 15:35:12     144817 photo_2022-04-07_15-34-05.jpg
2022-04-14 16:18:41     123186 photo_2022-04-14_16-17-51.jpg
2022-05-25 12:54:47     115560 vhod.jpg
2022-05-18 16:01:15  274181883 z.zip
2022-05-27 12:46:40     486018 Джордж-Клейсон.pdf

Просмотр файлов

Для более детального просмотра файлов в контейнере введите:

$ aws --profile *название профиля из config* s3 ls s3://example/ --human --summarize
2022-04-08 14:23:57   12.5 KiB 1.png
2022-05-18 16:02:30  108.0 KiB asbru_export.yml
2022-04-07 15:35:12  141.4 KiB photo_2022-04-07_15-34-05.jpg
2022-04-14 16:18:41  120.3 KiB photo_2022-04-14_16-17-51.jpg
2022-05-25 12:54:47  112.9 KiB vhod.jpg
2022-05-18 16:01:15  261.5 MiB z.zip
2022-05-27 12:46:40  474.6 KiB Джордж-Клейсон.pdf

Total Objects: 7
Total Size: 262.4 MiB

Загрузка файла

Загрузка файла в контейнер выполняется через команду:

$ aws --profile *имя профиля в config* s3 cp "/home/PC/Загрузки/RouterOS.raw" s3://example/

Удаление файла

Удаление файлов в контейнере выполняются командой:

$ aws --profile *имя профиля в config* s3 rm  s3://example/RouterOS.raw

Доступные функции S3 API

При обращении к объектному хранилищу через S3 API возможно использование следующих функций:

S3 REST API method

Category

Swift S3 API

GET Object

Core-API

Yes

HEAD Object

Core-API

Yes

PUT Object

Core-API

Yes

PUT Object Copy

Core-API

Yes

DELETE Object

Core-API

Yes

Initiate Multipart Upload

Core-API

Yes

Upload Part

Core-API

Yes

Upload Part Copy

Core-API

Yes

Complete Multipart Upload

Core-API

Yes

Abort Multipart Upload

Core-API

Yes

List Parts

Core-API

Yes

PUT Bucket

Core-API

Yes

GET Bucket List Objects

Core-API

Yes

HEAD Bucket

Core-API

Yes

DELETE Bucket

Core-API

Yes

List Multipart Uploads

Core-API

Yes

Versioning

Versioning

Yes

Delete Multiple Objects

Advanced Feature

Yes