MinIO情報
MinIOとは
MinIOは、Go言語で実装されたAmazon S3クラウド・ストレージ・サービスと互換性のあるオブジェクト・ストレージ・サーバーです。Anand Babu Periasamy氏、Garima Kapoor氏、Harshavardhana氏により2014年に設立されたMinIO, Inc.によって、主な開発が行われています。
MinIOは、写真や動画、ログファイル、バックアップ、コンテナ、VMイメージなどの非構造化データを格納するのに最適です。1つのオブジェクトサイズとしては、数KBのものから最大5TBまで対応します。MinIOサーバーは非常に軽量なので、Node.jsやRedis、MySQLなどと同様にアプリケーションスタックにバンドルすることができます。
MinIOはAmazon S3と互換性があるため、Amazon S3と全く同じインタフェース(AWS CLIや、AWS SDK)からもアクセスが可能です(ただし一部、MinIOではサポートしていないAPIもあります)。そのため、本番環境ではAmazon S3を使用するが、開発時には、MinIOで開発/テストを行うなどの用途で利用することができます。
MinIOをソースからビルドするには、Go言語(1.12以上)が必要です。ですが、主要なOSにはコンパイル済みのバイナリが提供されているため、ビルドを行わずにそのバイナリをダウンロードするだけで簡単に動作を試すことが可能です。
主な特徴
MinIOの主な特徴は以下の通りです。
SQL Select |
Spark、Presto、Hive、Flinkなどのデータ処理プラットフォームでは、S3/Select APIによりオブジェクト全体ではなく、データの一部を抽出します。MinIOでは、Parquet、CSV、JSONフォーマットのオブジェクトに対して、Select APIの利用が可能です。オブジェクトはZIP圧縮、暗号化にも対応しています。 |
---|---|
マルチサイトフェデレーション |
複数のMinIOインスタンスを組み合わせて、Bucketごとに振り分けるインスタンスを変えたり、複数のユーザーに対してマルチテナントで運用したり、データ保護や高可用性のために分散構成をとることが可能です。 |
アイデンティティおよびアクセス管理 |
MinIOサーバーのSecurity Token Service (STS)を使うことにより、アプリケーションやユーザーの認証のために、WSO2、Keycloak、Okta、Ping Identity、Active Directory等のアイデンティティ・プロバイダーと統合できます。 |
暗号化とWORM |
Amazon S3と同様にServer-Side Encryption with customer(SSE-C)に対応しています。ユーザーが管理する鍵によってサーバーサイドで暗号化を行い、機密性、整合性、信頼性を保証します |
ラムダコンピュート |
MinIOは、AWS SNS/SQS互換のイベント通知サービスを通じてLambda機能をトリガーできます。 |
Erasure CodeとBit Rot保護 |
MinIOは、Erasure Codeとチェックサムを利用して、ハードウェア障害などのデータ破損から、データを保護します。最高レベルの冗長性を使用すると、合計ドライブの最大半分(N / 2)が失われても、データを回復できる可能性があります。 |
類似プロダクト
Amazon S3互換を持つOSSのオブジェクト・ストレージ・サーバーとしては、以下のものがあります。
- LeoFS
- Riak CS(Cloud Strage)
- Cloudian
- Ceph
- SwiftStack
動作環境
MinIO Server、MinIO Clientが提供されているバイナリ/イメージは以下の通りです。
-
GNU/Linux
- バイナリ(x64)
-
MacOS
- brew
- バイナリ(x64)
-
Windows
- バイナリ(x64)
- Dockerコンテナイメージ
また、MinIOはマルチテナント環境で水平スケール可能となるように設計されたクラウドネイティブアプリケーションであるため、様々なコンテナオーケストレーション上でMinIOを展開できます。以下のプラットフォームに関しては展開方法を具体的に記したドキュメントがあります。
- Docker Swarm
- Docker Compose
- Kubernetes
- DC/OS
加えて、MinIO Serverを含むAmazon S3 互換のオブジェクト・ストレージ・サーバーへアクセスするためのMinIO SDKも提供されており、以下の言語用ライブラリが利用可能です。
- Java
- JavaScript
- Haskell
- Go
- Python
- .NET
MinIOのライセンス
MinIOは、GPLライセンスです
GPLライセンスの正式名称は「GNU General Public License」です。ソフトウェアのコピーや配布、ソースコードの公開を原則とし、ソースコードを改変も認められています。
製品ダウンロード
参考情報
オープンソース年間サポートサービス
OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。