ストレージ

S3互換ストレージ(MinIO) えすすりーごかんすとれーじ(みにお)

S3MinIOオブジェクトストレージS3互換APIオンプレミスクラウドストレージ
S3互換ストレージ(MinIO)について教えて

簡単に言うとこんな感じ!

AWSのS3と同じ操作方法で使えるストレージを、自社サーバーや別のクラウドに構築できる仕組みだよ。MinIOはその代表選手で、S3用に書いたプログラムをそのまま流用できるのが最大の魅力!


S3互換ストレージ(MinIO)とは

S3互換ストレージとは、Amazon S3のAPIと同じインターフェースを持つオブジェクトストレージです。S3向けに作られたアプリケーションやツールをほぼ修正なしに利用できるため、AWS以外の環境でもS3の資産を活かせます。

MinIOは最も広く使われているオープンソースのS3互換オブジェクトストレージです。Go言語で書かれており、軽量かつ高パフォーマンスで、Kubernetes上へのデプロイにも対応しています。Apache 2.0ライセンスと商用ライセンスのデュアルライセンス構成で提供されています。

S3互換ストレージが注目される理由は主に3つあります。コスト削減(クラウドのストレージ料金を自社インフラで代替)、データ主権(データを自社管理下に置く)、ベンダーロックイン回避(特定クラウドへの依存を減らす)です。


仕組みと特徴

項目内容
APIの互換性AWS S3のREST API(PUT/GET/DELETE/LIST等)をそのまま実装
認証方式AWS Signature V4と同じ署名方式に対応
データ保護イレイジャーコーディング(RAID-6相当)で障害耐性を確保
マルチテナントバケットポリシーとIAM互換の権限管理
レプリケーションサイト間レプリケーションでDR構成が可能
パフォーマンス単一ノードで最大325 GB/s読み取りを実現(公式ベンチマーク)

MinIOの主要コンポーネント

  • minio server — ストレージサーバー本体
  • mc(MinIO Client) — CLIツール。S3のAWS CLIと同様に操作可能
  • MinIO Console — WebベースのGUI管理画面
  • MinIO Operator — Kubernetes上でMinIOクラスターを管理するOperator

歴史と背景

  • 2014年 — MinIOプロジェクト開始。Go言語製の軽量オブジェクトストレージとして公開
  • 2019年 — Kubernetesネイティブ対応を強化。MinIO Operatorをリリース
  • 2021年 — ライセンスをAGPLv3に変更(商用利用には有料ライセンスが必要に)
  • 2022年 — SUBNET(サポートサービス)の強化とエンタープライズ向け機能を拡充
  • 現在 — GitHubスター4万超を誇るオープンソースプロジェクトとして成長を続けている

S3互換APIが業界標準として定着したことで、MinIO以外にもCeph RGWWasabiCloudflare R2など多数のS3互換サービスが登場しています。


主要なS3互換ストレージの比較

S3互換ストレージの比較 製品名 種別 特徴 コスト MinIO OSS/オンプレ 軽量・高速・K8s対応 無料〜有償 Ceph RGW OSS/オンプレ 大規模分散・多機能 無料 Cloudflare R2 マネージドクラウド エグレス無料 従量課金 Wasabi マネージドクラウド 低コスト・エグレス無料 月額定額 AWS S3 マネージドクラウド 事実上の標準・豊富な機能 従量課金 ※ MinIOはオンプレ構築の場合ハードウェアコストが別途発生

関連する規格・RFC

規格・仕様内容
AWS S3 REST APIMinIOが互換実装している事実上の業界標準API
AWS Signature V4S3互換APIで使われる認証署名方式
SNIA CDMIクラウドデータ管理インターフェースの公式標準(S3ほど普及せず)

関連用語