Amazon RDSのDBインスタンスを停止したあとに、手動スナップショットやAWS Backupでバックアップを取りたいと考えることがあります。しかし、停止済みのRDS DBインスタンスから新しいバックアップを作成することはできません。バックアップが必要なら、停止操作の前または停止操作と同時にスナップショットを作成します。
この記事の結論
- 停止中のRDSはステータスが
availableではないため、新しい手動スナップショットを作成できない - RDSコンソール、
create-db-snapshot、RDS APIのいずれでも回避できない - AWS BackupもRDSまたはAuroraが
AVAILABLEであることを要求する - 停止前のスナップショット作成、または停止操作と同時のスナップショット作成を使う
- 既存のスナップショットやリカバリポイントは、元のDBが停止しても保持期間中は利用できる
バックアップ方法ごとの可否
| 方法 | 停止中の新規取得 | ポイント |
|---|---|---|
| RDS手動スナップショット | 不可 | DBインスタンスがavailableである必要がある |
| RDS自動バックアップ | 不可 | 停止中は新しい自動バックアップが実行されない |
| AWS Backupの定期・オンデマンドバックアップ | 不可 | RDS/AuroraリソースがAVAILABLEである必要がある |
| 停止操作と同時に作るスナップショット | 可能 | 停止を開始する時点でスナップショット名を指定する |
| 停止前に作成済みのバックアップからの復元 | 可能 | 保持中のスナップショットやリカバリポイントを利用する |
停止操作と同時にスナップショットを作成する
RDSコンソールからDBインスタンスを停止するときは、停止前にスナップショットを保存するオプションを選択できます。AWS CLIではstop-db-instanceの--db-snapshot-identifierを指定します。
aws rds stop-db-instance
--db-instance-identifier production-db
--db-snapshot-identifier production-db-before-stop-20260930
--region ap-northeast-1
この方法では、DBインスタンスが停止済みになってからスナップショットを取得するのではなく、停止処理の一部として停止直前のスナップショットを作成します。スナップショット名は同じリージョン内で重複しない値にしてください。
すでに停止している場合の対応
- 停止前に作成された手動スナップショット、自動バックアップ、AWS Backupのリカバリポイントを確認する
- 新しい復旧時点が必要ならDBインスタンスを起動する
- ステータスが
availableになったことを確認する - 手動スナップショットまたはAWS Backupのオンデマンドバックアップを実行する
- バックアップが利用可能になったことを確認してから、必要に応じて再停止する
起動直後にバックアップを開始する場合でも、DBインスタンスの状態がavailableになるまで待ちます。アプリケーションからの接続を再開させたくない場合は、接続経路やセキュリティグループを含めた手順を事前に設計してください。
停止中も既存バックアップは消えない
停止中に新しいバックアップを作れないことと、作成済みのバックアップが利用できなくなることは別です。手動スナップショットは削除するまで保持されます。自動バックアップやAWS Backupのリカバリポイントは、それぞれ設定された保持期間やライフサイクルに従って保持されます。
復元するときは元の停止中DBを上書きせず、新しいDBインスタンスまたはクラスターを作成します。復元後の接続先切り替えまで含めた手順は、RDSをバックアップから復元する方法で解説しています。
停止期間と料金の注意点
- RDS DBインスタンスは、手動で起動しない場合でも最大7日間の停止後に自動起動する
- 停止中はDBインスタンス稼働料金を抑えられるが、ストレージ、Provisioned IOPS、バックアップストレージなどの料金は継続する
- 停止中もトランザクションログなど、PITRに必要な情報が保持される
- 長期間停止させる用途では、スナップショットを作成してDBを削除する方法との費用・復旧時間を比較する
バックアップ保存料金の考え方は、AWS BackupでRDSをバックアップした場合の料金と無料枠も参考にしてください。
停止前チェックリスト
- 最新のスナップショットまたはリカバリポイントがあるか
- 必要なRPOを満たす作成時刻か
- バックアップのステータスが利用可能になっているか
- 保持期間または削除予定日が決まっているか
- 暗号化キーを削除・無効化する予定がないか
- 復元手順と接続先切り替え手順を確認したか
- 7日後の自動起動を運用監視に含めたか
まとめ
停止済みのRDSからは、RDS標準機能でもAWS Backupでも新しいバックアップを取得できません。停止前、または停止操作と同時にスナップショットを作成するのが基本です。すでに停止している場合は既存バックアップを確認し、新しい復旧時点が必要なら一度起動してavailableになってからバックアップを実行してください。
