객체의 스토리지 클래스 설정

객체의 스토리지 클래스 설정 (Setting the storage class of an object)

객체를 업로드할 때 객체의 스토리지 클래스를 지정할 수 있어요. 지정하지 않으면 Amazon S3는 일반 용도 버킷의 객체에 기본 Amazon S3 Standard 스토리지 클래스를 사용해요. Amazon S3 콘솔, AWS SDK 또는 AWS Command Line Interface(AWS CLI)를 사용해 이미 Amazon S3 일반 용도 버킷에 저장된 객체의 스토리지 클래스를 다른 스토리지 클래스로 변경할 수도 있어요. 이 모든 방법은 Amazon S3 API 작업을 사용해 Amazon S3에 요청을 보내요.

참고 디렉터리 버킷에 저장된 객체의 스토리지 클래스는 변경할 수 없어요.

버킷에 S3 Lifecycle 구성을 추가해 Amazon S3가 객체의 스토리지 클래스를 자동으로 변경하도록 지시할 수 있어요. 자세한 내용은 객체의 수명주기 관리를 참고하세요.

S3 Replication 구성을 설정할 때 복제된 객체의 스토리지 클래스를 다른 스토리지 클래스로 설정할 수 있어요. 그러나 S3 Glacier Flexible Retrieval 또는 S3 Glacier Deep Archive 스토리지 클래스에 저장된 객체는 복제할 수 없어요. 자세한 내용은 복제 구성 파일 요소를 참고하세요.

프로그래밍 방식으로 스토리지 클래스를 설정할 때 스토리지 클래스의 값을 제공해요. 다음은 스토리지 클래스의 콘솔 이름과 해당 API 값의 목록이에요.

  • Reduced Redundancy Storage – REDUCED_REDUNDANCY
  • S3 Express One Zone – EXPRESS_ONEZONE
  • S3 Glacier Deep Archive – DEEP_ARCHIVE
  • S3 Glacier Flexible Retrieval – GLACIER
  • S3 Glacier Instant Retrieval – GLACIER_IR
  • S3 Intelligent-Tiering – INTELLIGENT_TIERING
  • S3 One Zone-IA – ONEZONE_IA
  • S3 Standard – STANDARD
  • S3 Standard-IA – STANDARD_IA

본문

새 객체에 스토리지 클래스 설정

객체를 업로드할 때 스토리지 클래스를 설정하려면 다음 방법을 사용할 수 있어요.

콘솔에서 새 객체를 업로드할 때 스토리지 클래스를 설정하려면:

  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/s3/ 에서 Amazon S3 콘솔을 열어요.
  2. 왼쪽 탐색 창에서 General purpose buckets를 선택해요.
  3. 버킷 목록에서 폴더나 파일을 업로드할 버킷의 이름을 선택해요.
  4. Upload를 선택해요.
  5. Upload 창에서 Properties를 선택해요.
  6. Storage class 아래에서 업로드할 파일의 스토리지 클래스를 선택해요.
  7. (선택 사항) 업로드할 파일의 추가 속성을 구성해요. 자세한 내용은 객체 업로드를 참고하세요.
  8. Upload 창에서 다음 중 하나를 수행해요.
    • Upload 창으로 파일과 폴더를 끌어다 놓아요.
    • Add file 또는 Add folder를 선택하고, 업로드할 파일이나 폴더를 선택한 다음 Open을 선택해요.
  9. Upload를 선택해요.

PutObject, POST Object, CreateMultipartUpload API 작업을 사용해 객체를 만들 때 객체에 스토리지 클래스를 지정할 수 있으며, x-amz-storage-class 요청 헤더를 추가해요. 이 헤더를 추가하지 않으면 Amazon S3는 기본 S3 Standard(STANDARD) 스토리지 클래스를 사용해요.

이 예시 요청은 PutObject 명령을 사용해 새 객체의 스토리지 클래스를 S3 Intelligent-Tiering으로 설정해요.

PUT /my-image.jpg HTTP/1.1
Host: amzn-s3-demo-bucket1.s3.Region.amazonaws.com
Date: Wed, 12 Oct 2009 17:50:00 GMT
Authorization: authorization ***
Content-Type: image/jpeg
Content-Length: 11434
Expect: 100-continue
x-amz-storage-class: INTELLIGENT_TIERING

이 예시는 put-object 명령을 사용해 my_images.tar.bz2를 GLACIER 스토리지 클래스로 amzn-s3-demo-bucket1에 업로드해요.

aws s3api put-object --bucket amzn-s3-demo-bucket1 --key dir-1/my_images.tar.bz2 --storage-class GLACIER --body my_images.tar.bz2

객체 크기가 5GB를 넘으면 다음 명령을 사용해 스토리지 클래스를 설정해요.

aws s3 cp large_test_file s3://amzn-s3-demo-bucket1 --storage-class GLACIER

기존 객체의 스토리지 클래스 변경

객체를 업로드할 때 스토리지 클래스를 설정하려면 다음 방법을 사용할 수 있어요.

객체 크기가 5GB 미만이면 Amazon S3 콘솔을 사용해 객체의 스토리지 클래스를 변경할 수 있어요. 더 크다면 S3 Lifecycle 구성을 추가해 객체의 스토리지 클래스를 변경할 것을 권장해요.

콘솔에서 객체의 스토리지 클래스를 변경하려면:

  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/s3/ 에서 Amazon S3 콘솔을 열어요.
  2. 왼쪽 탐색 창에서 General purpose buckets를 선택해요.
  3. 버킷 목록에서 변경할 객체가 포함된 버킷의 이름을 선택해요.
  4. 변경할 객체 이름 왼쪽의 확인란을 선택해요.
  5. Actions 메뉴에서 나타나는 옵션 목록의 Edit storage class를 선택해요.
  6. 객체에 사용 가능한 스토리지 클래스 중에서 선택해요.
  7. Additional copy settings 아래에서 Copy source settings, Don't specify settings, Specify settings 중 원하는 것을 선택해요. Copy source settings가 기본 옵션이에요. 원본 설정 속성 없이 객체만 복사하려면 Don't specify settings를 선택해요. 스토리지 클래스, ACL, 객체 태그, 메타데이터, 서버 측 암호화, 추가 체크섬에 대한 설정을 지정하려면 Specify settings를 선택해요.
  8. Save changes를 선택해요. Amazon S3가 변경 사항을 저장해요.

기존 객체의 스토리지 클래스를 변경하려면 다음 방법을 사용해요. 기존 객체의 스토리지 클래스를 변경하려면 CopyObject 작업을 사용해 새 스토리지 클래스로 객체를 같은 위치에 복사해요.

다음 예시 요청은 스토리지 클래스를 S3 Intelligent-Tiering으로 변경해 객체를 자체로 복사해요.

PUT /my-image.jpg HTTP/1.1
Host: amzn-s3-demo-bucket1.s3.Region.amazonaws.com
Date: Wed, 12 Oct 2009 17:50:00 GMT
Authorization: authorization ***
x-amz-copy-source: /amzn-s3-demo-bucket1/my-image.jpg
x-amz-metadata-directive: COPY
x-amz-storage-class: INTELLIGENT_TIERING

이 예시는 cp 명령을 사용해 기존 객체의 스토리지 클래스를 현재 스토리지 클래스에서 DEEP_ARCHIVE 스토리지 클래스로 변경해요.

aws s3 cp object_S3_URI object_S3_URI --storage-class DEEP_ARCHIVE

특정 스토리지 클래스로 액세스 정책 권한 제한

Amazon S3 작업에 액세스 정책 권한을 부여할 때 s3:x-amz-storage-class 조건 키를 사용해 업로드된 객체를 저장할 때 사용할 스토리지 클래스를 제한할 수 있어요. 예를 들어 s3:PutObject 권한을 부여할 때 객체 업로드를 특정 스토리지 클래스로 제한할 수 있어요. 정책 예시는 예시: 객체 업로드를 특정 스토리지 클래스로 제한을 참고하세요.

정책에서 조건 사용과 Amazon S3 조건 키 전체 목록에 대한 자세한 내용은 다음 주제를 참고하세요.

  • Service Authorization Reference의 Amazon S3 작업, 리소스, 조건 키
  • S3 리소스 유형별 S3 API 작업 권한에 대한 자세한 내용은 Amazon S3 API 작업에 필요한 권한 참고

버킷 정책 예시는 조건 키 사용을 참고하세요.

출처: 문서

더 알아보기