許容できる損失と停止を定義する
許容できる最新のリカバリポイントと、有用なサービスを復旧する目標時間を書き留めます。これらはアプリケーションの目標であり、PrivacyNodesのSLAではありません。1時間のデータ損失が許容できない場合、日次コピーだけではその目標を満たせません。ワークロードとバージョンに合ったデータベースバックアップ方式を選択してください。
保護されたストレージを通じて、使い捨てのターゲット、アプリケーション成果物、権限を持つリカバリ認証情報を取得します。顧客データのリストアを誰が承認するか、テスト環境が外部トラフィックをどう防ぐかを確認します。稼働中の本番データベースや既存ディレクトリに上書きリストアしないでください。
アプリケーション状態全体を棚卸しする
レポートAPIについて、PostgreSQL、アップロード、再現不能なエクスポート、設定、暗号化キー参照、DNS、外部依存関係を列挙します。使い捨てのキャッシュと、調整が必要な顧客作業を保持するキューを区別してください。コンテナイメージはソフトウェアを表すものであり、永続状態のすべてではありません。
| 記録項目 | あなたの値 |
|---|---|
| 成果物と設定のバージョン | 正確な識別子 |
| データベースバックアップとリカバリポイント | 選択したアーカイブとタイムスタンプ |
| アップロードスナップショットと整合性境界 | スナップショット、パス、一致計画 |
| 使い捨てターゲット | 検証済み環境と空の宛先 |
| 認証情報と承認者 | 保護された参照のみ |
| 開始、完了、欠落した手順 | 推測ではなく観察された結果 |
バックアップに何が含まれるか理解する
PostgreSQLは論理ダンプ、ファイルシステムバックアップ、継続的アーカイブを異なる戦略として文書化しています。 pg_dump アーカイブは1つのデータベースを対象とし、クラスタ全体のロールとテーブルスペースは別途考慮が必要です。そのクライアントはより新しいメジャーバージョンのサーバーをダンプできません。ツールのバージョンと戦略を目標に合わせてください。稼働中のデータディレクトリのコピーは自動的に整合性があるわけではありません。
リストア前にアーカイブを検査します。 pg_restore でテーブルを選択しても、その依存関係すべてが自動的に含まれるわけではありません。その --clean オプションは既存オブジェクトを削除します。単一トランザクションのリストアは並列ジョブと組み合わせられません。具体的に特定された空のテストデータベースに対するオプションを確認してください。
技術リファレンス: PostgreSQLのバックアップとリストア · PostgreSQL pg_dump · PostgreSQL pg_restore.
整合性を確認し、独立してリストアする
リポジトリチェックと機能リストアは異なる問いに答えます。resticの通常の check は保存されたすべてのデータパックを読み取るわけではありません。 check --read-data はそれらの読み取りを追加し、相当な帯域幅を消費する可能性があります。どちらもスナップショットがAPIに必要なすべてを含むことを証明しません。
特定のスナップショットと新しいターゲットディレクトリを選択します。修飾されていない latest は共有リポジトリ内で別のワークロードを選択する可能性があります。リストアはファイルを上書きする可能性があり、中断すると部分的な結果が残ることがあります。まず宛先を検証し、本番ファイルと元のリポジトリをそのままに保ってください。
技術リファレンス: resticリポジトリチェック · resticリストアターゲット.
依存関係の順序でリストア後の動作をテストする
環境を再作成し、データベースと一致するアップロードをリストアしてから、ステージング認証情報でAPIを起動します。ワーカーはバックログと副作用を理解するまで一時停止してください。本番のメール、支払い呼び出し、Webhookを無効化し、テスト用エクスポート先を使用し、本番キューを決して消費しないでください。
既知のテストアカウントを使用してレコードを読み取り、そのアップロードを開き、アクセス制限を確認し、小さな新しいエクスポートを実行します。別のテストアカウントがそのデータを読み取れないことを検証します。選択したリカバリポイントと最新の期待レコードを比較します。ドリル後の実際の復旧時間を記録し、事前に考案した成功結果を書かないでください。
実際のカットオーバー前に書き込み所有権を解決する
インシデント中に、どのシステムが書き込みを受け付け、後の変更をどう調整するかを決定します。2つの書き込み可能なコピーは分岐する可能性があります。ドリルは実際のトラフィックを切り替えずにこの決定を文書化します。演習終了時に保持ルールに従って使い捨てデータを削除してください。
各リハーサル後に、欠落した認証情報、依存関係、検証手順を修正します。ランブックを元のホストの外に保ち、別の権限を持つ保守担当者が見つけられるようにしてください。選択可能なバックアップオプションはこのアプリケーションプロセスとは別です。範囲とリストア手順を次で確認してください: サービスファクト。次に続くデプロイには リリース記録 を使用してください。
公式リファレンス
この記事のドキュメントをレビューしました。例は計画用の演習であり、PrivacyNodes サーバーでテストされたコマンドではありません。インストールされているバージョンのドキュメントを確認してください。