よしたく blog

ITエンジニアとして自分が知らなかったことをまとめています

S3互換のMinIOを触ってみた

MinIO とは

MinIO は、高性能で S3 互換のオブジェクトストレージを提供します。 Kubernetes にネイティブな MinIO は、以下のような環境で利用できる唯一のオブジェクトストレージスイートです。 すべてのパブリッククラウド、すべての Kubernetes ディストリビューションプライベートクラウド、そして エッジになります。MinIO はソフトウェア定義型であり、GNU AGPL v3 のもと 100%オープンソースで提供されます。

MinIO は AWS の S3 と互換性のあるストレージになる。 Minio と表記されている記事をよく見たけど、公式サイトには MinIO と書いてあった。

min.io

Docker で動かす

MinIO を docker-compose で動かす。 ports90009001で分けているが、1 つにまとめようとするとうまくうごかなかったので、このまま分けておいたほうが良さそう。 docker-compose.yml は次のような形。

minio:
  image: "minio/minio"
  container_name: minio
  environment:
    MINIO_ROOT_USER: minio
    MINIO_ROOT_PASSWORD: miniominiominio
  command: server /export --address :9000 --console-address :9001
  volumes:
    - ./minio/data:/export
  ports:
    - "9000:9000"
    - "9001:9001"

docker-compose upで起動すると、http://127.0.0.1:9001/loginでアクセスができる。

ユーザ名とパスワードは docker-compose.yml で設定したので、ログインする。

  • ユーザ名
    • minio
  • パスワード
    • miniominiominio

Bucket 作成

画面上から Bucket を作成してみる。

Bucket Name に system-a と入力し、Create Bucket をクリックする。

無事に作成できたことが確認できる。

ファイル配置

Upload ボタンをクリックするとファイルをアップロードできる。 これはアップロード後の画面になる。

左のタブの Buckets をクリックすると Bucket の一覧と先ほど作成したsystem-aBuclet が見える。 ファイルを置いたことにより、Usage と Objects にも現在の数値が反映されている。

ディレクトリにもファイルが配置されていることがわかる。

まとめ

ローカルで S3 と同等のことができる MinIO を触ってみた。 ローカル環境で開発するときに S3 を用意する必要もないし、Docker で実行することも確かめられたので CI 環境でも利用できそう!