データベース管理・運用

バックアップ・リストア ばっくあっぷ・りすとあ

災害対策RPORTOフルバックアップ増分バックアップ可用性
バックアップ・リストアについて教えて

簡単に言うとこんな感じ!

バックアップは「DBデータの定期保険写真」、リストアは「その写真から現状復元すること」だよ! 障害・誤操作・ランサムウェアで大事なデータが消えたとき、直前のバックアップがあれば復元できる。「いざとなったらいつまで遡れるか」「どのくらいで復旧できるか」が設計のポイントなんだ!


バックアップ・リストアとは

バックアップ(Backup)とは、データベースのデータを別の場所(別ストレージ・別サーバー・クラウドなど)にコピーして保存する操作です。リストア(Restore)とは、バックアップから元の状態にデータを復元する操作です。

バックアップが必要な理由は主に4つです。①障害(ハードウェア故障・ストレージ破損)、②オペレーションミス(誰かが重要データをDELETE・テーブルをDROP)、③ランサムウェアなどのサイバー攻撃、④論理的データ破損(バグによるデータ不整合)です。

バックアップ設計の核心は**RPO(Recovery Point Objective:目標復旧時点)RTO(Recovery Time Objective:目標復旧時間)**の2指標です。「最悪いつのデータまで失っても許容できるか(RPO)」「いつまでに復旧しなければならないか(RTO)」をビジネス側と合意し、それを満たすバックアップ方式を選択します。


バックアップの種類

種類内容特徴
フルバックアップDBの全データをコピーシンプルだがデータ量が多く時間・容量がかかる
差分バックアップ前回フルバックアップ後の変更分増分よりリストアが速い
増分バックアップ前回バックアップ後の変更分のみ小さく取得が速い。リストア時に全増分を順番に適用が必要
WALアーカイブPostgreSQLのWALログを継続保存ポイントインタイムリカバリ(PITR)の基盤
スナップショットDBボリューム全体のポイントインタイムコピークラウドで簡単に取得可。一瞬で完了
バックアップとRPO・RTOの関係 木(障害発生) ⚠ 障害 RPO: 最後のバックアップから障害発生までのデータが失われる可能性 RTO: ここまでに復旧 RPOを短くする → バックアップ頻度を上げる / WALアーカイブを活用 RTOを短くする → リストア手順を整備・自動化 / レプリカへのフェイルオーバー 3-2-1 ルール: 3つのコピー / 2種類のメディア / 1つはオフサイト(別場所) 例: 本番DB + ローカルバックアップ + S3(クラウド)

主要DBのバックアップコマンド

DB製品コマンド説明
PostgreSQLpg_dump / pg_dumpall論理バックアップ(SQL形式)
PostgreSQLpg_basebackup物理バックアップ(PITR可能)
MySQLmysqldump論理バックアップ
MySQLmysqlbackup(Enterprise)物理バックアップ
クラウドDBコンソール / CLI から自動スナップショットマネージドサービスが自動実行

歴史と背景

  • 1970年代:大型汎用機時代からテープへのフルバックアップが標準的運用として確立
  • 1990年代:CD-ROM・磁気ディスクの普及でバックアップの高速化・低コスト化が進む
  • 2000年代:増分・差分バックアップ技術が一般化。データ量の爆発的増加でフルバックアップのみでは対応困難に
  • 2010年代:クラウドストレージ(S3等)へのバックアップが主流化。自動スナップショット機能が普及
  • 現在:クラウドマネージドDB(RDS・Cloud SQL等)は自動バックアップ・PITRをデフォルトで提供。ただし保存期間・整合性の設定はシステム要件に合わせて管理者が設定する必要がある

関連する規格・RFC

規格内容
ISO 27001情報セキュリティ管理でバックアップ手順の整備・テストを要求
FISC 安全対策基準金融機関向けバックアップ・リカバリ要件

関連用語