復元テスト
AWS Backup が提供する復元テストの機能を使用すると、復元の実行可能性を自動的かつ定期的に評価できるほか、復元ジョブの所要時間をモニタリングすることもできます。
内容
概要
まず、復元テストプランを作成します。復元テストプランには、プランの名前、復元テストの頻度、目標開始時間を指定します。次に、プランに含めるリソースを割り当てます。さらに、特定の復旧ポイントをテストに含めるか、ランダムな復旧ポイントを含めるかを選択します。AWS Backup のバックアップでは、復元ジョブを正常に実行するために必要なメタデータをインテリジェントに推測します。
プランでスケジュールされた時刻になると、AWS Backup はプランに基づいて復元ジョブを開始し、復元が完了するまでの時間をモニタリングします。
復元テストプランの実行が完了したら、その結果を使用して、復元テストのシナリオの正常な完了や復元ジョブの完了時間など、組織またはガバナンス上の要件に準拠しているかどうかを確認できます。
オプションで、復元テストの検証 を使用して復元テスト結果を確認できます。
オプションの検証が完了するか、検証ウィンドウが閉じると、AWS Backup は復元テストに関係するリソースを削除します。リソースはサービス SLA に従って削除されます。
テストプロセスが終了すると、テストの結果と完了時間を確認できます。
復元テストと復元プロセスの比較
復元テストでは、オンデマンド復元と同じ方法で復元ジョブを実行し、オンデマンド復元と同じ復旧ポイント (バックアップ) を使用します。復元テストによって開始された各ジョブについて、StartRestoreJob
の呼び出しが CloudTrail に表示されます (オプトインされている場合)。
ただし、スケジュールされた復元テストとオンデマンドの復元のオペレーションには、いくつかの違いがあります。
復元テスト | 復元 | |
---|---|---|
アカウント |
推奨されるベストプラクティスは、復元テストに使用するアカウントを指定することです。 |
特定のアカウントのリソースを復元できます。 |
AWS Backup Audit Manager |
コントロールを有効にして、復元テストが指定された復元目標を満たしているかどうかを確認できます。 |
|
頻度 |
スケジュール設定されているプランの一環として定期的に実行されます。 |
オンデマンド |
リソース |
テストプランに割り当てることができるリソースタイプには、Aurora、Amazon DocumentDB、Amazon DynamoDB、Amazon EBS、Amazon EC2、Amazon EFS、Amazon FSx (Lustre、ONTAP、OpenZFS、Windows)、Amazon Neptune、Amazon RDS、Amazon S3 があります。 |
すべてのリソースを復元できます。 |
結果 |
復元テストジョブが完了すると、復元されたリソースは復元テストの検証ウィンドウの終了後に削除されます。 |
復元ジョブが完了すると、復元されたバージョンのリソースはそのまま残ります。 |
タグ |
復元時にタグをサポートするリソースタイプでは、テストに際して復元時にタグが適用されます。 |
サポートされているリソースでは、タグは省略可能です。 |
復元テストの管理
復元テストプランは AWS Backup コンソール
AWS CLIaws backup
を付ける必要があります。
データの削除
復元テストが終了すると、AWS Backup はテストに関係するリソースの削除を開始します。この削除は即時には行われません。各リソースには、そのリソースの保存およびライフサイクル方法を決定する基本設定があります。例えば、Amazon S3 バケットが復元テストに含まれている場合、ライフサイクルルールがバケットに追加されます。ルールが実行され、バケットとそのオブジェクトが完全に削除されるまでに数日かかることがありますが、これらのリソースに対して課金されるのは、このライフサイクルルールが開始される日 (デフォルトでは 1 日) までです。削除の速さはリソースタイプによって異なります。
復元テストプランに含まれるリソースには、awsbackup-restore-test
というタグが含まれています。ユーザーがこのタグを削除すると、AWS Backup はテスト期間の終了時にリソースを削除できなくなり、ユーザーが代わりに手動で削除する必要があります。
リソースが想定どおりに削除されなかった理由を確認するには、コンソールで失敗したジョブを検索するか、コマンドラインインターフェイスを使用して API リクエスト DescribeRestoreJob
を呼び出し、削除ステータスメッセージを取得します。
バックアッププラン (非復元テストプラン) は、復元テストによって作成されたリソース (awsbackup-restore-test
タグが付けられたリソース、または awsbackup-restore-test
で始まる名前を持つリソース) を無視します。
コスト管理
復元テストでは復元テスト 1 回ごとにコストがかかります。復元テストプランに含まれるリソースによっては、プランに含まれる復元ジョブにもコストがかかる場合があります。詳細については、「AWS Backup の料金
復元テストプランを初めて設定するときは、機能、プロセス、および関連する平均コストについて理解するために、最小限のリソースタイプと保護対象リソースを含めることをお勧めします。プランの作成後に、リソースタイプや保護対象リソースをさらに追加してプランを更新できます。
復元テストプランの作成
復元テストプランには、プランの作成とリソースの割り当ての 2 つのステップがあります。
コンソールを使用する場合、これらのステップは順番に行われます。最初の部分では、名前、頻度、開始時間を設定します。2 番目の部分では、テストプランにリソースを割り当てます。
AWS CLI と API を使用するときは、最初に create-restore-testing-plan
を使用します。成功のレスポンスを受け取り、プランが作成されたら、プランに含めるリソースタイプごとに create-restore-testing-selection
を使用します。
復元テストプランを作成すると、サービスリンクロールが作成されます。詳細については、「復元テストでロールを使用する」を参照してください。
復旧ポイントの決定
(指定した頻度と開始時間に応じて) テストプランを実行するたびに、選択している保護されたリソースごとに、対象となる 1 つの復旧ポイントが復元テストによって復元されます。いずれのリソースの復旧ポイントも、復旧ポイントの選択基準を満たしていない場合、そのリソースはテストに含まれません。
テスト選択で保護されたリソースの復旧ポイントは、指定された期間の基準を満たし、復元テストプランにボールトが含まれている場合、対象となります。
リソーステストの選択にリソースタイプが含まれ、次のいずれかの条件が満たされている場合、保護されたリソースが選択されます。
-
リソース ARN が、その選択で指定されている。または
-
その選択のタグ条件は、リソースの最新の復旧ポイントのタグと一致する。
復元テストプランの更新
コンソールまたは AWS CLI を使用して、復元テストプランの一部と、プランで指定されたリソースの選択内容を更新できます。
既存の復元テストプランの表示
復元テストジョブの表示
復元テストプランの削除
復元テストの監査
復元テストは AWS Backup Audit Manager に統合されているため、リソースの復元が目標の復元時間内に完了したかどうかを評価できます。
詳細については、「AWS Backup Audit Manager のコントロールと修正」の「リソースが目標に達するまでの復元時間」を参照してください。
復元テストのクォータとパラメータ
-
復元テストプラン 100 個
-
復元テストプランごとに 50 個のタグを追加可能
-
プランあたり 30 件の選択
-
選択ごとに 30 個の保護対象リソース ARN
-
選択ごとに 30 個の保護対象リソース条件 (
StringEquals
とStringNotEquals
の両方に含まれるものを含む) -
選択ごとに 30 のボールト選択項目
-
選択期間の最大日数: 365 日
-
開始期間の時間範囲: 最小: 1 時間、最大: 168 時間 (7 日間)
-
プラン名の最大長: 50 文字
-
選択名の最大長: 50 文字
制限に関する追加情報については、「AWS Backup のクォータ」を参照してください。
復元テスト失敗のトラブルシューティング
復元ステータスが Failed
の復元テストジョブがある場合、次の理由が原因と対応方法の特定に役立つ場合があります。
エラーメッセージは、AWS Backup コンソールのジョブステータス詳細ページか、CLI コマンド list-restore-jobs-by-protected-resource
または list-restore-jobs
を使用して表示できます。
-
エラー:
No default VPC for this user.
GroupName
is only supported for EC2-Classic and default VPC.解決策 1: 復元テストの選択を更新し、パラメータ
SubnetId
を上書きします。AWS Backup コンソールには、このパラメータが「サブネット」として表示されます。解決策 2: デフォルトの VPC を再作成します。
影響を受けるリソースタイプ: Amazon EC2
-
エラー:
No subnets found for the default VPC [vpc]. Please specify a subnet.
解決策 1: 復元テストの選択を更新し、
SubnetId
復元パラメータを上書きします。AWS Backup コンソールには、このパラメータが「サブネット」として表示されます。解決策 2: デフォルトの VPC にデフォルトのサブネットを作成します。
影響を受けるリソースタイプ: Amazon EC2
-
エラー:
No default subnet detected in VPC. Please contact AWS Support to recreate default Subnets.
解決策 1: 復元テストの選択を更新し、
DBSubnetGroupName
復元パラメータを上書きします。AWS Backup コンソールには、このパラメータがサブネットグループとして表示されます。解決策 2: デフォルトの VPC にデフォルトのサブネットを作成します。
影響を受けるリソースタイプ: Amazon Aurora、Amazon DocumentDB、Amazon RDS、Neptune
-
エラー:
IAM Role cannot be assumed by AWS Backup
。解決策: 復元ロールは、AWS Backup によって引き受け可能である必要があります。IAM でロールの信頼ポリシーを更新して
"backup.amazonaws.com"
が引き受けられるようにするか、復元テストの選択を更新して、AWS Backup が引き受けられるロールを使用します。影響を受けるリソースタイプ: すべて
-
エラー:
Access denied to KMS key.
またはThe specified AWS KMS key ARN does not exist, is not enabled or you do not have permissions to access it.
解決策: 以下を検証します。
-
復元ロールは、バックアップの暗号化に使用される AWS KMS キー、および該当する場合は復元されたリソースの暗号化に使用される KMS キーにアクセスできます。
-
上記の KMS キーのリソースポリシーにより、復元ロールがそれらにアクセスできるようになります。
上記の条件がまだ満たされていない場合は、適切なアクセスのために復元ロールとリソースポリシーを設定します。次に、復元テストジョブを再度実行します。
影響を受けるリソースタイプ: すべて
-
-
エラー:
User
またはARN
is not authorized to performaction
onresource
because no identity based policy allows theaction
.Access denied performing
。s3:CreateBucket
onawsbackup-restore-test-xxxxxx
解決策: 復元ロールに適切なアクセス許可がありません。復元ロールの IAM のアクセス許可を更新します。
影響を受けるリソースタイプ: すべて
-
エラー:
User
またはARN
is not authorized to performaction
onresource
because no resource-based policy allows theaction
.User
ARN
is not authorized to performaction
onresource
with an explicit deny in a resource based policy.解決策: 復元ロールに、メッセージで指定されたリソースへの適切なアクセス許可がありません。前述のリソースのリソースポリシーを更新します。
影響を受けるリソースタイプ: すべて