S3などのオブジェクトストレージにデータを、Redis、MySQL、SQLite、TiKVにメタデータを保存する分散POSIXファイルシステム。
- スター
- 3,065
- フォーク
- 327
- 未解決の Issue
- 125
- 最終コミット
- 昨日
これは何?
Versity S3 Gatewayは、標準的なS3 APIリクエストを受け付け、バックエンドのストレージシステムに対する操作へ変換するGo製サーバーです。READMEによると、POSIXファイルシステム、VersityのScoutFS、Azure Blob Storage、その他のS3サーバーがバックエンドとしてサポートされており、データを移行せずに既存のストレージをS3対応アプリケーションから利用できます。
1つのコマンドでローカルディレクトリをS3エンドポイントにでき、アカウントファイル、オブジェクトのバージョニング用ディレクトリ、ポートを指定できます。ゲートウェイはステートレスなため、スループットを高める目的で複数のインスタンスをロードバランサーの背後で実行できます。WebフレームワークのFiberを基盤とし、AWS S3との互換性にはaws-sdk-go-v2を使用しています。
管理や閲覧に使えるオプションのWeb GUIに加え、バケットベースのルーティングによる静的サイトホスティング、Kubernetesやコンテナへのデプロイに使えるHelm chartとDockerイメージも用意されています。
主な機能
- 01S3 APIリクエストを、POSIX、ScoutFS、Azure Blob、またはS3バックエンドに対する操作へ変換します。
- 021つのコマンドでローカルディレクトリ上にS3サーバーを起動できます。
- 03ステートレスな設計により、ロードバランサーの背後で複数のインスタンスを稼働させてスケールアウトできます。
- 04設定可能なバージョニング用ディレクトリを通じて、オブジェクトのバージョニングに対応します。
- 05管理や閲覧に使えるオプションのWeb GUIを提供します。
- 06仮想ホストルーティングによる静的サイトホスティングを提供します。
ユースケース
- 既存のファイルシステムを、データをコピーせずにS3対応アプリケーションへ公開する。
- 軽量で使い捨て可能なエンドポイントを使い、ローカルでS3連携をテストする。
- Azure Blob Storageや別のS3サーバーの前段にS3アクセスを追加する。
- アーカイブやHPCのワークロード向けに、Kubernetes上でクラスタ構成のS3ゲートウェイを稼働させる。
クイックスタート
- 1
テスト用ディレクトリを作成する
mkdir /tmp/vgw /tmp/vers - 2
POSIXバックエンドでゲートウェイを実行する
ROOT_ACCESS_KEY="testuser" ROOT_SECRET_KEY="secret" ./versitygw --port :10000 --iam-dir /tmp/vgw posix --versioning-dir /tmp/vers /tmp/vgw - 3
リリースページからバイナリをダウンロードするか、Dockerイメージを実行する
使う前に知っておきたいこと
- 詳細なセットアップ手順はWikiを参照する必要があり、READMEにはパッケージマネージャーを使ったインストール方法が記載されていません。
- 本番環境で使用するには、セルフホスティングと設定作業が必要です。
トピック
よくある質問
- versitygw とは?
- POSIXファイルシステムなどのバックエンドをS3 API経由で公開する、S3互換のオブジェクトストレージサーバー。 Versity S3 Gatewayは、標準的なS3 APIリクエストを受け付け、バックエンドのストレージシステムに対する操作へ変換するGo製サーバーです。READMEによると、POSIXファイルシステム、VersityのScoutFS、Azure Blob Storage、その他のS3サーバーがバックエンドとしてサポートされており、データを移行せずに既存のストレージをS3対応アプリケーションから利用できます。
- versitygw は無料で使えますか?ライセンスは?
- versitygw は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- versitygw は今もメンテナンスされていますか?
- 活発にメンテナンス中。versitygw の最終コミットは 2026年10月23日 です。
- versitygw は何に使えますか?
- 既存のファイルシステムを、データをコピーせずにS3対応アプリケーションへ公開する。 軽量で使い捨て可能なエンドポイントを使い、ローカルでS3連携をテストする。 Azure Blob Storageや別のS3サーバーの前段にS3アクセスを追加する。 アーカイブやHPCのワークロード向けに、Kubernetes上でクラスタ構成のS3ゲートウェイを稼働させる。
- versitygw のインストール方法は?
- テスト用ディレクトリを作成する: mkdir /tmp/vgw /tmp/vers POSIXバックエンドでゲートウェイを実行する: ROOT_ACCESS_KEY="testuser" ROOT_SECRET_KEY="secret" ./versitygw --port :10000 --iam-dir /tmp/vgw posix --versioning-dir /tmp/vers /tmp/vgw リリースページからバイナリをダウンロードするか、Dockerイメージを実行する
- versitygw はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/versity/versitygw
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Swift製の高性能なS3互換オブジェクトストレージ。MinIOやRustFSに代わるオープンな選択肢です。
膨大な数の小さなファイル向けに、単一バイナリでS3オブジェクトストレージ、POSIXファイルシステム、Iceberg/Lanceテーブルを提供する分散ストレージシステム。
RustFSは、Apache 2.0ライセンスで提供される、Webコンソールを備えたRust製のS3互換分散オブジェクトストレージです。
tusプロトコルのGo製リファレンスサーバー。HTTPでの再開可能なファイルアップロードに対応し、ローカルディスク、Google Cloud Storage、S3に保存できます。
複数のクラウドドライブやS3/WebDAV系ストレージを単一のローカルフォルダにマウントするGo製ツール。rclone互換のエンドツーエンド暗号化に対応。