メインコンテンツにスキップ ナビゲーションにスキップ フッターにスキップ
期間限定:デザインパートナープログラム — BUSINESSプランを永久利用

バックアップとリストア

リポジトリを外部ストレージにプッシュし、必要なときに新しいサーバーで復元します。

バックアップとリストア

アプリが本番で稼働しています。次は絶対に失わないようにしましょう。rdc はリポジトリ全体(アプリ、データベース、ファイル、設定)を外部ストレージにプッシュし、いつでも引き戻すことができます。ランサムウェア、ハードウェア障害、どんな事態にも対応できます。

チュートリアル動画

3つのステップ

設定、プッシュ、リストア

  1. 設定: ストレージプロバイダーを設定します。
  2. プッシュ: バックアップを取ります。
  3. リストア: 必要なときに復元します。

ステップ1: ストレージを設定する

rclone の設定ファイルが必要です。すでに rclone を使っている場合は直接インポートできます。

time rdc config storage import --file rclone.conf

S3、B2、Google Drive、Dropbox など多くのサービスに対応しています。設定されているストレージを確認します。

time rdc config storage list

ステップ2: バックアップをプッシュする

time rdc repo push --name my-app -m my-server --to my-storage

リポジトリ全体(アプリ、データベース、ファイル、すべて)がバックアップされました。リポジトリ自体が暗号化されているため、バックアップも暗号化されます。追加の鍵管理は不要です。

バックアップはいつでも確認できます。

time rdc repo backup list --from my-storage -m my-server

なぜダウンタイムがないのか

バックアップのアップロード中もアプリは動き続けます。一貫性はどのように保たれるのでしょうか。

フォーク と同じ仕組みです。rdc はまずフォークを作成し、そのフォークをアップロードします。フォークがその瞬間をキャプチャし、本番アプリは動き続けます。ダウンタイムなし、不整合なしです。

ステップ3: 新しいサーバーにリストアする

サーバーが壊れたとしましょう。新しいサーバーをセットアップして rdc に追加し、プルします。

time rdc repo pull --name my-app -m new-server --from my-storage

次に起動します。

time rdc repo up --name my-app -m new-server

アプリが戻りました。同じデータ、同じコンテナ、別のマシンです。

高速バックアップ: マシン間の直接転送

クラウドストレージを経由せずに、マシン間で直接プッシュすることもできます。

time rdc repo push --name my-app -m my-server --to-machine backup-server

ヒント。 ストレージへのアップロードは常にすべてのデータを送信します。マシン間の転送は差分のみを送信します。初回のマシン間プッシュは通常の時間がかかりますが、それ以降のプッシュははるかに高速です。頻繁なバックアップに最適です。


次: モニタリング