Discourseフォーラムを確実に復旧するための、最も基本的で信頼できる方法は何ですか?

これまで数年、友人が運営するフォーラムのホスティングを手伝ってきました。

Hetznerのサーバーをレンタルしてもらい、Discourse上で自動バックアップを設定し、rcloneとcronタスクを使って私のGoogle Driveに同期するようにしています。各フォーラムの管理者には、私のDriveにある各自のバックアップにアクセスする権限を与えています。システム管理者ではない私にとって、これ以上シンプルで安全な方法は思いつきません。

数回、rCloneのトークンが更新されていないことに気づいたことがあります(少なくとも1つのインスタンスでは)。その際は再設定する必要がありました。同期がうまくいっていない場合にアラートが一切ないため、私は時々Driveを手動で確認し、最新のバックアップが最近のものであることを確認しています。

もしあなたが自発的に誰かや団体のフォーラムホスティングを手伝うとしたら、フォーラムが何らかの理由で壊滅した際に、安全に復元できるバックアップが常にどこかに存在することを保証するために、どのようなソリューションを設定しますか?

私はcronジョブから、制限付きアカウントを使用してrsync over SSHでバックアップを取得しています。実際には私自身ではなく、私のモッド(管理者)の一人がそうしています。私はアップデートを行う際にバックアップを取得してダウンロードします。そのため、一方のケースではフォーラムの活動記録が数日分失われる可能性があり、もう一方のケースでは1か月以上失われる可能性があります。

おそらく私自身もcrontabを設定すべきです。バックアップの頻度を上げることもできます。現在は2日ごとに設定されています。

どちらのケースでも、私たちは自らのシステムをある程度適切に管理できる能力が必要です。フォーラムが完全に失われるのは、私たちがダウンロードしたコピーと自身のバックアップ、そしてサーバー自体のすべてを同時に失った場合のみです。

編集:良い指摘ですね。プロセスが正常に動作していることを確認する何らかの積極的なチェック機構が必要であり、ダウンロードされたバックアップが正常であるという、浅くても何らかの確信を持つべきです。

ドメインについては特別な配慮をしていません。理想を言えば、ドメインもまた二重の管理や何らかの共同所有の形になるべきです。もしドメインの管理を失った場合、フォーラムは新しいドメインで再構築される必要があります。メールでダイジェストや通知をメンバーに送れるため、ある程度の信頼があれば、メンバーは再登録できるでしょう。

バックアップにはS3の利用をお勧めします。安全を重視するなら、フォーラムの毎日バックアップを。さらに万全を期すなら、VPSのバックアップも。

まあ、私はデータベースを1時間ごとにバックアップしています :man_shrugging: ECサイトと同じ原理で、復元可能かつ復元したい最大のリテンション期間(データ保持期間)を考慮する必要があります。

restic による S3 へのバックアップと外部ディスクへのバックアップ

同意します。S3の設定を含むYMLファイルとバックアップがS3にある場合、新しいサーバーにフォーラムを復元するにはYMLファイルだけで済みます。これにより、ディスクをバックアップで埋め尽くすこともなくなります。

注意点として、S3バケットとVMの請求書を支払うことを忘れないでください。Cloudflareのが最も安いのではと思います。

以前、誰かがAWSアカウントの管理を失い、すべての画像を失ってしまった事例がありました。請求書を支払うことを忘れないようにするコストは、軽視すべきものではありません。