내용으로 건너뛰기

AWS Backup을 사용하여 S3 복원 작업을 수행하려면 어떻게 해야 합니까?

3분 분량
0

AWS Backup을 사용하여 복구 지점에서 Amazon Simple Storage Service(Amazon S3) 데이터를 복원하려고 합니다.

해결 방법

전제 조건: AWS Identity and Access Management(IAM) 역할에 필요한 권한이 있는지 확인하십시오.

중요:

  • 대상 버킷의 액세스 제어 목록(ACL)을 활성화해야만 Amazon S3 복원 작업이 실패하지 않습니다.
  • 대상 버킷에서 Block Public Access가 활성이면 AWS Backup이 퍼블릭 ACL이 있는 객체를 복원하지 않습니다.
  • 대상 버킷에 이름이나 버전 ID가 동일한 객체가 있는 경우, AWS Backup은 해당 객체를 건너뜁니다.

AWS Backup 콘솔 또는 AWS Command Line Interface(AWS CLI)를 사용하여 S3 데이터를 복원할 수 있습니다.

AWS Backup 콘솔 사용

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"
        }'

관련 정보

AWS Backup에서 Amazon S3의 이전 버전을 복원하려면 어떻게 해야 합니까?

AWS CLI를 통해 Amazon S3 복구 지점 복원

연속 백업 복원

AWS Backup을 사용하여 검색 및 항목 수준 복원 간소화

Amazon S3 복원 고려 사항

AWS 공식업데이트됨 일 년 전