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

Создание контейнера

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

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

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

  • Название должно быть в нижнем регистре. Название должно начинаться и заканчиваться на букву или цифру. Допустимые символы: ‘a-z’, ‘0-9’, ‘-’, ‘.’;

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

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

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

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

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

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

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

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

Note

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

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

Правила тарификации

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

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

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

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

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

Настройка контейнера

  1. Созданный контейнер появится в разделе “Объектное хранилище” / “Контейнеры”.

  2. Для дальнейшей настройки нажмите “Подробнее”.

  3. Для загрузки файлов в контейнер нажмите “Загрузить” и выберите нужные файлы или перетащите файлы в указанную область.

  4. Также здесь можно создавать новые папки, и если нужно удалять ненужные файлы или папки.

  5. Если необходимо поменять тип доступа своего контейнера, то в разделе Тип доступа нажмите на “Изменить”, выберите нужный тип доступ и нажмите “Сохранить”.

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

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

Удаление контейнера

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

  2. Зайдите в настройки нужного контейнера нажав “Подробнее”.

Attention

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

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

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

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

Установка AWS-CLI и настройка конфигурационного файла

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

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

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

  1. Для установки с помощью 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
  1. Далее следует установить плагин awscli:

$ pip3 install awscli-plugin-endpoint
  1. Убедитесь, что AWS CLI установлен правильно, просмотрев файл справки. Откройте терминал, оболочку или командную строку и выполните:

$ aws help
  1. После окончания установки необходимо прописать адрес подключения, ключ доступа и секретный ключ 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....*
  1. Проверка подключения к контейнеру:

$ aws --profile *название профиля из config* s3 ls
2009-02-03 19:45:09 example
  1. Команда позволяющая посмотреть файлы в контейнере:

$ 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
  1. Загрузка файла в контейнер выполняется через команду:

$ aws --profile *имя профиля в config* s3 cp "/home/PC/Загрузки/RouterOS.raw" s3://example/
  1. Удаление файлов в контейнере выполняются командой:

$ 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