Amazon Redshift Serverless の復元 - AWS Backup

Amazon Redshift Serverless の復元

AWS Backup コンソールまたは AWS CLI を使用して、データベースやテーブルの手動スナップショットを復元できます。

Redshift Serverless と AWS Backup は、データウェアハウススナップショットの交換可能な復元をサポートしています。つまり、Redshift Serverless バックアップを Amazon Redshift でプロビジョニングされたクラスターに復元したり、プロビジョニングされたバックアップを Redshift Serverless 名前空間に復元したりできます。これは、データベース全体の復元にのみ適用され、単一テーブルの復元には適用されません。

Redshift Serverless の復元機能
復元機能 名前空間 単一テーブル
スナップショットのタイプ 手動 手動
必要な情報
  • ソーススナップショット

  • ターゲット名前空間

  • Workgroup

  • ソーススナップショット

  • ソースデータベース

  • ソーステーブル名

  • ターゲットデータベース

  • 新しいテーブル名

復元ターゲットの影響 既存のデータを上書きする破壊的な復元により、既存の名前空間に復元します 新しいテーブルに復元します
交換可能な復元か?

はい。

  • Redshift Serverless バックアップは、Amazon Redshift でプロビジョニングされたクラスターに復元できます。

  • Amazon Redshift でプロビジョニングされたバックアップは、Redshift Serverless クラスターに復元できます。

サポート外。

設定の詳細については、「Amazon Redshift 管理ガイド」の「スナップショットと復旧ポイント」を参照してください。

復元前の考慮事項

復元ジョブを開始する前に、以下を確認します。

設定

Redshift Serverless スナップショットを復元するときは、すべてのデータベースまたは単一のテーブルを復元するターゲット名前空間を選択します。

スナップショット内のデータベースを Serverless 名前空間に復元すると、破壊的な復元になります。つまり、ターゲット復元名前空間に復元すると、その名前空間に以前に存在していたすべてのデータが上書きされます。

単一のテーブルを復元しても、破壊的な復元にはなりません。テーブルを復元するには、ワークグループ、スナップショット、ソースデータベース、ソーステーブル、ターゲット復元名前空間、および新しいテーブル名を指定します。

許可:

必要なアクセス許可は、ターゲットデータウェアハウス (つまり、データベースまたはテーブルを復元する名前空間またはプロビジョニングされたクラスター) によって決まります。次の表は、使用するアクセス許可、ロール、ポリシーを決定するのに役立ちます。IAM ポリシーの管理の詳細については、「Amazon Redshift での Identity and Access Management」を参照してください。

復元オペレーションに必要なアクセス許可とロール
復元ターゲット 必要なアクセス許可 IAM ロールおよびポリシー
Amazon Redshift プロビジョニングされたクラスター redshift:RestoreFromClusterSnapshot AWSBackupServiceRolePolicyForRestores にはこのアクセス許可が含まれており、aws backup start-restore-job に使用できます。
Redshift Serverless 名前空間 redshift-serverless:RestoreFromSnapshot

このアクセス許可は、aws backup start-restore-job の呼び出しに使用するロールとポリシーに追加する必要があります。

これは破壊的な復元ジョブであるため、復元のサービスロールポリシーは使用できません。

Redshift Serverless の復元手順

AWS Backup コンソールまたは AWS CLI を使用して Redshift Serverless バックアップを復元するには、次の手順に従います。

Console
  1. https://console.aws.amazon.com/backup で AWS Backup コンソールを開きます。

  2. ナビゲーションペインで、[設定] を選択し、復元する Redshift Serverless リソース ID を選択します。

  3. [リソースの詳細] ページで、[復旧ポイント] ペインで復旧ポイント ID を選択し、[復元] を選択します。

  4. [復元オプション] ペインで、データウェアハウス全体を復元するか、単一のテーブルを復元するかを選択します。

  5. [ターゲットデータウェアハウスの設定] ペインで復元先のターゲットを選択します。

    • 完全なデータウェアハウスを復元するには、Amazon Redshift でプロビジョニングされたクラスターまたは Redshift Serverless 名前空間のいずれかを選択します。

    • 単一のテーブル復元の場合は、ソーススナップショット、データベース、スキーマ、テーブル名、ターゲットの詳細を指定します。

  6. ジョブの IAM 復元ロールを選択します。デフォルトのロールを使用していない場合は、選択したロールに iam:PassRole アクセス許可が含まれていることを確認してください。

AWS CLI

aws backup start-restore-job コマンドを使用します。

AWS Backup は Redshift Serverless と連携して復元ジョブを調整します。CLI コマンドには aws backup が付加されますが、Redshift Serverless または Amazon Redshift に関連するメタデータも含まれます。

必須メタデータとオプションメタデータは、データウェアハウス全体を復元するか、単一のテーブルを復元するかによって異なります。

  • 単一テーブルの復元については、「AWS CLI コマンドリファレンス」の「restore-table-from-snapshot」を参照してください。

  • 名前空間の復元については、「AWS CLI コマンドリファレンス」の「restore-from-snapshot」を参照してください。

  • Amazon Redshift でプロビジョニングされたクラスターに復元するには、「AWS CLI コマンドリファレンス」の「restore-from-cluster-snapshot」を参照してください。

start-restore-job で Serverless 名前空間に復元するためのテンプレート:
aws backup start-restore-job \ --recovery-point-arn "arn:aws:backup:region:account:snapshot:name--iam-role-arn "arn:aws:iam:account:role/role-name" \ --metadata \ --resource-type Redshift Serverless \ --region Region \ --endpoint-url URL
start-restore-job で Serverless 名前空間に復元する例:
aws backup start-restore-job \ --recovery-point-arn "arn:aws:redshift-serverless:us-east-1:123456789012:snapshot/a12bc34d-567e-890f-123g-h4ijk56l78m9" \ --iam-role-arn "arn:aws:iam::974288443796:role/Backup-Redshift-Role" \ --metadata 'RestoreType=NAMESPACE_RESTORE,NamespaceIdentifier=redshift-namespace-1-restore' \ --resource-type "RedshiftServerless" \ --region us-west-2

復元ジョブを開始したら、describe-restore-job を使用して進行状況をモニタリングします。