Amazon Simple Storage Service
개발자 안내서 (API 버전 2006-03-01)

Amazon S3 스토리지 클래스

Amazon S3의 각 객체에는 연결된 스토리지 클래스가 있습니다. 예를 들어 S3 버킷의 객체를 나열하면 콘솔은 나열된 모든 객체의 스토리지 클래스를 표시합니다.


        Amazon S3 콘솔의 스토리지 클래스 예를 보여줍니다.

Amazon S3는 저장된 객체에 대해 다양한 스토리지 클래스를 제공합니다. 사용 사례 시나리오 및 성능 액세스 요구 사항에 따라 클래스를 선택합니다. 모든 스토리지 클래스는 내구성이 뛰어납니다.

자주 액세스하는 객체를 위한 스토리지 클래스

성능에 민감한 사용 사례(밀리초 액세스 시간을 필요로 하는 사례)와 자주 액세스되는 데이터를 위해 Amazon S3는 다음과 같은 스토리지 클래스를 제공합니다.

  • STANDARD—기본 스토리지 클래스. 객체를 업로드할 때 스토리지 클래스를 지정하지 않으면 Amazon S3가 STANDARD 스토리지 클래스를 할당합니다.

     

  • REDUCED_REDUNDANCY—Reduced Redundancy Storage(RRS) 스토리지 클래스는 STANDARD 스토리지 클래스보다 더 적은 중복성으로 저장될 수 있는 중요하지 않고 재현 가능한 데이터용으로 설계되었습니다.

    중요

    이 스토리지 클래스는 사용하지 않는 것이 좋습니다. STANDARD 스토리지 클래스는 비용 대비 효과가 더 좋습니다.

    내구성 측면에서 RRS 객체는 객체의 연평균 예측 손실율이 0.01%입니다. RRS 객체가 손실되었는데 그 객체에 대해 요청한 경우 Amazon S3가 405 오류를 반환합니다.

자주 액세스하는 객체와 자주 액세스하지 않는 객체를 자동으로 최적화하는 스토리지 클래스

INTELLIGENT_TIERING 스토리지 클래스는 성능 영향 또는 운영 오버헤드 없이 가장 비용 효율적인 스토리지 액세스 계층으로 데이터를 자동으로 이동하여 스토리지 비용을 최적화하도록 설계되었습니다. INTELLIGENT_TIERING은 액세스 패턴이 바뀔 때 자주 액세스하는 티어와 저렴한 요금의 자주 액세스하지 않는 티어 사이에 세분화된 객체 수준에서 데이터를 이동함으로써 자동 비용 절감 효과를 제공합니다. INTELLIGENT_TIERING 스토리지 클래스는 액세스 패턴을 알 수 없거나 예측할 수 없어 수명이 긴 데이터에 대해 스토리지 비용을 자동으로 최적화하려는 경우 이상적입니다.

INTELLIGENT_TIERING 스토리지 클래스는 두 액세스 티어에 객체를 저장합니다. 하나의 티어는 잦은 액세스에 최적화되어 있으며 비용이 낮은 다른 티어는 자주 액세스하지 않는 데이터에 최적화되어 있습니다. Amazon S3는 소액의 객체별 월 모니터링 및 자동화 요금으로 INTELLIGENT_TIERING 스토리지 클래스에서 객체의 액세스 패턴을 모니터링하고 연속 30일 동안 액세스하지 않은 객체를 빈번하지 않은 액세스 계층으로 이동합니다. INTELLIGENT_TIERING 스토리지 클래스를 사용할 때 검색 요금은 없습니다. 빈번하지 않은 액세스 계층의 객체에 액세스하면 이 객체는 자동으로 빈번한 액세스 계층으로 다시 이동합니다. 객체가 INTELLIGENT_TIERING 스토리지 클래스 내의 액세스 티어 간에 이동될 때는 계층화 요금이 추가로 적용되지 않습니다.

참고

INTELLIGENT_TIERING 스토리지 클래스는 사용자가 30일 이상 저장하려고 하는 128KB 이상의 객체들에 적합합니다. 객체의 크기가 128KB 미만이면 자동 계층화를 사용할 수 없습니다. 작은 객체는 저장할 수 있지만 항상 INTELLIGENT_TIERING 스토리지 클래스의 빈번한 액세스 티어 요금으로 청구됩니다. 최소 스토리지 기간인 30일이 끝나기 전에 객체를 삭제하면 30일 요금이 부과됩니다. 요금 정보는 Amazon S3 요금을 참조하십시오.

자주 액세스하지 않는 객체를 위한 스토리지 클래스

STANDARD_IAONEZONE_IA 스토리지 클래스는 수명이 길고 자주 액세스하지 않는 데이터용으로 설계되었습니다. (IA는 Infrequent Access(빈번하지 않은 액세스)의 약어입니다.) STANDARD_IA 및 ONEZONE_IA 객체는 밀리초 액세스에 사용 가능합니다(STANDARD 스토리지 클래스와 유사함). Amazon S3는 이들 객체에 대해 검색 요금을 부과하므로 이들 객체는 자주 액세스되지 않는 데이터에 가장 적합합니다. 요금 정보는 Amazon S3 요금을 참조하십시오.

예를 들어, 다음의 경우에 STANDARD_IA 및 ONEZONE_IA 스토리지 클래스를 선택할 수 있을 것입니다.

  • 백업을 저장하는 경우.

     

  • 자주 액세스되지는 않지만 그래도 밀리초 액세스가 필요한 오래된 데이터의 경우. 예를 들어, 데이터를 업로드할 때 STANDARD 스토리지 클래스를 선택하고 수명 주기 구성을 통해 Amazon S3가 객체들을 STANDARD_IA 또는 ONEZONE_IA 클래스로 전환하게 할 수 있을 것입니다. 수명 주기 관리에 대한 자세한 내용은 객체 수명 주기 관리를 참조하십시오.

참고

STANDARD_IA 및 ONEZONE_IA 스토리지 클래스는 사용자가 30일 이상 저장하려고 하는 128KB 이상의 객체들에 적합합니다. 객체가 128KB 미만이더라도 Amazon S3는 128KB에 대한 요금을 부과합니다. 최소 스토리지 기간인 30일이 끝나기 전에 객체를 삭제하면 30일 요금이 부과됩니다. 요금 정보는 Amazon S3 요금을 참조하십시오.

이들 스토리지 클래스는 다음과 같은 차이가 있습니다.

  • STANDARD_IA—Amazon S3가 객체 데이터를 지리적으로 분리된 여러 개의 가용 영역에 중복되게 저장합니다(STANDARD 스토리지 클래스와 유사). STANDARD_IA 객체는 가용 영역의 손실에 대한 복원력이 있습니다. 이 스토리지 클래스는 ONEZONE_IA 클래스보다 뛰어난 가용성, 내구성 및 복원성을 제공합니다.

     

  • ONEZONE_IA – Amazon S3가 객체 데이터를 하나의 가용 영역에만 저장하므로 STANDARD_IA보다 더 저렴합니다. 그러나 데이터가 지진이나 홍수와 같은 재해에 의한 가용 영역의 물리적 손실에 대해 복원력이 없습니다. ONEZONE_IA 스토리지 클래스는 STANDARD_IA만큼 내구성이 있지만 가용성과 복원성은 더 낮습니다. 스토리지 클래스의 내구성과 가용성을 비교하려면 이 단원 끝부분의 내구성 및 가용성 표를 참조하십시오. 요금은 Amazon S3 요금 항목을 참조하십시오.

다음과 같이 하는 것이 좋습니다.

  • STANDARD_IA – 기본 데이터나 다시 생성할 수 없는 데이터의 사본에만 사용하십시오.

  • ONEZONE_IA – 가용 영역에 장애가 발생할 경우 그 데이터를 다시 생성할 수 있을 때, 그리고 교차 리전 복제(CRR)를 설정할 때 객체 복제본에 사용하십시오.

객체 아카이빙을 위한 스토리지 클래스

GLACIERDEEP_ARCHIVE 스토리지 클래스는 저비용 데이터 아카이빙용으로 설계되었습니다. 이러한 스토리지 클래스는 STANDARD 스토리지 클래스와 동일한 내구성과 복원성을 제공합니다. 스토리지 클래스의 내구성과 가용성을 비교하려면 이 단원 끝부분의 내구성 및 가용성 표를 참조하십시오.

이들 스토리지 클래스는 다음과 같은 차이가 있습니다.

  • GLACIER—분 단위로 데이터의 일부를 검색해야 하는 아카이브에 사용합니다. GLACIER 스토리지 클래스에 저장된 데이터는 최소 스토리지 기간이 90일이며 신속 검색을 사용하여 최소 1~5분 이내에 액세스할 수 있습니다. 90일 최소 기간 이전에 삭제했거나 덮어썼거나 다른 스토리지 클래스로 이전한 경우, 90일 요금이 부과됩니다. 요금 정보는 Amazon S3 요금을 참조하십시오.

     

  • DEEP_ARCHIVE—거의 액세스할 필요가 없는 데이터를 아카이빙할 때 사용합니다. DEEP_ARCHIVE 스토리지 클래스에 저장된 데이터의 최소 스토리지 기간은 180일이고 기본 검색 시간은 12시간입니다. 180일 최소 기간 이전에 삭제했거나 덮어썼거나 다른 스토리지 클래스로 이전한 경우, 180일 요금이 부과됩니다. 요금 정보는 Amazon S3 요금을 참조하십시오.

    DEEP_ARCHIVE는 AWS에서 가장 저렴한 스토리지 옵션입니다. DEEP_ARCHIVE의 스토리지 비용은 GLACIER 스토리지 클래스를 사용하는 것보다 저렴합니다. 48시간 이내에 데이터를 반환하는 대량 검색을 사용하여 DEEP_ARCHIVE 검색 비용을 절감할 수 있습니다.

아카이브된 객체 복원

객체의 스토리지 클래스 설정 섹션에서 설명한 것처럼 기타 스토리지 클래스와 동일한 방법으로 객체의 스토리지 클래스를 GLACIER 또는 DEEP_ARCHIVE로 설정할 수 있습니다. 그러나 GLACIER 및 DEEP_ARCHIVE 객체는 실시간으로 사용할 수 없습니다. GLACIER 및 DEEP_ARCHIVE 객체에 액세스하려면 먼저 객체를 복원해야 합니다(STANDARD, RRS, STANDARD_IA, ONEZONE_IA 및 INTELLIGENT_TIERING 객체는 언제든지 액세스할 수 있음). 아카이브된 객체 복원에 대한 자세한 내용은 보관된 객체의 복원 항목을 참조하십시오.

중요

GLACIER 또는 DEEP_ARCHIVE 스토리지 클래스를 선택하면 객체가 Amazon S3에 남아 있습니다. 별도의 Amazon S3 Glacier 서비스를 통해 직접 액세스할 수 없습니다.

Amazon S3 Glacier 서비스에 대한 자세한 내용은 Amazon S3 Glacier 개발자 안내서 항목을 참조하십시오.

Amazon S3 스토리지 클래스 비교

다음 표는 스토리지 클래스를 비교합니다.

스토리지 클래스 다음으로 설계됨 내구성(설계상) 가용성(설계상) 가용 영역 최소 스토리지 기간 최소 요금 객체 크기 기타 고려 사항

STANDARD

자주 액세스하는 데이터

99.999999999%

99.99%

>= 3

없음

없음

없음

STANDARD_IA

수명이 길고 자주 액세스하지 않는 데이터

99.999999999%

99.9%

>= 3

30일

128KB

GB당 검색 요금이 적용됩니다.

INTELLIGENT_TIERING

변경 또는 알 수 없는 액세스 패턴으로 수명이 긴 데이터

99.999999999%

99.9%

>= 3

30일

없음

객체당 모니터링 및 자동화 비용이 적용됩니다. 검색 요금이 없습니다.

ONEZONE_IA

수명이 긴 데이터에 자주 액세스하지 않는 중요하지 않은 데이터

99.999999999%

99.5%

1

30일

128KB

GB당 검색 요금이 적용됩니다. 가용 영역의 손실에 대한 복원력이 없습니다.

GLACIER

분에서 시간 단위로 검색 시간을 지원하는 장기간 데이터 보관 99.999999999%

99.99%(객체 복원 후)

>= 3

90일

없음

GB당 검색 요금이 적용됩니다. 이 객체에 액세스하려면 먼저 보관된 객체를 복원해야 합니다. 자세한 내용은 보관된 객체의 복원 단원을 참조하십시오.

DEEP_ARCHIVE

12시간의 기본 검색 시간으로 거의 액세스하지 않는 데이터 아카이빙 99.999999999%

99.99%(객체 복원 후)

>= 3

180일

없음

GB당 검색 요금이 적용됩니다. 이 객체에 액세스하려면 먼저 보관된 객체를 복원해야 합니다. 자세한 내용은 보관된 객체의 복원 단원을 참조하십시오.

RRS(권장되지 않음)

자주 액세스하는 중요하지 않은 데이터

99.99%

99.99%

>= 3

없음

없음

없음

ONEZONE_IA를 제외한 모든 스토리지 클래스는 한 가용 영역에서의 데이터 완전 손실과 다른 가용 영역에서의 부분 손실에 대해 동시 복원력을 갖도록 설계되어 있습니다.

애플리케이션 시나리오의 성능 요구 사항과 더불어, 가격을 고려하십시오. 스토리지 클래스의 요금에 대해서는 Amazon S3 요금을 참조하십시오.

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

Amazon S3 API는 객체의 스토리지 클래스에 대해 다음과 같은 설정(또는 업데이트)을 지원합니다.

  • 새 객체를 생성할 때 그 객체의 스토리지 클래스를 지정할 수 있습니다. 예를 들어, PUT Object, POST Object멀티파트 업로드 시작 API를 사용하여 객체를 생성할 때, x-amz-storage-class 요청 헤더를 추가하여 스토리지 클래스를 지정하십시오. 이 헤더를 추가하지 않으면 Amazon S3는 기본 스토리지 클래스인 STANDARD를 사용합니다.

     

  • 또한 PUT Object - Copy API를 사용하여 객체의 복사본을 만들어 Amazon S3에 이미 저장된 객체의 스토리지 클래스를 다른 스토리지 클래스로 변경할 수도 있습니다. 그러나 GLACIER 또는 DEEP_ARCHIVE 스토리지 클래스에 저장된 객체를 복사하려면 PUT Object - Copy를 사용할 수 없습니다.

    그 객체를 동일한 키 이름으로 동일한 버킷에 복사한 후 다음과 같이 요청 헤더를 지정하십시오.

    • x-amz-metadata-directive 헤더를 COPY로 설정합니다.

    • x-amz-storage-class를 사용하려는 스토리지 클래스로 설정합니다.

    버전 관리를 사용하는 버킷에서는 특정 객체 버전의 스토리지 클래스를 변경할 수 없습니다. 객체를 복사할 때 Amazon S3에서는 여기에 새 버전 ID를 부여합니다.

     

  • 버킷에 수명 주기 구성을 추가하여 Amazon S3가 객체의 스토리지 클래스를 변경하도록 지정할 수 있습니다. 자세한 내용은 객체 수명 주기 관리 단원을 참조하십시오.

     

  • 복제 구성을 설정할 때 복제된 객체의 스토리지 클래스를 다른 스토리지 클래스로 설정할 수 있습니다. 그러나 GLACIER 또는 DEEP_ARCHIVE 스토리지 클래스에 저장된 객체는 복제할 수 없습니다. 자세한 내용은 복제 구성 개요 단원을 참조하십시오.

Amazon S3 콘솔이나 AWS SDK 또는 AWS Command Line Interface(AWS CLI)를 이용해 객체 스토리지 클래스를 생성하고 업데이트할 수 있습니다. 이들 모두는 Amazon S3 API를 사용하여 Amazon S3에 요청을 보냅니다.