その他の S3 互換ストレージ

Ceph や SeaweedFS など自分で運用する S3 サーバーや、セットアップに専用の設定がないほかの S3 プロトコル対応サービスを使えます。条件付き書き込みに対応している必要があり、セットアップがこれをテストします。詳しくはストレージの選び方を参照してください。

S3 サーバーを運用せずに自分のマシンへバックアップしたいなら、セルフホストのほうが簡単です。必要なのは SSH だけです。

#セットアップでの入力

frost init を実行し、S3-compatible を選んでから Other S3-compatible を選びます。

セットアップの質問 答え
What is the S3 endpoint? サーバーやプロバイダーのドキュメントに書かれたホスト名。https:// を付けずにホスト名だけを書くと HTTPS で接続します
Which region? サーバーやプロバイダーに求められた場合だけ入力します。それ以外は空欄のままにします
What is the bucket name? 作成したとおりのバケット名。バケットはあらかじめ作っておく必要があります
Paste the Access Key ID. サーバーやプロバイダーのコンソールで確認します
Paste the Secret Access Key. サーバーやプロバイダーのコンソールで確認します

Frost は、バケット内の frost フォルダにバックアップを保存します。

#自分で運用するサーバー

サーバー 知っておきたいこと
Ceph RADOS Gateway が条件付き書き込みに対応しています。ゲートウェイのアドレスとポートをセットアップに入力します
SeaweedFS S3 ゲートウェイのドキュメントに条件付き書き込みの記載があります。http://<server>:8333 のようなアドレスをセットアップに入力します
MinIO 条件付き書き込みに対応していますが、メンテナンスが終了しているので修正は提供されません。既存のサーバーは、セットアップのテストに通れば引き続き使えます。https://<server>:9000 のようなアドレスをセットアップに入力します
Garage 条件付き書き込みに対応していないので、Frost では使えません

バケットとアクセスキーは、先にサーバーのツールで作っておきます。

#TLS を使わないサーバー

自分のコンピュータやネットワークで動かすサーバーには、http://localhost:9000 のように http:// を付けたエンドポイントを指定します。この場合、すべての通信で TLS が無効になるので、信頼できるネットワークでだけ使ってください。storage.s3.insecure を true にすると、スキームのないエンドポイントで HTTP を使います。https:// や http:// を明示した場合は、そちらが優先されます。

#バケット内のフォルダ

Frost は、バケット内の 1 つのフォルダにすべてを保存します。既定は frost です。全画面のセットアップではこのフォルダについて尋ねません。

セットアップが完了したあと、最初のバックアップの前に別のフォルダやバケットの最上位を使いたい場合は、次のようにします。

  1. frost config edit を実行し、[storage.s3] の prefix を変更します。バケットの最上位を使うなら空にします。そこにはまだバックアップがないと Frost が警告するので、yes と入力してそのまま保存します。
  2. frost init をもう一度実行します。確認画面に、別系統のバックアップを始めることになるという警告が出るので、[s] を押して進みます。

すでにバックアップがある場合は、代わりにそれを移動してください。方法はバックアップの移動で説明しています。