TSUBOCK★LABO-ツボックラボ-

とあるセキュリティエンジニアの技術メモブログ

MENU

Amazon S3互換の分散オブジェクトストレージ「MinIO」を触ってみた

Amazon S3と連携するプログラムを書くため、Amazon S3互換のオブジェクトストレージサーバを探していたところ、Dockerイメージが公式で提供されていて手軽に立てられそうなMinIOというサーバがあったので、試し

MinIOとは

MinIOはAmazon S3互換のオブジェクトストレージで100%OSSなオブジェクトストレージです。起動も簡単でWindows環境ではminio.exeを起動するだけでも動かすことができるほどシンプルなサーバです。今回はDockerイメージが公式でも公開されているので、Dockerで起動して触ってみたいと思います。

インストール

MinIOの公式にも記載されている通り、docker runを実行するだけで起動することができます。

docker run -p 9000:9000 -e MINIO_ACCESS_KEY=minioadmin \
                        -e MINIO_SECRET_KEY=minioadmin \
                        -v /mnt/data:/data minio/minio server /data

実行すると下記の通り表示されます。

Browser Access:
   http://172.17.0.2:9000  http://127.0.0.1:9000

Object API (Amazon S3 compatible):
   Go:         https://docs.min.io/docs/golang-client-quickstart-guide
   Java:       https://docs.min.io/docs/java-client-quickstart-guide
   Python:     https://docs.min.io/docs/python-client-quickstart-guide
   JavaScript: https://docs.min.io/docs/javascript-client-quickstart-guide
   .NET:       https://docs.min.io/docs/dotnet-client-quickstart-guide
Detected default credentials 'minioadmin:minioadmin', please change the credentials immediately using 'MINIO_ACCESS_KEY' and 'MINIO_SECRET_KEY'

触ってみる

実際に触ってみたいと思います。上記Browser Accessに記載http://127.0.0.1:9000と記載されていましたが、localhost:9000でアクセスしてみます。

f:id:panda-loves-smile:20200724014522p:plain

アクセスするとログイン画面が表示されます。ここではdocker runコマンドを実行したときに引数で指定したMINIO_ACCESS_KEYMINIO_SECREAT_KEYの値を入力します。デフォルト値はminioadminです。

f:id:panda-loves-smile:20200724014532p:plain

ログインできました。まずはファイルを格納するためのバケットを作成してみます。先にバケットを作成しないとバケットを選択してくださいというエラーが出力されます。右下のプラスアイコンをクリックします。

f:id:panda-loves-smile:20200724014555p:plain

create bucketを選択してください。選択後、任意のバケット名入力してEnterを押します。

f:id:panda-loves-smile:20200724014650p:plain

これでバケットが作成されました。次に作成したバケットにファイルをアップロードしてみたいと思います。本ブログのために取ってるスクリーンショットをアップロードしてみます。先ほどと同様に右下のプラスアイコンをクリックします。

f:id:panda-loves-smile:20200724014555p:plain

次にUpload fileを選択します。選択するとシステムダイアログでファイル選択画面が表示されるので、アップロードしたいファイルを選択しましょう。

f:id:panda-loves-smile:20200724014709p:plain

これだけで簡単にアップロードできました。シンプルなのでサクッと触れますね。次回はこのAmazon S3互換のオブジェクトストレージをPythonで触ってみたいと思います。

参考

MinIO - 公式