スキップしてコンテンツを表示

AWS Backup を使用して S3 復元ジョブを実行する方法を教えてください。

所要時間2分
0

AWS Backup を使用して Amazon Simple Storage Service (Amazon S3) のデータを復旧ポイントから復元したいと考えています。

解決策

前提条件 AWS Identity and Access Management (IAM) ロールに必要なアクセス許可があることを確認してください。

重要:

  • Amazon S3 の復元ジョブが失敗しないように、送信先バケットでアクセスコントロールリスト (ACL) を有効にする必要があります。
  • 送信先バケットで [パブリックアクセスをブロック] がアクティブな場合、AWS Backup はパブリック ACL を使用してオブジェクトを復元しません。
  • 送信先バケットに同じ名前またはバージョン ID のオブジェクトがある場合、AWS Backup はそのオブジェクトをスキップします。

AWS Backup コンソールまたは AWS コマンドラインインターフェイス (AWS CLI) を使用して S3 データを復元できます。

AWS Backup コンソールを使用する場合

「Restore through the AWS Backup console」(AWS Backup コンソールから復元する) のステップを完了します。

AWS CLI を使用する

注: AWS CLI コマンドの実行時にエラーが発生する場合は、「AWS CLI のエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

次の手順を実行します。

  1. list-recovery-points-by-backup-vault コマンドを実行して、バックアップボールトにあるすべての復旧ポイントを一覧表示します。

    aws backup list-recovery-points-by-backup-vault \
        --backup-vault-name Default \
        --output json \
        --query 'RecoveryPoints[].[BackupVaultName,RecoveryPointArn]'

    注: backup-vault-name を実際のバックアップボールトの名前に置き換えてください。

  2. コマンドの出力から、復元する復旧ポイントの RecoveryPointArn を書き留めます。Amazon リソースネーム (ARN) の形式は arn:aws:backup:region:1234567890:recovery-point:example-bucket-f24fe343 です。

  3. 次のメタデータを含む JSON ファイルを作成します。
    DestinationBucketName: 復元の送信先バケット。
    (オブジェクトレベルの復元のみ) ItemsToRestore: 復元する個々のオブジェクトの最大 5 つのパスのリスト。
    NewBucket: 新しいバケットを作成するかどうかを指定するブール値。
    Encrypted: 復元されたデータを暗号化するかどうかを指定するブール値。
    CreationToken: べき等性トークン。
    EncryptionType: 復元されたオブジェクトの暗号化のタイプ。元のオブジェクトと同じ暗号化、Amazon S3 マネージドキーによるサーバー側の暗号化 (SSE-S3)、または AWS Key Management Service (AWS KMS) キーによるサーバー側の暗号化 (SSE-KMS) を指定できます。
    (連続復旧ポイントのみ) RestoreTime: 復元時間は 2021-11-27T03:30:27Z という形式になります。
    (オプション) RestoreLatestVersionUpTo: 1 を指定すると最新のオブジェクトバージョンに復元でき、n を指定すると 1 より大きい正の整数、または n より小さいすべてのバージョンに復元できます。または、all を指定すると、すべてのバージョンを復元できます。
    JSON ファイルの例:

    {
        "DestinationBucketName": "TestBucket",
        "ItemsToRestore": "[\"s3://example-bucket/abc.jpg\",\"s3://example-bucket/abcd.jpeg\",\"s3://example-bucket/bucket.txt\"]",
        "Encrypted": "true",
        "NewBucket": "true",
        "CreationToken": "test",
        "EncryptionType": "SSE_KMS",
        "KMSKey": "arn:aws:kms:us-east-1:1234567890:key/abf95f23-4f2d-4fe9-8177-a311da3179c5"
    }
  4. start-restore-job コマンドを実行します。

    aws backup start-restore-job \
        --recovery-point-arn "arn:aws:backup:us-east-1:1234567890:recovery-point:example-bucket-f24fe343" \
        --iam-role-arn "arn:aws:iam::1234567890:role/service-role/AWSBackupDefaultServiceRole" \
        --metadata file://s3-restore-metadata.json

    注: recovery-point-arn を復旧ポイントの ARN に、iam-role-arn を IAM ロールの ARN に置き換えてください。また、JSON メタデータファイルも含めてください。
    JSON ファイルではなく start-restore-job コマンドにメタデータを直接含める必要がある場合は、次の形式を使用してください。

    aws backup start-restore-job \
        --recovery-point-arn "arn:aws:backup:us-east-1:1234567890:recovery-point:example-bucketf24fe343" \
        --iam-role-arn "arn:aws:iam::1234567890:role/service-role/AWSBackupDefaultServiceRole" \
        --metadata '{
            "DestinationBucketName": "TestBucket",
            "ItemsToRestore": "[\"s3://example-1/abc.jpg\",\"s3://example-2/abcd.jpeg\",\"s3://example-3/bucket.txt\"]",
            "Encrypted": "true",
            "NewBucket": "true",
            "CreationToken": "test",
            "EncryptionType": "SSE_KMS",
            "KMSKey": "arn:aws:kms:us-east-1:1234567890:key/abf95f23-4f2d-4fe9-8177-a311da3179c5"
        }'

関連情報

How can I restore a previous version of an Amazon S3 object in AWS Backup? (AWS Backup で以前のバージョンの Amazon S3 オブジェクトを復元する方法を教えてください。)

Restore Amazon S3 recovery points through AWS CLI (AWS CLI を使用して Amazon S3 復旧ポイントを復元する)

Restoring a continuous backup (継続的バックアップの復元)

Streamline search and item-level recovery with AWS Backup (AWS Backup による検索とアイテムレベルの復旧を効率化する)

Amazon S3 restore considerations (Amazon S3 の復元に関する考慮事項)

AWS公式更新しました 1年前
コメントはありません