Amazon RDSでスナップショット復元時にバックアップ設定を指定可能に
要約: RDSとAuroraのスナップショット復元時に、バックアップ保持期間と優先バックアップウィンドウを事前に確認・変更可能に。復元後の設定変更作業が不要となり、開発環境構築やDR時の運用効率が向上。全エンジン対応、追加費用なし。
新機能の背景
これまでの課題
Amazon RDSやAmazon Auroraでスナップショットからデータベースインスタンスやクラスタを復元する際、これまでは以下の制約がありました:
- バックアップ設定の継承: 復元されたインスタンスは、スナップショットのメタデータからバックアップ保持期間(Backup Retention Period)と優先バックアップウィンドウ(Preferred Backup Window)を自動的に継承していました
- 復元後の変更が必要: これらの設定を変更する場合、復元完了後にインスタンスを手動で変更する必要があり、運用の手間が発生していました
- 事前確認ができない: 復元前にスナップショットに含まれるバックアップ設定を確認できず、復元後に想定と異なる設定になっているケースがありました
この機能が解決すること
この新機能により、スナップショットからの復元プロセスがより柔軟になり、復元時のバックアップ設定をコントロールできるようになります。これは、以下のようなシナリオで特に有用です:
- 開発/テスト環境の構築: 本番環境のスナップショットから開発環境を作成する際、短いバックアップ保持期間を設定してコストを削減
- ディザスタリカバリ: 異なるリージョンやアカウントで復元する際に、適切なバックアップスケジュールを即座に設定
- コンプライアンス要件: 復元時に組織のバックアップポリシーに準拠した設定を事前に適用
新機能の概要
2つの主要な機能強化
1. バックアップ設定の可視化
スナップショットや自動バックアップに含まれる以下の設定を、復元操作を開始する前に確認できるようになりました:
- バックアップ保持期間(Backup Retention Period): バックアップを保持する日数(0〜35日)
- 優先バックアップウィンドウ(Preferred Backup Window): 自動バックアップが実行される時間帯
これにより、復元前に適切なバックアップ設定を計画できます。
2. 復元時のバックアップ設定変更
スナップショットからデータベースインスタンスやクラスタを復元する際に、以下の設定を直接指定・変更できるようになりました:
- バックアップ保持期間の変更: スナップショットの設定とは異なる保持期間を復元時に設定可能
- バックアップウィンドウの変更: 組織の運用スケジュールに合わせたバックアップウィンドウを復元時に設定可能
これにより、復元後の追加変更作業が不要になり、復元プロセスが効率化されます。
対応範囲
対応データベースエンジン:
- Amazon RDS: MySQL、PostgreSQL、MariaDB、Oracle、SQL Server、Db2
- Amazon Aurora: MySQL互換エディション、PostgreSQL互換エディション
利用可能リージョン:
- 全てのAWS商用リージョン
- AWS GovCloud (US)リージョン
追加費用: この機能の利用に追加費用は発生しません。通常のRDSおよびAuroraの料金体系に従います。
使い方
1. AWS マネジメントコンソールでの利用
スナップショットのバックアップ設定を確認
- AWS マネジメントコンソールにサインインし、Amazon RDSコンソールを開きます
- ナビゲーションペインで**「スナップショット」**を選択
- 確認したいスナップショットを選択すると、詳細情報でバックアップ保持期間と優先バックアップウィンドウを確認できます
バックアップ設定を指定してスナップショットから復元
- 復元したいスナップショットを選択
- **「アクション」メニューから「スナップショットの復元」**を選択
- **「バックアップ」**セクションで以下を設定:
- バックアップ保持期間: 0〜35日の範囲で指定(0は自動バックアップ無効)
- バックアップウィンドウ: 希望するバックアップ実行時間を指定(例: 03:00-04:00)
- その他の設定(DBインスタンス識別子、インスタンスクラスなど)を指定
- **「DBインスタンスを復元」**をクリック
2. AWS CLI での利用
スナップショットからの復元時にバックアップ設定を指定
aws rds restore-db-instance-from-db-snapshot \
--db-instance-identifier my-restored-instance \
--db-snapshot-identifier my-snapshot \
--backup-retention-period 7 \
--preferred-backup-window "03:00-04:00"
Amazon Aurora クラスタの復元(Auroraの場合)
aws rds restore-db-cluster-from-snapshot \
--db-cluster-identifier my-restored-cluster \
--snapshot-identifier my-cluster-snapshot \
--backup-retention-period 14 \
--preferred-backup-window "02:00-03:00" \
--engine aurora-mysql
3. AWS SDK での利用
Python (Boto3) の例
import boto3
rds_client = boto3.client('rds')
response = rds_client.restore_db_instance_from_db_snapshot(
DBInstanceIdentifier='my-restored-instance',
DBSnapshotIdentifier='my-snapshot',
BackupRetentionPeriod=7,
PreferredBackupWindow='03:00-04:00'
)
print(f"Restoration started: {response['DBInstance']['DBInstanceIdentifier']}")
設定パラメータの詳細
BackupRetentionPeriod:
- 範囲: 0〜35日
- 0を指定すると自動バックアップが無効化されます(注意: マルチAZ DBクラスタでは1〜35日)
- デフォルト: コンソール作成時は7日、API/CLI作成時は1日
PreferredBackupWindow:
- フォーマット:
hh24:mi-hh24:mi(UTC時刻) - 最小期間: 30分
- 例:
"03:00-04:00","23:45-00:15" - メンテナンスウィンドウと重複しないように設定することを推奨
注意点
バックアップ保持期間の設定に関する注意
自動バックアップの無効化
- バックアップ保持期間を0に設定すると自動バックアップが無効になります
- この変更により、ポイントインタイムリカバリ(PITR)が利用できなくなります
- 本番環境では自動バックアップを有効(1日以上)にすることを強く推奨します
マルチAZ DBクラスタの制約
- マルチAZ DBクラスタでは、バックアップ保持期間を1〜35日に設定する必要があります
- 0(無効)には設定できません
設定変更時の影響
- バックアップ保持期間を0から0以外(またはその逆)に変更する場合、短時間の停止が発生する可能性があります
パラメータグループとオプショングループ
- カスタム設定の扱い
- この機能はバックアップ設定のみを対象としています
- パラメータグループやオプショングループは、従来通り復元時に別途指定する必要があります
- 特に、Oracle TDEなどの永続的/恒久的オプションを含むスナップショットの場合、適切なオプショングループの指定が必須です
バックアップウィンドウの設定
メンテナンスウィンドウとの重複
- バックアップウィンドウとメンテナンスウィンドウが重複しないように計画してください
- 重複すると、パフォーマンスに影響を与える可能性があります
時刻はUTC
- 優先バックアップウィンドウはUTC時刻で指定します
- 日本時間(JST)はUTC+9時間なので、変換に注意してください
- 例: JST 12:00-13:00 → UTC 03:00-04:00
リージョンとエンジン固有の考慮事項
Db2の特別な要件
- Amazon RDS for Db2を使用している場合、復元時にIBM Site IDとIBM Customer IDを含むカスタムパラメータグループが必要です
- AWS License Managerの自己管理ライセンスまたはAWS Marketplaceサブスクリプションが必要です
エンジンバージョンのサポート
- 一部のエンジンバージョンでは、スナップショットのアップグレードが必要な場合があります
- 特にMySQLの場合、サポートされていないエンジンバージョンのスナップショットから復元する際、複数回のアップグレードが必要になることがあります
ベストプラクティス
復元前の確認
- スナップショットから復元する前に、スナップショットのバックアップ設定を確認してください
- 復元先の環境(本番、開発、テストなど)に適した設定を計画してください
タグの活用
- 復元時に適切なタグを設定して、バックアップポリシーやコスト管理を容易にしてください
- スナップショットのタグは自動的に継承されますが、新しいタグを追加することもできます
セキュリティグループとVPC設定
- バックアップ設定と併せて、セキュリティグループやVPC設定も復元時に適切に設定してください
- デフォルトのVPCセキュリティグループが適用されるため、必要に応じてカスタム設定を指定してください
補完情報の出典