Skip to main content

MinIOについて

MinIOとは、オブジェクトストレージサーバーの一種で、Amazon S3互換のAPIを提供するオープンソースソフトウェアです。 Go言語で書かれており、高速かつシンプルで、スケーラブルなストレージソリューションを提供します。

MinIOのロゴ

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をセットアップする方法を説明します。

  1. 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_KEYMINIO_SECRET_KEYは、任意のアクセスキーとシークレットキーに置き換えてください。 ./data:/dataは、ホストマシン上のデータディレクトリをコンテナの/dataディレクトリにマウントします。

  1. MinIOの起動: docker-compose.ymlファイルのあるディレクトリで、以下のコマンドを実行します。

    docker-compose up -d
  2. ブラウザからMinIOにアクセス: デフォルトでは、MinIOは9000番ポートでリッスンします。 ブラウザからhttp://localhost:9000にアクセスし、docker-compose.ymlで設定したアクセスキーとシークレットキーを使ってログインします。

    ログイン画面(左), コンソール画面(右) MinIOのui

参考文献