MinIOについて
MinIOとは、オブジェクトストレージサーバーの一種で、Amazon S3互換のAPIを提供するオープンソースソフトウェアです。 Go言語で書かれており、高速かつシンプルで、スケーラブルなストレージソリューションを提供します。
info
この記事の一部 or 全ては、ChatGPTなどのLLMを利用して生成されたものです。 ファクトチェックが十分でない可能性があること、参考文献を明示できていないことをご了承ください。
MinIOの機能
MinIOには主に以下の機能があります。
- S3互換API: Amazon S3と互換性のあるAPIを提供し、既存のS3互換アプリケーションとシームレスに統合できます。
- マルチクラウドストレージ: Amazon S3、Google Cloud Storage、Microsoft Azureなど、様々なクラウドストレージプロバイダーと連携可能です。
- イベント通知: バケットイベント(オブジェクトの作成、削除など)に基づいて、Kafka、NATS、Webhookなどの外部サービスに通知を送信できます。
- バージョニングとオブジェクトロック: オブジェクトのバージョン管理と、WORM(Write Once Read Many)機能によるオブジェクトロックをサポートしています。
- アクセス制御: IAMスタイルのアクセス制御により、ユーザー、グループ、ポリシーベースのアクセス管理が可能です。
MinIOのセットアップ
ここでは、Docker Composeを使ってMinIOをセットアップする方法を説明します。
docker-compose.ymlファイルの作成:
version: '3.7'
services:
minio:
image: minio/minio
ports:
- "9000:9000"
- "9001:9001"
environment:
MINIO_ACCESS_KEY: YOUR_ACCESS_KEY # ログイン時のuser名
MINIO_SECRET_KEY: YOUR_SECRET_KEY # ログイン時のpassword
volumes:
- ./data:/data
command: server /data --console-address ":9001"MINIO_ACCESS_KEY
とMINIO_SECRET_KEY
は、任意のアクセスキーとシークレットキーに置き換えてください。./data:/data
は、ホストマシン上のデータディレクトリをコンテナの/data
ディレクトリにマウントします。
MinIOの起動: docker-compose.ymlファイルのあるディレクトリで、以下のコマンドを実行します。
docker-compose up -d
ブラウザからMinIOにアクセス: デフォルトでは、MinIOは9000番ポートでリッスンします。 ブラウザからhttp://localhost:9000にアクセスし、docker-compose.ymlで設定したアクセスキーとシークレットキーを使ってログインします。
ログイン画面(左), コンソール画面(右)