Работа с хранилищем¶
Для работы с хранилищем S3 можно использовать любое ПО, поддерживающее работу по протоколу S3. Как правило, для настройки такого ПО достаточно ввести access key
, secret key
, адрес storage-сервера
и указать протокол (HTTP
или HTTPS
).
Для получения полной документации о возможностях работы по протоколу S3 в сервисе Storage
перейдите по ссылке.
Протокол S3 изначально разрабатывался для сервиса компании Amazon AWS S3.
Точки доступа¶
На данный момент сервис Storage S3
поддерживает три вида точек доступа в каждой локации:
- Публичная точка доступа (HTTP и HTTPS):
s3.loc.icdc.io
. - Внутрення точка доступа (HTTP и HTTPS):
s3.local.loc.icdc.io
. - Точка доступа DirectConnect может быть настроена по запросу в службу поддержки.
Внутренняя точка доступа может использоваться для доступа только из сетей аккаунта (например, из виртуальных машин Compute
) к сервису S3 и не использует интернет-трафик, который может иметь ограничения по пропускной способности.
При создании бакета он становится доступен сразу на всех точках доступа (т.е. использование внутренней точки доступа не защищает от доступа к бакету через публичную точку доступа).
Note
На данный момент Storage поддерживает только path-style access
, что означает доступ к корзинам (бакетам) по пути: s3.loc.icdc.io/<bucket>
. Формат DNS-style access
вида <bucket>.s3.loc.icdc.io
на данный момент не поддерживается.
S3 Browser (GUI)¶
Рассмотрим настройку S3 Browser - клиента для работы с S3-совместимыми объектными хранилищами, который используется для создания и удаления корзин, просмотра своих объектов в хранилище, а также для загрузки в S3 хранилище новых объектов. Для установки S3 Browser нужно скачать дистрибутив на сайте разработчика.
При первом старте S3 Browser откроется окно диалога для конфигурации подключения к хранилищу. Его нужно заполнить, используя данные cо страницы пользователя S3 (вкладка Overview
):
Account type
: выбратьS3 Compatible Storage
.REST Endpoint
: указать адрес хранилища, например:s3.loc.icdc.io
, гдеloc
-название локации.Access Key ID
: идентификатор ключа Access Key, который вы получили при создании корзины (бакета).Secret Access Key
: секретный ключ Secret Key, который вы получили при создании корзины (бакета).Use secure transfer (SSL/TLS)
: обязательная опция для использования зашифрованного SSL/TLS-канала для взаимодействия с хранилищем.Advanced Settings > Addressing model
: выберите опциюPath-style
После заполнения данных необходимо нажать кнопку Add new account
для завершения настройки s3browser для работы с S3.
С инструкциями по дальнейшей работе с S3 Browser можно ознакомиться на сайте разработчика.
s3cmd (CLI)¶
s3cmd - это консольный клиент для управления хранилищами объектов S3. Для установки S3cmd нужно скачать дистрибутив на сайте разработчика.
Для настройки S3cmd используйте команду s3cmd --configure
и заполните значения для следующих параметров:
Access Key
: идентификатор ключа Access Key, который вы получили при создании корзины (бакета).Secret Key
: секретный ключ Secret Key, который вы получили при создании корзины (бакета).Default Region
: оставьте незаполненным.S3 Endpoint
: можно указать публичный адрес хранилищаs3.loc.icdc.io
или внутренний адресs3.local.loc.icdc.io
, гдеloc
-название локации.DNS-style bucket+hostname:port template for accessing a bucket
: укажитеs3.loc.icdc.io
(но на данный моментDNS-style %(bucket)s.s3.loc.icdc.io
не поддерживается).
Команда s3cmd --configure
сохранит настройки в файле ~/.s3cfg
в формате:
[default]
access_key = ACCESS_KEY
secret_key = SECRET_KEY
host_base = https://s3.loc.icdc.io
host_bucket = s3.loc.icdc.io
use_https = True
Публичный доступ¶
Пример вывода файла в публичный доступ с помощью команды s3cmd
:
# 1. Настройте ключи пользователя S3, созданные в Storage в файле ~/.s3cfg.
# 2. Создайте бакет с публичным ACL
$ s3cmd mb --acl-public s3://test-anon
$ echo "hello world" > index.html
# 3. Сохраните объект с общедоступным ACL
$ s3cmd put --acl-public index.html s3://test-anon
upload: 'index.html' -> 's3://test-anon/index.html' [1 of 1]
12 of 12 100% in 0s 18.92 B/s done
Public URL of the object is: http://s3.loc.icdc.io/test-anon/index.html
$ s3cmd info s3://test-anon/index.html
s3://test-anon/index.html (object):
File size: 12
Last mod: Wed, 25 Oct 2023 08:51:52 GMT
MIME type: text/plain
Storage: STANDARD
MD5 sum: 6f5902ac237024bdd0c176cb93063dc4
SSE: none
Policy: none
CORS: none
ACL: *anon*: READ
ACL: test123___icdc___user@example.com: FULL_CONTROL
URL: http://s3.loc.icdc.io/test-anon/index.html
x-amz-meta-s3cmd-attrs: atime:1698223852/ctime:1698223852/gid:1000/gname:danix/md5:6f5902ac237024bdd0c176cb93063dc4/mode:33188/mtime:1698223852/uid:1000/uname:dan
Файл доступен по следующему адресу: https://s3.loc.icdc.io/test-anon/index.html
Политики доступа S3 (bucket policies)¶
Возможность ограничения доступа настраивается в рамках протокола S3 с использованием политик S3.