Amazon Relational Database (Amazon RDS) for Microsoft SQL Server DB インスタンスのバックアップを作成したいです。バックアップの作成にかかる時間に影響する要因を把握したいです。
解決策
DB インスタンスのバックアップを作成するのにかかる時間は、データベースのワークロードによって異なります。データベースの負荷が高くなると、ボリュームでの増分変更の数が増え、バックアップ時間が長くなります。
Amazon RDS for SQL Server では、自動バックアップ、手動 DB スナップショット、ネイティブバックアップを使用して DB インスタンスをバックアップできます。
Amazon RDS の自動バックアップと手動 DB スナップショットは、DB インスタンスのストレージボリュームスナップショットであり、DB インスタンス全体がバックアップされます。DB インスタンスの最初のバックアップには、DB インスタンス全体のデータが含まれます。同じ DB インスタンスの後続のバックアップは増分され、最新のスナップショットよりも後に変更されたデータのみが保存されます。
ネイティブ SQL バックアップでは、DB インスタンスの完全バックアップと差分バックアップを作成してから、そのファイルを Amazon Simple Storage Service (Amazon S3) バケットに保存します。DB インスタンス上の個々のデータベースのバックアップを作成することもできます。
シナリオによっては、DB インスタンスは増分バックアップではなく完全バックアップを必要とする場合があります。例えば、マルチアベイラビリティゾーンのフェイルオーバー後や、Amazon RDS 自動バックアップを有効化した後には、インスタンスの完全バックアップが必要になる場合があります。完全バックアップの作成には、大幅に長い時間がかかる場合があります。
次の要因でも、バックアップ時間は増加する可能性があります。
- CPU とメモリの可用性
- ディスクの I/O
- データベースアクティビティ
- データベースのサイズ
ネイティブバックアップまたは復元の進行状況を確認する
ネイティブバックアップまたは復元の進行状況を確認するには、バックアップまたは復元ステートメントの実行後にタスク ID を取得します。または、次のスクリプトを実行すると、特定のデータベースで完了したタスクと保留中のタスクをすべて特定できます。
exec msdb.dbo.rds_task_status @db_name='database_name'
注: 上記のスクリプトで database_name を実際のデータベース名に置き換えます。
ジョブのステータスを追跡するには、次の SQL ステートメントをガイドとして実行します。
exec msdb..rds_task_status @task_id= 5
注: 上記のステートメントで task_id を実際のタスク ID に置き換えます。
詳細については、「タスクのステータスの追跡」を参照してください。
手動 DB スナップショットの進行状況を確認する
次の手順を実行します。
- Aurora と RDS コンソールを開きます。
- [スナップショット] をクリックします。
- 進行状況を確認するスナップショットを選択し、[進行状況] タブをクリックします。
注: Amazon RDS 自動バックアップの進行状況を Aurora と RDS コンソールまたは AWS コマンドラインインターフェイス (AWS CLI) で確認することはできません。代わりに、AWS サポートにお問い合わせいただく必要があります。