You are currently viewing RustFSを使ってみる

RustFSを使ってみる

ローカル環境オブジェクトストレージをsaio(Swift All In One)からRustFSに切り替えました

切り替えの動機

先日のエントリでDocker Desktopバージョンアップの影響か、saioが起動しなくなったということをお話しました
一応手動のパッチで動作はするものの、本番環境のConoHaオブジェクトストレージがS3にも対応しているので、互換性などを考えて業界標準となりつつあるS3に合わせておくのがいいかなと思い、このタイミングで移行しました

なぜRustFS?

S3互換ストレージとしてはMinIOが有名で、最初は自分もMinIOへ移行するつもりでいました
ただ、情報を集めてみるとMinIOが公式DockerImageの配布を終了したとアナウンスされており、MinIO界隈がざわついていたため、今回はMinIOの採用は見送りました

では、RustFSを採用したかというと、特に理由は無いです・・・
強いて言えば自分がRustに興味があり、今後勉強しようと思っているのでRust製アプリに触れてみたかったというのが理由です

ちなみにRustFSは開発中のソフトウェアであり、「本番環境では使用しないこと!」とアナウンスされています

Docker Composeで使ってみる

GitHubにサンプルのdocker composeファイルがあるので、それを利用するのが簡単です
https://github.com/rustfs/rustfs の docker-compose-simple.yml

上記ファイルについてお好みで変更して利用すれば大丈夫です
個人的に気になった & 変更したのは以下の設定です

    environment:
      - RUSTFS_VOLUMES=/data/rustfs{0...3} # ←イレイジャーコーディングというディスク冗長化の仕組みを利用しているため、最低4本ディスクが必要
      # - RUSTFS_TLS_PATH=/opt/tls # ローカルではhttpで運用するため、不要
      - RUSTFS_UNSAFE_BYPASS_DISK_CHECK=true # ディスクトポロジーチェックをスキップ。イレイジャーコーディングでは4本のディスクは別ボリュームに配置されている必要があるが、ローカルでは同一ボリューム内への配置となるため、ディスクチェックをスキップし起動できるようにする

ほかの設定はデフォルトのまま利用しています
docker compose up -dで起動すれば、9001ポートにアクセスすることで管理画面にアクセスできます

アカウントとキーは、どちらも「rustfsadmin」でログインできます

バケットを作製し、公開する

RustFSもバケットを公開し、直接コンテンツを公開する使い方ができます
まずは管理画面からバケットを作成します

作製したバケットの設定をクリックし、publicにするだけで公開になります

後は画像をアップロードすれば、httpアクセスで画像が閲覧できるようになります

以上

ということで、簡単にですがRustFSの紹介でした
まだ本番環境では使用ができないものの、今後を期待させてくれるオブジェクトストレージだと思います
導入も簡単 & シンプルな管理画面、何より日本語対応されていることもありがたいですね!

コメントを残す