オブジェクトストレージとしてMinIOを使っていますが、GUI(MinIO Webコンソール)からバケットごとにライフサイクルを設定できなくなりました。
データのバックアップ用途として使う場合、ライフサイクルを設定することで、例えばアップロードされてから1ヶ月経過したファイルは自動で消すといったことができ、ストレージの使用量を削減できます。
で、リリースノートをざっと眺めても、バグなのか仕様なのかわからず困りました。
今回、MinIOを操作するクライアントコマンドであるmcを用いて、ライフサイクルを設定したので忘れないように残しておきます。
環境
- Ubuntu 22.04
- MinIO on Docker(Version: RELEASE.2025-01-18T00-31-37Z)
- mc version RELEASE.2025-01-17T23-25-50Z
MinIOはDockerで動かしています。バイナリだとバージョンアップが手間なので。。。
mcコマンドのインストール
MinIO Client — MinIO Object Storage for Linuxに書いてあります。
mcコマンドはaptでインストールできないため、以下のようにしました。
|
|
MinIOに接続するために、アクセスキーを登録します。
ALIASはlocal、HOSTNAMEは http://localhost:9000
とし、MinIOに接続すためのアクセスキーとシークレットキーを記載します。
|
|
mc ls local みたいな感じでMinIOのバケットが見えれば大丈夫です。
|
|
ライフサイクルの設定
Object Lifecycle Management — MinIO Object Storage for Linuxに書いてあります。
例えば、バケット misskey.7ka.org
に対して30日でファイルを消したい場合は次のようにします。
|
|
設定したライフサイクルを確認する際は、rule lsを使います。
|
|
出力結果は次のとおりです。Enabledになっています。
|
|
設定したライフサイクルを削除したい場合は rule rmを使います。
|
|
複数のバケットをまたがってライフサイクルのルールを確認する方法はなさそうです。
あとがき
久しぶりにMinIOを構築したのですが、先月まで存在した設定画面が消えていて焦りました。MinIOなんもわからん。
初めてmcコマンドを触ってヒーコラいってました。解決できて良かったです。