自己ホスト型サーバーでDiscourseを適切に保護・バックアップする方法は?

こんにちは、

セルフホスト型サーバーにおいて、フォーラムを永久に失わないための最善の方法は何でしょうか?貴重なデータを適切かつ安全にバックアップするにはどうすればよいですか?

削除されたトピックで、@falco は以下のように述べています:

ファイルシステムのスナップショットはサポートされておらず、データ損失につながる可能性があります。

また、Hetzner のバックアップ機能については、同社が以下のように述べています

データの一貫性を確保するため、サーバーをシャットダウンすることをお勧めします。

つまり、これは推奨される解決策ではないのでしょうか?それともそうでしょうか?

私のフォーラムでは、rclone を使用して、ローカルのバックアップフォルダを Google ドライブのフォルダと同期しています。

サーバーが故障しても、週次バックアップが Google ドライブに残っています。
ローカルバックアップが消え、rclone が同期後に空のフォルダを反映してドライブ内のバックアップを削除した場合でも、削除されたバックアップは Google ドライブのゴミ箱に残っているため、引き続き利用可能です。

そのため、これはフォーラムデータを保護するそれなりに良い方法だと感じています。

しかし、本当にそうでしょうか?他に簡単にインストールできる信頼性の高い解決策はありますか?
rclone については、多くのストレージシステムと互換性があります。バックアップの保存と同期には、より良い選択肢はありますか?

「いいね!」 2

データの保存を 100% 完全に安全にする方法はありません。その点を明確にした上で、Discourse にはスケジュールに基づいて実行できる非常に優れたバックアッププロセスが備わっています。

多くのデバイスを信頼できない場合や、月額コストを増やせる場合は、まずバックアップを S3 に移行し、S3 複製機能を有効にすることから始めます。その後、スクリプトを使ってそのデータをローカルマシンにコピーし、月に一度はすべてを外部ドライブに移すのが良いでしょう。

これにより、すべてが同時に障害を起こす可能性を低減できます。S3 の信頼性は非常に高く、さらにローカルマシンも毎日使用しているため状態は良好で、これまで障害は起きていません(ただし、障害が起きる可能性はあり、S3 で広範囲な障害が起きるよりはるかに早く発生するかもしれませんが)。

この「安全」なアプローチは、情報セキュリティ(暗号化など)を指すものではありません。最も良い方法は、複数の場所に複数のコピーを保持することです。

「いいね!」 2

/var/discourse/containers と /var/discourse/shared/standalone/backups をリモートで同期しておけば問題ありません。サーバーが消失しても、コンテナの yml ファイル(複数可)と最新のバックアップがあれば復旧できます。毎日バックアップを取ることをお勧めします。さらに工夫と熱意があれば、rsync の宛先で週次、月次、年次のバックアップを維持するような整理プロセスを設けることも可能です。

「いいね!」 3

今、これを書きました:Best Practices for Backups

「いいね!」 7

こちらもご覧ください:

「いいね!」 5

Amazon S3 へのバックアップは、自動的に組み込まれています。

「いいね!」 4

私たちは何年も rsync を使用しており、非常にうまく機能しています。私たちは毎日バックアップを rsync によって、私たちが管理・制御している オフサイトバックアップ に転送しています。そのため、データセンターで災害が発生しても、すべての重要なデータを確保できます :slight_smile:

また、バックアップとセキュリティについて考える際は、IT セキュリティには以下の 3 つの主要な領域があることを忘れないでください。

  • 可用性
  • 完全性
  • 機密性

データをバックアップする際は、これら 3 つの領域すべてを考慮する必要があります。

機密性の要件が非常に高い場合、第三者のソリューション(厳密な管理下にないクラウドや、他者に所有されているもの)へのバックアップは、最適な選択肢ではないかもしれません。

セキュリティ は万能ではなく、独自のリスク管理モデルに基づいています。これもまた、以下の 3 つの主要な領域で構成されます。

  • 脅威
  • 脆弱性
  • 重要度

これら 3 つの領域の交点が、バックアップと復旧戦略を導く鍵となります。

  • 一部のウェブサイトは、そのコンテンツやドメイン(ビジネスモデル)の性質上、他のサイトよりも脅威にさらされやすいです。一方、悪意のある者にとって関心のないサイトもあります。
  • 一部の人は、安全なホスティングの方法、最新のパッチの適用方法、ファイルシステムのセキュリティ確保方法などを熟知しているため、この分野に詳しくない(あるいは単に怠慢な)人々よりも脆弱性が低いです。
  • 一部の人は、極めて重要なミッションクリティカルなウェブサイトやフォーラムを運営しています。例えば、ウェブサイトがダウンすると、1 日(あるいは 1 時間)で多大な損失を被ったり、ブランドの信頼性が損なわれたりする可能性があります。
  • 一方、他のサイトがダウンしても、気づく人や気にする人がほとんどおらず、金銭的な損失も生じない場合もあります。

つまり、この楽しい話題をセキュリティの大部な書物にしてしまうわけではありませんが、他の人のリスク管理モデルではなく、独自のビジネスモデルとリスク要因に基づいて、自らのリスク管理要件を理解する必要があります。

万能な解決策はありません。これは、IT 従事者が IT セキュリティについて理解すべき最も重要な教訓の一つですが、実際に理解している人は非常に少ないです。バックアップと復旧は、この方程式の重要な一部です。

参考までに:私たちは決して第三者にバックアップを信頼せず、常に技術的・管理的な管理下にある安全な場所に保管しています。


余談ですが、私の友人は世界有数の洞窟ダイバー(探検家)です。彼が水中の洞窟を探検する際、ガス、マスク、コンピュータ、ライト、バッテリー、ナイフ、スクーターなど、すべてにおいて二重三重の冗長化を図っています。40 本以上のガスボンベを配置し、少なくとも 2 台の水中スクーターを携帯しているのを見たこともあります。彼は水中でのリスク管理のやり方を熟知しています。

しかし、この世界的に有名なスキューバダイビング洞窟探検家は、デスクトップコンピュータのバックアップを全く取っておらず、ラップトップがクラッシュしてすべてのデータを失うことも珍しくありません。彼はパワーポイントのプレゼンテーションを失っても構わないと言っています。これは彼の個人的なリスク管理戦略です。彼は数人のデジタルファイルよりも、自身の命を遥かに重視しています。

人生就是这样……


さて、ご質問にお答えします。私たちは約 30 年間セルフホスティングを行っています。常に rsync を使用してオフサイトにバックアップを保管しており、アクセス可能なサーバー上で sftp も利用しています。インターネット上にサーバーを置いてから 30 年間、一度も問題を起こしたことはありません。さらに、自宅ネットワーク内の小さな Mac Mini にも追加のコピーを保存しています。これが私のリスク管理モデルにおいて「セキュア」だと考えるものです。

「いいね!」 5

これらの情報をありがとうございます👍🏿

なぜ S3 のことに触れなかったのか不思議です🤔 無意識に無料のバックアップ方法を考えていたのかもしれません… なのに、実は G Suite のサブスクリプションを持っているのに🙃

ともあれ、Discourse のバックアップ保存に関する S3 の費用を適切に見積もるにはどうすればよいでしょうか?
計算機の項目をどう埋めればよいかわかりません:

私の場合、バックアップ(アップロードファイルを含む)は約 1GB で、毎日バックアップを取り、4〜7 日分のバックアップ保持を想定しています。

もう一つ、話していなかったのですが、共同管理者にもリモートバックアップへのアクセスを許可したいと考えています。
現在、G ドライブでは、バックアップが保存されているディレクトリを彼と共有しています。
S3 のバックアップへのアクセスも共有することは可能でしょうか?

「いいね!」 1

月額で 7GB-月のコスト(成長のための余裕分を含む)が見込まれます。また、バックアップを復元するたびに追加の転送料が発生します。

「いいね!」 1

バックアップの送信または取得は、1 リクエストですか?