- はじめに
- RDSバックアップの種類
- 1. 自動バックアップ:日々の運用のお守り
- 2. 手動スナップショット:ここぞという時のための保険
- 比較まとめ:あなたに必要なのはどっち?
- おすすめのバックアップ戦略
- まとめ
はじめに
こんにちは!みなさん、RDSのバックアップどうされていますか?
AWSでは自動で実施してくれるためあまり意識せずともある程度は復元できますが
いくつかバックアップにも種類がありますので今回はそちらについて記載できればと思います。
RDSバックアップの種類
RDSのバックアップには、大きく分けて以下の2種類が存在します。
1.自動バックアップ
2.手動スナップショット
これらは似ているようで、役割や特性が大きく異なります。それぞれの特徴を見ていきましょう。
1. 自動バックアップ:日々の運用のお守り
自動バックアップは、その名の通りRDSが自動で取得してくれるバックアップです。
特徴
- ポイントインタイムリカバリ (PITR) が可能: これが自動バックアップの最大のメリットです。例現在から5分以上前の指定した時間の状態でDBインスタンスを作成することができる機能です。例えば、障害の復旧であれば、障害発生時刻の少し前の時間の状態のDBインスタンスを作成できます。バックアップは増分(変更された部分が増える)で取得され、なおかつトランザクションログを組み合わせることで実現されています。
- 手軽な設定: DBインスタンス作成時に有効にするだけで、あとはAWSがよしなにやってくれます。
- 保持期間: バックアップの保持期間を1日〜35日の間で設定できます。
注意点
- 保持期間の制限: 最大でも35日間のため、それより長期のバックアップ保管には向きません。
2. 手動スナップショット:ここぞという時のための保険
手動スナップショットは、ユーザーが任意のタイミングで取得できるバックアップです。
特徴
- 永続的な保管: 手動で削除しない限り、永続的に保管されます。DBインスタンスを削除しても、手動スナップショットは残り続けます。
- 好きなタイミングで取得: 大規模なリリース作業やデータ移行の前など、「この時点のバックアップが絶対に欲しい!」という時に最適です。
- リージョン間コピーや共有: 取得したスナップショットを別のAWSリージョンにコピーして災害対策(DR)に利用したり、別のAWSアカウントと共有したりすることも可能です。
注意点
- ポイントインタイムリカバリは不可: スナップショットを取得した時点にしか復元できません。
- 自動で削除されない: 手動で取得したスナップショットは削除しない限り残り続けます。
補足
- スナップショット取得を柔軟に自動化したい場合: RDS側では実施ができないため、AWS Backupを利用します。「毎週日曜の深夜2時に」といった細かいスケジュール設定や「週次バックアップは1ヶ月、月次バックアップは7年間保管する」といった保持ポリシー設定が可能です。
比較まとめ:あなたに必要なのはどっち?
自動バックアップと手動スナップショットの違いを表にまとめました。
| 項目 | 自動バックアップ | 手動スナップショット |
|---|---|---|
| 取得タイミング | 毎日1回 (設定したウィンドウ内) | 任意 |
| 保持期間 | 1日〜35日 | 永続 (手動で削除するまで) |
| 復元の粒度 | ポイントインタイムリカバリ (秒単位) | スナップショット取得時点 |
| 主な用途 | 日常的な障害復旧、操作ミスからの復元 | 長期保管、リリース前の保全、DR対策 |
おすすめのバックアップ戦略
では、これらをどう使い分ければ良いのでしょうか。基本的には両方の機能を組み合わせるのがベストプラクティスです。
- 普段使い (必須): 自動バックアップはデフォルトで有効になっているため、保持期間をビジネス要件に合わせて設定する(例: 7日〜35日)。これにより、日々の細かなリストアニーズに対応できます。
- 重要なイベント前: アプリケーションのメジャーアップデートや、本番データの大きな変更作業前には、必ず手動スナップショットを取得しましょう。万が一の切り戻しが安全・確実に行えます。
まとめ
今回はRDSのバックアップについて、自動バックアップと手動スナップショットの2種類をご紹介しました。
- 自動バックアップは日々の運用に欠かせない「お守り」
- 手動スナップショットは計画的な作業や長期保管のための「保険」
それぞれの特性を理解し、ご自身のシステムの要件に合わせて賢く使い分けることが、安定したサービス提供の鍵となります。まずはご自身のRDSのバックアップ設定がどうなっているか、確認してみてはいかがでしょうか。