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 버전을 사용하고 있는지 확인하십시오.
다음 단계를 완료하십시오.
-
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을 백업 볼트의 이름으로 바꿉니다.
-
해당 명령의 출력에서, 복원하고자 하는 복구 지점의 RecoveryPointArn을 적어 두십시오. Amazon 리소스 이름(ARN) 형식은 arn:aws:backup:region:1234567890:recovery-point:example-bucket-f24fe343입니다.
-
다음 메타데이터를 포함하는 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"
}
-
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 복원 고려 사항