아카이브된 객체 복원

아카이브된 객체 복원

다음 스토리지 클래스나 계층의 Amazon S3 객체는 아카이브되어 실시간으로 접근할 수 없어요.

  • S3 Glacier Flexible Retrieval 스토리지 클래스
  • S3 Glacier Deep Archive 스토리지 클래스
  • S3 Intelligent-Tiering Archive Access 계층
  • S3 Intelligent-Tiering Deep Archive Access 계층

S3 Glacier Flexible Retrieval이나 S3 Glacier Deep Archive 스토리지 클래스에 저장된 Amazon S3 객체는 즉시 접근할 수 없어요. 이 스토리지 클래스의 객체에 접근하려면 지정한 기간(일수) 동안 객체의 임시 복사본을 S3 버킷에 복원해야 해요. 객체의 영구 복사본이 필요하면 객체를 복원한 다음 Amazon S3 버킷에 복사본을 만들어요. 복원된 객체의 복사는 Amazon S3 콘솔에서 지원되지 않아요. 이런 종류의 복사 작업에는 AWS Command Line Interface(AWS CLI), AWS SDK 또는 REST API를 사용하세요. 복사본을 만들어 스토리지 클래스를 바꾸지 않는 한 객체는 여전히 S3 Glacier Flexible Retrieval이나 S3 Glacier Deep Archive 스토리지 클래스에 저장돼요. 이 스토리지 클래스 사용에 대한 자세한 내용은 "드물게 접근하는 객체를 위한 스토리지 클래스"를 참고하세요.

S3 Intelligent-Tiering Archive Access 계층과 Deep Archive Access 계층의 객체에 접근하려면 복원 요청을 시작하고 객체가 Frequent Access 계층으로 이동할 때까지 기다려야 해요. Archive Access 계층이나 Deep Archive Access 계층에서 객체를 복원하면 객체가 Frequent Access 계층으로 되돌아와요. 이 스토리지 클래스 사용에 대한 자세한 내용은 "변경되거나 알 수 없는 접근 패턴의 데이터를 자동으로 최적화하는 스토리지 클래스"를 참고하세요.

아카이브된 객체에 대한 일반적인 정보는 "아카이브된 객체 작업"을 참고하세요.

참고:

  • S3 Glacier Flexible Retrieval이나 S3 Glacier Deep Archive 스토리지 클래스에서 아카이브된 객체를 복원하면 아카이브된 객체와 임시로 복원한 복사본 둘 다에 대한 비용을 지불해요.
  • S3 Intelligent-Tiering에서 객체를 복원할 때 Standard 또는 Bulk 검색에는 검색 요금이 없어요.
  • 이미 복원된 아카이브된 객체에 대한 후속 복원 요청은 GET 요청으로 청구돼요. 요금에 대한 자세한 내용은 Amazon S3 pricing을 참고하세요.

출처: 문서

본문

아카이브된 객체 복원

Amazon S3 콘솔, Amazon S3 REST API, AWS SDK, AWS Command Line Interface(AWS CLI) 또는 S3 Batch Operations로 아카이브된 객체를 복원할 수 있어요.

Amazon S3 콘솔로 객체 복원

다음 절차에 따라 S3 Glacier Flexible Retrieval이나 S3 Glacier Deep Archive 스토리지 클래스, 또는 S3 Intelligent-Tiering Archive Access나 Deep Archive Access 스토리지 계층에 아카이브된 객체를 복원해요.

  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.
  2. 왼쪽 탐색 창에서 General purpose buckets을 선택합니다.
  3. 버킷 목록에서 복원하려는 객체가 있는 버킷의 이름을 선택합니다.
  4. Objects 목록에서 복원할 객체를 선택하고 Actions를 선택한 다음 Initiate restore를 선택합니다.
  5. S3 Glacier Flexible Retrieval이나 S3 Glacier Deep Archive에서 복원하는 경우 Number of days that the restored copy is available 상자에 아카이브된 데이터를 접근할 수 있게 할 일수를 입력합니다.
  6. Retrieval tier에서 다음 중 하나를 수행합니다.
    • Bulk retrieval 또는 Standard retrieval을 선택한 다음 Initiate restore를 선택합니다.
    • Expedited retrieval(S3 Glacier Flexible Retrieval 또는 S3 Intelligent-Tiering Archive Access에서만 사용 가능)을 선택합니다. S3 Glacier Flexible Retrieval의 객체를 복원하는 경우 Expedited 검색을 위한 프로비저닝된 용량을 구매할지 선택할 수 있습니다. 프로비저닝된 용량을 구매하려면 다음 단계로 진행합니다. 그렇지 않으면 Initiate restore를 선택합니다.

    참고: S3 Intelligent-Tiering Archive Access 및 Deep Archive Access 계층의 객체는 자동으로 Frequent Access 계층으로 복원돼요.

  7. (선택) S3 Glacier Flexible Retrieval의 객체를 복원 중이고 Expedited retrieval을 선택했다면 프로비저닝된 용량을 구매할지 선택할 수 있습니다. 프로비저닝된 용량은 S3 Glacier Flexible Retrieval의 객체에만 사용할 수 있어요. 이미 프로비저닝된 용량이 있다면 Initiate restore를 선택해 프로비저닝된 검색을 시작합니다.
    • 프로비저닝된 용량이 있다면 모든 Expedited 검색이 프로비저닝된 용량으로 처리돼요. 자세한 내용은 "프로비저닝된 용량"을 참고하세요.
    • 프로비저닝된 용량이 없고 구매하고 싶지 않다면 Initiate restore를 선택합니다.
    • 프로비저닝된 용량이 없지만 프로비저닝된 용량 단위(PCU)를 구매하고 싶다면 Purchase PCUs를 선택합니다. Purchase PCUs 대화 상자에서 구매할 PCU 수를 선택하고 구매를 확인한 다음 Purchase PCUs를 선택합니다. Purchase succeeded 메시지가 표시되면 Initiate restore를 선택해 프로비저닝된 검색을 시작합니다.

S3 Glacier Flexible Retrieval 또는 S3 Glacier Deep Archive에서 객체 복원

다음 예시는 restore-object 명령을 사용해 amzn-s3-demo-bucket 버킷의 dir1/example.obj 객체를 25일 동안 복원해요.

aws s3api restore-object --bucket amzn-s3-demo-bucket --key dir1/example.obj --restore-request '{"Days":25,"GlacierJobParameters":{"Tier":"Standard"}}'

예시의 JSON 구문이 Windows 클라이언트에서 오류를 일으키면 복원 요청을 다음 구문으로 바꾸세요.

--restore-request Days=25,GlacierJobParameters={"Tier"="Standard"}

S3 Intelligent-Tiering Archive Access 및 Deep Archive Access에서 객체 복원

다음 예시는 restore-object 명령을 사용해 amzn-s3-demo-bucket 버킷의 dir1/example.obj 객체를 Frequent Access 계층으로 복원해요.

aws s3api restore-object --bucket amzn-s3-demo-bucket --key dir1/example.obj --restore-request '{}'

참고: S3 Glacier Flexible Retrieval과 S3 Glacier Deep Archive 스토리지 클래스와 달리 S3 Intelligent-Tiering 객체의 복원 요청은 Days 값을 받지 않아요.

복원 상태 모니터링

restore-object 요청의 상태를 모니터링하려면 다음 head-object 명령을 사용하세요.

aws s3api head-object --bucket amzn-s3-demo-bucket --key dir1/example.obj

자세한 내용은 AWS CLI Command Reference의 restore-object를 참고하세요.

Amazon S3는 아카이브된 객체의 복원을 시작하는 API 작업을 제공해요. 자세한 내용은 Amazon Simple Storage Service API Reference의 RestoreObject를 참고하세요.

AWS SDK로 S3 Glacier Flexible Retrieval이나 S3 Glacier Deep Archive에서 아카이브된 객체를 복원하는 예시는 Amazon S3 API Reference의 Code examples를 참고하세요.

단일 요청으로 여러 아카이브된 객체를 복원하려면 S3 Batch Operations를 사용할 수 있어요. S3 Batch Operations에 작업할 객체 목록을 제공하면, S3 Batch Operations가 지정된 작업을 수행하기 위해 해당 API 작업을 호출해요. 단일 Batch Operations 작업은 엑사바이트 단위의 데이터를 포함하는 수십억 개의 객체에 대해 지정된 작업을 수행할 수 있어요.

Batch Operations 작업을 만들려면 복원하려는 객체만 포함된 매니페스트가 있어야 해요. S3 Inventory로 매니페스트를 만들거나 필요한 정보가 담긴 CSV 파일을 제공할 수 있어요. 자세한 내용은 "매니페스트 지정"을 참고하세요.

S3 Batch Operations 작업을 만들고 실행하기 전에 Amazon S3가 사용자 대신 S3 Batch Operations를 수행할 수 있도록 권한을 부여해야 해요. 필요한 권한은 "Batch Operations 권한 부여"를 참고하세요.

참고: Batch Operations 작업은 S3 Glacier Flexible Retrieval 및 S3 Glacier Deep Archive 스토리지 클래스 객체 또는 S3 Intelligent-Tiering Archive Access 및 Deep Archive Access 스토리지 계층 객체 중 하나에만 작동할 수 있어요. Batch Operations는 같은 작업에서 두 유형의 아카이브된 객체 모두에는 작동할 수 없어요. 두 유형의 객체를 복원하려면 별도의 Batch Operations 작업을 반드시 만들어야 해요.

Batch Operations로 아카이브 객체를 복원하는 방법에 대한 자세한 내용은 "Batch Operations로 객체 복원"을 참고하세요.

S3 Initiate Restore Object Batch Operations 작업을 만들려면

  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.
  2. 왼쪽 탐색 창에서 Batch Operations을 선택합니다.
  3. Create job을 선택합니다.
  4. AWS Region에서 작업을 만들 리전을 선택합니다.
  5. Manifest format에서 사용할 매니페스트 유형을 선택합니다.
    • S3 inventory report를 선택하면 Amazon S3가 CSV 형식 인벤토리 보고서의 일부로 생성한 manifest.json 객체의 경로를 입력합니다. 최신 버전이 아닌 매니페스트 버전을 사용하려면 manifest.json 객체의 버전 ID를 입력합니다.
    • CSV를 선택하면 CSV 형식 매니페스트 객체의 경로를 입력합니다. 매니페스트 객체는 콘솔에 설명된 형식을 따라야 해요. 최신 버전이 아닌 버전을 사용하려면 선택적으로 매니페스트 객체의 버전 ID를 포함할 수 있습니다.
  6. Next를 선택합니다.
  7. Operation 섹션에서 Restore을 선택합니다.
  8. Restore 섹션의 Restore source에서 Glacier Flexible Retrieval or Glacier Deep Archive 또는 Intelligent-Tiering Archive Access tier or Deep Archive Access tier 중 하나를 선택합니다.
    • Glacier Flexible Retrieval or Glacier Deep Archive를 선택했다면 Number of days that the restored copy is available에 숫자를 입력합니다.
    • Retrieval tier에서 사용할 계층을 선택합니다.
  9. Next를 선택합니다.
  10. Configure additional options 페이지에서 다음 섹션을 작성합니다.
    • Additional options 섹션에서 작업 설명을 제공하고 우선순위 번호를 지정합니다. 숫자가 높을수록 우선순위가 높아요. 자세한 내용은 "작업 우선순위 지정"을 참고하세요.
    • Completion report 섹션에서 Batch Operations가 완료 보고서를 만들지 여부를 선택합니다. 완료 보고서에 대한 자세한 내용은 "완료 보고서"를 참고하세요.
    • Permissions 섹션에서 Amazon S3가 사용자 대신 Batch Operations를 수행하도록 권한을 부여해야 해요. 필요한 권한은 "Batch Operations 권한 부여"를 참고하세요.
    • (선택) Job tags 섹션에서 키-값 쌍으로 태그를 추가합니다. 자세한 내용은 "태그로 작업 접근 제어 및 라벨링"을 참고하세요.
    • 완료되면 Next를 선택합니다.
  11. Review 페이지에서 설정을 확인합니다. 변경이 필요하면 Previous를 선택합니다. 그렇지 않으면 Create job을 선택합니다.

Batch Operations에 대한 자세한 내용은 "Batch Operations로 객체 복원"과 "S3 Batch Operations 작업 생성"을 참고하세요.

복원 상태 및 만료 날짜 확인

Amazon S3 콘솔, Amazon S3 Event Notifications, AWS CLI 또는 Amazon S3 REST API로 복원 요청의 상태나 만료 날짜를 확인할 수 있어요.

참고: S3 Glacier Flexible Retrieval과 S3 Glacier Deep Archive 스토리지 클래스에서 복원된 객체는 지정한 일수 동안만 저장돼요. 다음 절차는 이 복사본의 만료 날짜를 반환해요. S3 Intelligent-Tiering Archive Access 및 Deep Archive Access 스토리지 계층에서 복원된 객체는 만료 날짜가 없고 대신 Frequent Access 계층으로 되돌아가요.

Amazon S3 콘솔에서 객체의 복원 상태와 만료 날짜 확인

  1. https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.
  2. 왼쪽 탐색 창에서 General purpose buckets을 선택합니다.
  3. 버킷 목록에서 복원 중인 객체가 있는 버킷의 이름을 선택합니다.
  4. Objects 목록에서 복원 중인 객체를 선택합니다. 객체의 세부 정보 페이지가 나타납니다.
    • 복원이 끝나지 않았다면 Restoration in progress라는 섹션이 표시됩니다.
    • 복원이 완료됐다면 Restoration complete라는 섹션이 표시됩니다. S3 Glacier Flexible Retrieval이나 S3 Glacier Deep Archive에서 복원 중이라면 이 섹션에 Restoration expiry date도 표시됩니다. Amazon S3는 이 날짜에 아카이브된 객체의 복원된 복사본을 제거해요.

Amazon S3 Event Notifications 기능의 s3:ObjectRestore:Completed 작업으로 객체 복원 완료 알림을 받을 수 있어요. 이벤트 알림 활성화에 대한 자세한 내용은 "Amazon SQS, Amazon SNS, AWS Lambda를 사용한 알림 활성화"를 참고하세요. 다양한 ObjectRestore 이벤트 유형에 대한 자세한 내용은 "SQS, SNS, Lambda에 대해 지원되는 이벤트 유형"을 참고하세요.

AWS CLI로 객체의 복원 상태와 만료 날짜 확인

다음 예시는 head-object 명령을 사용해 amzn-s3-demo-bucket 버킷의 dir1/example.obj 객체에 대한 메타데이터를 조회해요. 복원 중인 객체에 이 명령을 실행하면 Amazon S3는 복원이 진행 중인지 여부와 (해당하는 경우) 만료 날짜를 반환해요.

aws s3api head-object --bucket amzn-s3-demo-bucket --key dir1/example.obj

복원 진행 중일 때의 예상 출력:

{
    "Restore": "ongoing-request=\"true\"",
    "LastModified": "2020-06-16T21:55:22+00:00",
    "ContentLength": 405,
    "ETag": "\"b662d79adeb7c8d787ea7eafb9ef6207\"",
    "VersionId": "wbYaE2vtOV0iIBXrOqGAJt3fP1cHB8Wi",
    "ContentType": "binary/octet-stream",
    "ServerSideEncryption": "AES256",
    "Metadata": {},
    "StorageClass": "GLACIER"
}

복원 완료 후의 예상 출력:

{
    "Restore": "ongoing-request=\"false\", expiry-date=\"Wed, 12 Aug 2020 00:00:00 GMT\"",
    "LastModified": "2020-06-16T21:55:22+00:00",
    "ContentLength": 405,
    "ETag": "\"b662d79adeb7c8d787ea7eafb9ef6207\"",
    "VersionId": "wbYaE2vtOV0iIBXrOqGAJt3fP1cHB8Wi",
    "ContentType": "binary/octet-stream",
    "ServerSideEncryption": "AES256",
    "Metadata": {},
    "StorageClass": "GLACIER"
}

head-object에 대한 자세한 내용은 AWS CLI Command Reference의 head-object를 참고하세요.

Amazon S3는 객체 메타데이터를 검색하는 API 작업을 제공해요. REST API로 아카이브된 객체의 복원 상태와 만료 날짜를 확인하려면 Amazon Simple Storage Service API Reference의 HeadObject를 참고하세요.

진행 중인 복원 속도 업그레이드

복원이 진행되는 동안 복원 속도를 업그레이드할 수 있어요.

진행 중인 복원을 더 빠른 계층으로 업그레이드하려면

  1. https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.
  2. 왼쪽 탐색 창에서 Buckets을 선택합니다.
  3. Buckets 목록에서 복원하려는 객체가 있는 버킷의 이름을 선택합니다.
  4. Objects 목록에서 복원 중인 객체를 선택합니다. 객체의 세부 정보 페이지가 나타납니다. 객체의 세부 정보 페이지에서 Upgrade retrieval tier를 선택합니다. 객체의 복원 상태 확인에 대한 자세한 내용은 "복원 상태 및 만료 날짜 확인"을 참고하세요.
  5. 업그레이드할 계층을 선택한 다음 Initiate restore를 선택합니다.

더 알아보기 (Learn more)