DB クラスターを指定の時点の状態に復元する - Amazon Aurora

DB クラスターを指定の時点の状態に復元する

DB クラスターを特定の時点に復元し、新しい DB クラスターを作成することができます。

DB クラスターを指定した時点に復元する際には、デフォルトの仮想プライベートクラウド (VPC) セキュリティグループを選択します。または、カスタム VPC セキュリティグループを DB クラスターに適用することも可能です。

復元された DB クラスターは、デフォルトの DB クラスターと DB パラメータグループに自動的に関連付けられます。ただし、カスタムパラメータグループに適用するには、復元中に指定します。

Amazon Aurora は、DB クラスターのログレコードを継続的に Amazon S3 にアップロードします。DB クラスターの復元可能な直近の時間を確認するには、AWS CLI の describe-db-clusters コマンドを使用し、DB クラスターの [LatestRestorableTime] フィールドに返される値を確認します。

バックアップ保持期間の任意の時点に復元できます。DB クラスターの復元可能な最も早い時間を確認するには、AWS CLI describe-db-clusters コマンドを使用して、DB クラスターの [EarliestRestorableTime] フィールドで返される値を確認します。

復元された DB クラスターのバックアップ保持期間は、ソース DB クラスターのバックアップ保持期間と同じです。

注記

このトピックの情報は Amazon Aurora に適用されます。Amazon RDS DB インスタンスの復元については、「DBinstance を指定した時点へ復元する」を参照してください。

Aurora DB クラスターのバックアップと復元の詳細については、「Aurora DB クラスターのバックアップと復元の概要」を参照してください。

Aurora MySQL の場合は、プロビジョニング済み DB クラスターを Aurora Serverless DB クラスターに復元できます。詳細については、「Aurora Serverless v1 DB クラスターの復元」を参照してください。

また、AWS Backup を使用して、Amazon Aurora DB クラスターのバックアップを管理することもできます。DB クラスターが AWS Backup のバックアッププランに関連付けられている場合、そのバックアッププランはポイントインタイムリカバリに使用されます。詳細については、AWS Backup を使用して DB クラスターを指定の時点の状態に復元する を参照してください。

RDS 延長サポートバージョンを使用した Aurora DB クラスターまたはグローバルクラスターの復元については、「Amazon RDS 延長サポートでの Aurora DB クラスターまたはグローバルクラスターの復元」を参照してください。

AWS Management Console、AWS CLI、または RDS API を使用して、DB クラスターを特定の時点に復元できます。

DB クラスターを特定の時点に復元するには
  1. AWS Management Console にサインインし、Amazon RDS コンソール https://console.aws.amazon.com/rds/ を開きます。

  2. ナビゲーションペインで、「自動バックアップ」を選択します。

    [Current Region] (現在のリージョン) タブに自動バックアップが表示されます。

    DB クラスター自動バックアップ
  3. 復元する DB クラスターを選択します。

  4. アクション」 で、「特定時点への復元」 を選択します。

    [特定時点への復元] ウィンドウが表示されます。

  5. Latest restorable time」 を選択してできるだけ最新の時点に復元するか、「カスタム」 を選択して時刻を選択します。

    [Custom] (カスタム) を選択した場合は、クラスターを復元する日時を入力します。

    注記

    時刻は、協定世界時 (UTC) からのオフセットとしてローカルタイムゾーンで表示されます。例えば、UTC-5 は東部スタンダード時/中部夏時間です。

  6. [DB クラスター識別子] として、ターゲットが復元された DB クラスターの名前を入力します。名前は一意である必要があります。

  7. 必要に応じて、DB インスタンスクラスや DB ストレージ設定などの他のオプションを選択します。

    各設定の詳細については、「Aurora DB クラスターの設定」を参照してください。

  8. [Restore to point in time] (特定時点への復元) を選択します。

DB クラスターを指定した時点に復元するには、AWS CLI コマンドrestore-db-cluster-to-point-in-time を使用して、新しい DB クラスターを作成します。

他の設定を指定できます。各設定の詳細については、「Aurora DB クラスターの設定」を参照してください。

このオペレーションでは、リソースのタグ付けがサポートされています。--tags オプションを使用すると、ソース DB クラスターのタグは無視され、指定されたタグが使用されます。それ以外の場合は、ソースクラスターの最新のタグが使用されます。

Linux、macOS、Unix の場合:

aws rds restore-db-cluster-to-point-in-time \ --source-db-cluster-identifier mysourcedbcluster \ --db-cluster-identifier mytargetdbcluster \ --restore-to-time 2017-10-14T23:45:00.000Z

Windows の場合:

aws rds restore-db-cluster-to-point-in-time ^ --source-db-cluster-identifier mysourcedbcluster ^ --db-cluster-identifier mytargetdbcluster ^ --restore-to-time 2017-10-14T23:45:00.000Z
重要

コンソールを使用して DB クラスターを特定の時点に復元する場合、Amazon RDS は自動的に使用する DB クラスターのプライマリインスタンス (ライター) を作成します。AWS CLI を使用して DB クラスターを特定の時点に復元する場合は、使用する DB クラスターのプライマリインスタンスを明示的に作成する必要があります。プライマリインスタンスは、DB クラスターで作成される初期の DB インスタンスです。

DB クラスターのプライマリインスタンスを作成するには、AWS CLI コマンド create-db-instance を使用します。--db-cluster-identifier オプション値として DB クラスターの名前を含めます。

DB クラスターを特定の時間に復元するには、以下のパラメータを指定して Amazon RDS API の RestoreDBClusterToPointInTime オペレーションを呼び出します。

  • SourceDBClusterIdentifier

  • DBClusterIdentifier

  • RestoreToTime

重要

コンソールを使用して DB クラスターを特定の時点に復元する場合、Amazon RDS は自動的に使用する DB クラスターのプライマリインスタンス (ライター) を作成します。RDS API を使用して DB クラスターを特定の時点に復元する場合は、DB クラスターのプライマリインスタンスを明示的に作成する必要があります。プライマリインスタンスは、DB クラスターで作成される初期の DB インスタンスです。

DB クラスターのプライマリインスタンスを作成するには、RDS API の CreateDBInstance オペレーションを呼び出します。DBClusterIdentifier パラメータの値として DB クラスターの名前を含めます。

保持されている自動バックアップから指定した時点に DB クラスターを復元する

バックアップがソースクラスターの保持期間内であれば、ソース DB クラスターを削除した後、保持されている自動バックアップから DB クラスターを復元できます。このプロセスは、自動バックアップから DB クラスターを復元するのと似ています。

注記

Aurora Serverless v1 クラスターの自動バックアップは保持されないため、この手順を使用して Aurora Serverless v1 DB クラスターを復元することはできません。

DB クラスターを特定の時点に復元するには
  1. AWS Management Console にサインインし、Amazon RDS コンソール https://console.aws.amazon.com/rds/ を開きます。

  2. ナビゲーションペインで、「自動バックアップ」を選択します。

  3. [保持] タブを選択します。

    保持されている自動バックアップ
  4. 復元する DB クラスターを選択します。

  5. アクション」 で、「特定時点への復元」 を選択します。

    [特定時点への復元] ウィンドウが表示されます。

  6. Latest restorable time」 を選択してできるだけ最新の時点に復元するか、「カスタム」 を選択して時刻を選択します。

    [Custom] (カスタム) を選択した場合は、クラスターを復元する日時を入力します。

    注記

    時刻は、協定世界時 (UTC) からのオフセットとしてローカルタイムゾーンで表示されます。例えば、UTC-5 は東部スタンダード時/中部夏時間です。

  7. [DB クラスター識別子] として、ターゲットが復元された DB クラスターの名前を入力します。名前は一意である必要があります。

  8. 必要に応じて、DB インスタンスクラスなどの他のオプションを選択します。

    各設定の詳細については、「Aurora DB クラスターの設定」を参照してください。

  9. [Restore to point in time] (特定時点への復元) を選択します。

DB クラスターを指定した時点に復元するには、AWS CLI コマンドrestore-db-cluster-to-point-in-time を使用して、新しい DB クラスターを作成します。

他の設定を指定できます。各設定の詳細については、「Aurora DB クラスターの設定」を参照してください。

このオペレーションでは、リソースのタグ付けがサポートされています。--tags オプションを使用すると、ソース DB クラスターのタグは無視され、指定されたタグが使用されます。それ以外の場合は、ソースクラスターの最新のタグが使用されます。

Linux、macOS、Unix の場合:

aws rds restore-db-cluster-to-point-in-time \ --source-db-cluster-resource-id cluster-123ABCEXAMPLE \ --db-cluster-identifier mytargetdbcluster \ --restore-to-time 2017-10-14T23:45:00.000Z

Windows の場合:

aws rds restore-db-cluster-to-point-in-time ^ --source-db-cluster-resource-id cluster-123ABCEXAMPLE ^ --db-cluster-identifier mytargetdbcluster ^ --restore-to-time 2017-10-14T23:45:00.000Z
重要

コンソールを使用して DB クラスターを特定の時点に復元する場合、Amazon RDS は自動的に使用する DB クラスターのプライマリインスタンス (ライター) を作成します。AWS CLI を使用して DB クラスターを特定の時点に復元する場合は、使用する DB クラスターのプライマリインスタンスを明示的に作成する必要があります。プライマリインスタンスは、DB クラスターで作成される初期の DB インスタンスです。

DB クラスターのプライマリインスタンスを作成するには、AWS CLI コマンド create-db-instance を使用します。--db-cluster-identifier オプション値として DB クラスターの名前を含めます。

DB クラスターを特定の時間に復元するには、以下のパラメータを指定して Amazon RDS API の RestoreDBClusterToPointInTime オペレーションを呼び出します。

  • SourceDbClusterResourceId

  • DBClusterIdentifier

  • RestoreToTime

重要

コンソールを使用して DB クラスターを特定の時点に復元する場合、Amazon RDS は自動的に使用する DB クラスターのプライマリインスタンス (ライター) を作成します。RDS API を使用して DB クラスターを特定の時点に復元する場合は、DB クラスターのプライマリインスタンスを明示的に作成する必要があります。プライマリインスタンスは、DB クラスターで作成される初期の DB インスタンスです。

DB クラスターのプライマリインスタンスを作成するには、RDS API の CreateDBInstance オペレーションを呼び出します。DBClusterIdentifier パラメータの値として DB クラスターの名前を含めます。

AWS Backup を使用して DB クラスターを指定の時点の状態に復元する

AWS Backup を使用して自動バックアップを管理し、指定した時刻に復元できます。そのためには、AWS Backup でバックアッププランを作成し、DB クラスターをリソースとして割り当てます。次に、バックアップルールで PITR の継続的バックアップを有効にします。バックアッププランとバックアップルールについて詳しくは、「AWS Backup デベロッパーガイド」を参照してください。

AWS Backup での継続的バックアップの有効化

バックアップルールで継続的バックアップを有効にします。

PITR の継続的なバックアップを有効にするには
  1. AWS Management Console にサインインして、AWS Backup コンソール (https://console.aws.amazon.com/backup) を開きます。

  2. ナビゲーションペインで、[バックアッププラン] を選択します。

  3. [バックアッププラン名] で、DB クラスターのバックアップに使用するバックアッププランを選択します。

  4. [バックアップルール] セクションで、[バックアップルールの追加] を選択します。

    [バックアップルールを追加] ページが表示されます。

  5. [ポイントインタイムリカバリ (PITR) の継続的バックアップを有効にする] チェックボックスを選択します。

    ポイントインタイムリカバリ (PITR) の継続的バックアップを有効にします。
  6. 必要に応じて他の設定を選択し、[バックアップルールの追加] を選択します。

AWS Backup での継続的なバックアップからの復元

バックアップボールトから指定した時刻に復元します。

AWS Management Console を使用して、DB クラスターを特定の時点に復元旧できます。

AWS Backup で継続的なバックアップから復元するには
  1. AWS Management Console にサインインして、AWS Backup コンソール (https://console.aws.amazon.com/backup) を開きます。

  2. ナビゲーションペインで、[バックアップボールト] を選択します。

  3. たとえば、継続的バックアップを含むバックアップボールト (例: デフォルト) を選択します。

    バックアップボールトの詳細ページが表示されます。

  4. [復旧ポイント] で、自動バックアップの復旧ポイントを選択します。

    バックアップタイプは [連続] で、名前は continuous:cluster-AWS-Backup-job-number です。

  5. [アクション] で、[復旧] を選択します。

    [バックアップを復元] ページが表示されます。

    ポイントインタイムリカバリ (PITR) 用のバックアップページを復元します。
  6. [特定時点への復元] では、[日付と時刻を指定] を選択して、特定の時点に復元します。

  7. DB クラスターの復元に必要な他の設定を選択し、[バックアップの復元] を選択します。

    [ジョブ] ページに、[復元ジョブ] ペインが表示されます。ページ上部のメッセージには、復元ジョブに関する情報が表示されます。

DB クラスターが復元されたら、プライマリ (ライター) DB インスタンスを追加する必要があります。DB クラスターのプライマリインスタンスを作成するには、AWS CLI コマンド create-db-instance を使用します。--db-cluster-identifier パラメータの値として DB クラスターの名前を含めます。

start-restore-job AWS CLI コマンドを使用して、DB クラスターを指定した時刻に復元します。以下のパラメータは必須です。

  • --recovery-point-arn — 復元する元の復旧ポイントの Amazon リソースネーム (ARN)。

  • --resource-typeAurora を使用します。

  • --iam-role-arn — AWS Backup オペレーションを使用する IAM ロールの ARN。

  • --metadata — DB クラスターの復元に使用するメタデータ。以下のパラメータは必須です。

    • DBClusterIdentifier

    • Engine

    • RestoreToTime、または UseLatestRestorableTime

次の例は、DB クラスターを指定した時刻に復元する方法を示しています。

aws backup start-restore-job \ --recovery-point-arn arn:aws:backup:eu-central-1:123456789012:recovery-point:continuous:cluster-itsreallyjustanexample1234567890-487278c2 \ --resource-type Aurora \ --iam-role-arn arn:aws:iam::123456789012:role/service-role/AWSBackupDefaultServiceRole \ --metadata '{"DBClusterIdentifier":"backup-pitr-test","Engine":"aurora-mysql","RestoreToTime":"2023-09-01T17:00:00.000Z"}'

次の例は、DB クラスターを最新の復元可能な時刻に復元する方法を示しています。

aws backup start-restore-job \ --recovery-point-arn arn:aws:backup:eu-central-1:123456789012:recovery-point:continuous:cluster-itsreallyjustanexample1234567890-487278c2 \ --resource-type Aurora \ --iam-role-arn arn:aws:iam::123456789012:role/service-role/AWSBackupDefaultServiceRole \ --metadata '{"DBClusterIdentifier":"backup-pitr-latest","Engine":"aurora-mysql","UseLatestRestorableTime":"true"}'

DB クラスターが復元されたら、プライマリ (ライター) DB インスタンスを追加する必要があります。DB クラスターのプライマリインスタンスを作成するには、AWS CLI コマンド create-db-instance を使用します。--db-cluster-identifier パラメータの値として DB クラスターの名前を含めます。