メインコンテンツにスキップ ナビゲーションにスキップ フッターにスキップ
期間限定:デザインパートナープログラム。BUSINESSプランはずっと無料

バックアップとリストア

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

バックアップとリストア

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

チュートリアル動画

3つのステップ

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

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

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

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

rdc config storage import --file rclone.conf

既存のrclone設定をインポートします。rcloneはS3、Backblaze、Google Drive、Dropboxなど多くのサービスに対応しています。すでにrcloneを使用している場合、同じ設定をそのまま直接インポートできます。

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

rdc config storage list

CLIが認識しているストレージを一覧表示します。それぞれがバックアップの保存先になります。

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

rdc repo push --name my-app -m <machine-name> --to my-storage

フルバックアップをプッシュします。アプリ、データベース、ファイル、設定を含むリポジトリ全体がアップロードされます。リポジトリは保存時に暗号化されているため、バックアップも同様に暗号化されており、追加の鍵管理は不要です。

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

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

rdc repo backup list --from my-storage -m <machine-name>

このストレージで利用可能なバックアップを一覧表示します。新しいサーバーへのリストアはコマンド1つ、repo pullコマンドで完了します。

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

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

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

ステップ3: 実際にリストアする

復元したことのないバックアップは、希望であってバックアップではありません。まずリポジトリをオフラインにします。

rdc repo down --name my-app --machine <machine-name> --unmount

まずrepositoryをオフラインにします。repo downコマンドでサービスを停止し、暗号化ボリュームをアンマウントしてください。

ストレージから直接バックアップを取り込みます。

rdc repo pull --name my-app --machine <machine-name> --from my-storage --force --yes

repo pullコマンドでstorageからバックアップを取得します。imageが取得され、整合性チェックが実行されます。

そして再マウントします。完全に復元されました。

rdc repo mount --name my-app --machine <machine-name>

repositoryを再マウントします。完全に復元されています。同じpullは新しいマシンでも機能します。

新しいサーバーへの復元も同じプルコマンドで行えます。セットアップして rdc に追加し、そちらでプルを実行するだけです。

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

同じデータ、同じコンテナ、別のマシンです。

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

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

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

プロのヒント。 マシン間のプッシュは2回目以降、変更されたブロックのみを送信します。デルタ転送チュートリアル でその仕組みをライブで確認できます。


次: ネットワーキングとドメイン