Amazon S3の開発をローカル環境で行いたい時がありますね。
そんなときに便利なのが、S3互換ストレージMinIOです。
MinIOとは
MinIOは、Apache License v2の下でリリースされた、Amazon S3と互換性のあるクラウドストレージサーバーです。
MinIOはオブジェクトストアとして、写真、ビデオ、ログファイル、バックアップ、コンテナーイメージなどの非構造化データを保存できます。
オブジェクトの最大サイズは5TBです。
MinIOの公式サイトはコチラです。
Minioの読み方は、ミニオです。
MinIOをDockerで使う
Dockerを使って試すのが一番簡単です。
1 |
$ docker container run -d --name minio -p 9000:9000 minio/minio:RELEASE.2018-08-25T01-56-38Z server /data |
アクセスキー(AccessKey)とシークレットキー(SecretKey) が既に出来ているんだそうです。
試しに、
1 |
# docker container logs minio |
と打ってみます。
確かに、アクセスキー(AccessKey)とシークレットキー(SecretKey) がありました。
このあと、ブラウザで
・ http://localhost:9000/
を開きます。
アクセスキー(AccessKey)とシークレットキー(SecretKey) を入力するログインできます。
その後、メニューからminio-bucketというバケットを作成します。
AWS コマンドラインインターフェース AWS CLIから操作
AWS CLIからMinIOを操作してみます。
環境変数でアクセスキーとシークレットキーを設定します。
1 2 |
$ export AWS_ACCESS_KEY_ID=... $ export AWS_SECRET_ACCESS_KEY=... |
このままだとAmazon S3にアクセスしてしまいます。
--endpoint-url オプションを指定してminioにアクセスするようにします。
1 2 3 4 5 6 7 8 9 10 11 |
$ aws --endpoint-url http://127.0.0.1:9000 s3 ls 2020-07-30 17:59:45 minio-bucket $ aws --endpoint-url http://127.0.0.1:9000 s3 ls s3://minio-bucket/ 2020-07-30 17:59:45 14 hello-minio.txt $ aws --endpoint-url http://127.0.0.1:9000 s3 cp s3://minio-bucket/hello-minio.txt . download: s3://minio-bucket/hello-minio.txt to ./hello-minio-dl.txt $ cat hello-minio-dl.txt Hello, minio! |
コメント