Свое объектное хранилище на базе MinIO

05.03.2023
Фёдор Русаков

Amazon S3 — это один из самых распространенных облачных сервисов для хранения и обработки данных. Однако, в связи с тем, что S3 является облачным сервисом, он не всегда является подходящим решением для всех задач. Иногда пользователи могут захотеть создать свою локальную копию S3 для лучшего контроля над данными, ускорения доступа и сокращения затрат.

В этой статье мы рассмотрим, как создать свою локальную копию S3 с помощью решения MinIO.

MinIO — это высокопроизводительное объектное хранилище с открытым исходным кодом, предназначенное для локального использования или в качестве альтернативы облачному хранилищу, такому как Amazon S3.

Шаг 1: Установка MinIO

Первым шагом является установка MinIO. Вы можете скачать бинарный файл MinIO с официального сайта и установить его на вашей локальной машине. После установки, вы можете запустить MinIO, выполнив следующую команду:

shellCopy code$ ./minio server /mnt/data

Эта команда запускает сервер MinIO и настраивает его для хранения данных в каталоге /mnt/data.

Шаг 2: Создание конфигурационного файла

После установки MinIO необходимо создать конфигурационный файл. В конфигурационном файле вы можете настроить параметры, такие как адрес, порт, SSL и другие параметры.

Шаг 3: Создание пользователей и политик

Для того чтобы обеспечить безопасность и контроль доступа к вашему хранилищу, необходимо создать пользователей и политики. В MinIO вы можете создавать пользователей и политики, используя инструмент командной строки mc.

sqlCopy code$ mc admin user add myminio user123 password123

Эта команда создает нового пользователя с именем user123 и паролем password123.

Шаг 4: Создание бакетов

В MinIO вы можете создавать бакеты, которые являются контейнерами для хранения объектов. Вы можете создать бакет с помощью командной строки mc:

shellCopy code$ mc mb myminio/mybucket

Эта команда создает новый бакет с именем mybucket в вашем хранилище.

Шаг 5: Загрузка объектов

После создания бакета вы можете загрузить объекты в ваше хранилище с помощью командной строки mc:

shellCopy code$ mc cp file.txt myminio/mybucket

Эта команда загружает файл file.txt в ведро mybucket.

Шаг 6: Настройка доступа к хранилищу

Чтобы обеспечить безопасный доступ к вашему хранилищу, вам необходимо настроить права доступа для пользователей и ведер. В MinIO вы можете настраивать права доступа с помощью политик доступа.

csharpCopy code$ mc admin policy add myminio readonly policy.json

Эта команда создает новую политику доступа с именем readonly и настройками, определенными в файле policy.json.

Шаг 7: Подключение к хранилищу

После настройки доступа к вашему хранилищу вы можете подключиться к нему с помощью клиента S3. Вы можете использовать любой клиент S3, такой как Cyberduck, S3cmd или AWS CLI.

shellCopy code$ aws s3 ls --endpoint-url http://localhost:9000 --no-sign-request mybucket/

Эта команда отображает список объектов, хранящихся в бакете mybucket в локальном хранилище MinIO.

В заключение, создание своей локальной копии S3 с помощью MinIO представляет собой простое и удобное решение для хранения и управления вашими данными. С использованием MinIO вы можете создавать пользователей, настраивать политики доступа, создавать бакеты и загружать объекты, а также подключаться к вашему хранилищу с помощью любого клиента S3.