자동 클래스 기능은 버킷의 객체를 각 객체의 액세스 패턴을 기준으로 적절한 스토리지 클래스로 자동 전환합니다. 이 기능은 스토리지 비용이 줄어들도록 사용량이 적은 스토리지 클래스로 액세스하지 않는 데이터를 이동하고 향후 액세스가 최적화되도록 Standard Storage에 액세스하는 데이터를 이동합니다. 자동 클래스를 사용하면 Cloud Storage 데이터 비용을 간단하게 자동으로 절약할 수 있습니다.
개요
사용 설정하면 자동 클래스가 버킷의 스토리지 클래스를 모든 측면에서 관리합니다.
다른 스토리지 클래스가 요청에 지정되더라도 버킷에 추가된 모든 객체가 Standard Storage에서 시작됩니다.
버킷 자체에는 항상 Standard Storage로 설정된 기본 스토리지 클래스가 있으며 이 속성을 Standard Storage가 아닌 스토리지 클래스로 변경하려는 요청은 실패합니다.
재작성 또는 복사 작업 중에 객체의 스토리지 클래스를 수동으로 변경하려고 하면 전체 작업이 성공합니다. 그러나 스토리지 클래스 변경은 무시되고 객체는 항상 Standard Storage로 설정됩니다.
자동 클래스가 사용 설정된 상태에서 버킷의 소프트 삭제된 객체를 복원하면 Cloud Storage는 소프트 삭제된 객체의 스토리지 클래스에 관계없이 Standard Storage에 새 객체를 만듭니다.
대부분의 객체는 액세스하지 않으면 점진적으로 사용량이 적은 스토리지 클래스로 전환됩니다.
기본적으로 자동 클래스의 터미널 스토리지 클래스는 Nearline Storage입니다. 즉, 객체가 Nearline Storage로 전환되고 액세스될 때가지 스토리지 클래스에 유지됩니다. 선택적으로 터미널 스토리지 클래스가 Archive Storage가 되도록 자동 클래스를 구성할 수 있습니다.
128KiB보다 작은 객체는 사용률이 낮은 스토리지 클래스로 전환되지 않습니다. 대신 Standard Storage에 영구적으로 저장됩니다. 객체가 128KiB보다 작은지 여부를 결정할 때는 객체 메타데이터를 제외한 객체 데이터만 고려됩니다.
소프트 삭제된 객체는 보관 기간이 끝날 때까지 기존 스토리지 클래스를 보존합니다.
객체 데이터를 읽을 때 객체가 아직 Standard Storage에 저장되지 않은 경우 Standard Storage로 전환됩니다.
- 객체의 메타데이터를 읽거나 수정해도 객체가 Standard Storage로 전환되지 않습니다.
가격 책정
Cloud Storage 가격 책정은 자동 클래스가 사용 설정된 버킷에서 동일하게 유지되며 다음 예외가 적용됩니다.
- 가져오기 비용이 청구되지 않습니다.
- 조기 삭제 비용이 청구되지 않습니다.
- 모든 작업에는 Standard Storage 요금이 청구됩니다.
- 자동 클래스가 액세스 수준이 더 낮은 스토리지 클래스로 객체를 전환할 때는 작업 요금이 청구되지 않습니다.
- 자동 클래스가 Nearline Storage에서 Standard Storage로 객체를 전환할 때는 A 클래스 작업 요금이 청구되지 않습니다.
- 자동 클래스가 Coldline Storage 또는 Archive Storage에서 Standard Storage 또는 Nearline Storage로 객체를 전환할 때 이러한 전환마다 A 클래스 작업 요금이 발생합니다.
- 자동 클래스를 사용하는 경우 관리 수수료 및 사용 설정 비용이 적용됩니다. 소프트 삭제된 객체에는 자동 클래스 관리 수수료가 발생하지 않습니다.
기존 버킷 자동 클래스
자동 클래스 구성은 기존 버킷에 대해 사용 설정, 사용 중지 또는 수정할 수 있습니다.
자동 클래스 구성 변경사항이 적용되는 데 최대 하루가 걸릴 수 있으며 Cloud Storage는 이 시간 동안 이전 구성을 기준으로 작업을 계속 수행할 수 있습니다.
기존 버킷에서 자동 클래스를 사용 설정하면 다음이 발생합니다.
버킷의 모든 라이브 및 이전 버전 객체는 Standard Storage로 전환됩니다.
자동 클래스를 사용 설정할 때 이미 Standard Storage에 있는 객체는 Standard Storage로 방금 전환된 것처럼 취급됩니다. 따라서 이러한 객체를 Nearline Storage로 전환할 수 있으려면 추가 30일 동안 이러한 객체에 액세스하지 않아야 합니다.
일회성 자동 클래스 사용 설정 요금이 부과됩니다. 자세한 내용은 자동 클래스 요금을 참조하세요.
기존 버킷에서 자동 클래스를 사용 중지하면 다음과 같은 결과가 발생합니다.
- 각 객체는 자동 클래스가 사용 중지된 시점에 보유한 스토리지 클래스에 저장된 상태로 유지됩니다. 이후에 자동 클래스가 아닌 버킷의 경우와 같이 객체의 스토리지 클래스를 변경할 수 있습니다.
- 자동 클래스 가격 책정 구조는 더 이상 적용되지 않습니다.
- 하루가 경과할 때까지 버킷에서 자동 클래스를 다시 사용 설정할 수 없습니다. 이를 시도하면 작업이 실패합니다.
자동 클래스 구성에서 터미널 스토리지 클래스를 변경하면 다음이 발생합니다.
터미널 스토리지 클래스를 Archive Storage에서 Nearline Storage로 변경하면 변경 시 Archive Storage 및 Coldline Storage에 있는 객체가 Nearline Storage로 전환됩니다.
터미널 스토리지 클래스를 Nearline Storage에서 Archive Storage로 변경하면 변경 시 Nearline Storage에 있는 객체가 방금 Nearline Storage로 전환된 것처럼 취급됩니다. 따라서 이러한 객체를 Coldline Storage로 전환하기 전에 추가 60일 동안 이러한 객체에 액세스하지 않아야 합니다.
자동 클래스를 사용해야 하나요?
자동 클래스를 사용 설정하면 수행해야 하는 데이터 관리 양이 줄어들고 다른 버킷에 적용되는 특정 요금이 없어집니다. 자동 클래스는 다음과 같은 일반적인 액세스 패턴에 사용 설정할 때 유용한 기능입니다.
- 데이터의 액세스 빈도는 다양합니다.
- 데이터의 액세스 패턴을 알 수 없거나 예측할 수 없습니다.
하지만 대부분의 버킷 데이터가 특정 스토리지 클래스 사용 사례에 맞는 경우 자동 클래스를 사용하지 않는 것이 좋습니다. 예를 들어 버킷에 두 가지 사용 사례가 있다고 가정합니다. 즉, 일부 데이터는 매주 액세스되지만 일부 데이터는 액세스 대상이 아닌 백업 데이터입니다. 이 시나리오에서는 각 사용 사례에 어떤 객체가 포함되는지 알고 있으면 자동 클래스를 사용하지 않는 것이 좋습니다.
다른 Google Cloud 서비스가 버킷에서 데이터를 정기적으로 읽는 경우에도 자동 클래스를 사용하지 않는 것이 좋습니다. 예를 들어 민감한 정보 보호를 사용하여 버킷의 콘텐츠를 스캔하는 경우 자동 클래스를 사용하지 않는 것이 좋습니다.
전환 동작
자동 클래스를 사용 설정하면 크기가 최소 128KiB 이상인 객체는 다음과 같이 스토리지 클래스 간에 전환됩니다.
객체의 데이터에 액세스하면 객체가 Standard Storage로 전환됩니다.
30일 동안 액세스되지 않은 객체는 Nearline Storage로 전환됩니다.
버킷이 Nearline Storage를 터미널 스토리지 클래스로 사용하도록 구성된 경우 자동 클래스는 해당 객체가 액세스될 경우에만 Nearline Storage에 저장된 객체의 상태를 변경합니다.
버킷이 Archive Storage를 터미널 스토리지 클래스로 사용하도록 구성된 경우에는 다음과 같이 객체가 계속해서 액세스 수준이 더 낮은 스토리지 클래스로 전환됩니다.
90일 동안 액세스되지 않은 객체는 Coldline Storage로 전환됩니다. 이러한 객체는 Standard Storage에서 최소 30일 이상, Nearline Storage에서 최소 60일 이상 소비되었습니다.
365일 동안 액세스되지 않은 객체는 Archive Storage로 전환됩니다. 이러한 객체는 Standard Storage에서 최소 30일 이상, Nearline Storage에서 최소 60일 이상, Coldline Storage에서 최소 275일 이상 소비되었습니다.
자동 클래스는 객체가 액세스된 경우에만 Archive Storage에 저장된 객체의 상태를 변경합니다.
객체가 스토리지 클래스 간에 전환될 수 있게 되면 Cloud Storage는 전환을 비동기식으로 수행하므로 객체가 전환 가능한 시점과 실제로 전환이 발생하는 시점 사이에 지연이 발생할 수 있습니다.
- 이 기간 동안 자동 클래스 사용 설정으로 인해 Standard Storage로 전환된 경우를 제외하고 객체는 전환 전 스토리지 클래스를 사용하여 계속 청구됩니다.
제한사항
자동 클래스를 사용 설정하고 동시에 객체 수명 주기 관리 구성에서 다음 옵션을 사용하도록 버킷을 설정할 수는 없습니다.
SetStorageClass
작업을 사용하는 규칙matchesStorageClass
조건을 사용하는 규칙
이러한 객체 수명 주기 관리 규칙 중 하나와 함께 버킷에 자동 클래스를 사용 설정하려는 모든 요청은 실패합니다.
객체 구성을 사용하려면 소스 객체와 작성된 객체 모두 같은 스토리지 클래스를 사용해야 하므로 요청을 작성할 때 모든 소스 객체가 Standard Storage로 저장되지 않으면 자동 클래스 버킷의 객체 작성이 실패합니다.
스토리지 클래스 사용량 및 전환 모니터링
Monitoring에서 다음 스토리지 측정항목을 사용하여 스토리지 클래스 전환을 추적할 수 있습니다.
autoclass/transition_operation_count: 자동 클래스를 사용 설정하기 위해 발생한 전환을 제외하고 자동 클래스에서 시작된 스토리지 클래스 전환 수입니다.
autoclass/transitioned_bytes_count: 자동 클래스를 사용 설정하는 동안 전환된 바이트를 제외하고 자동 클래스에서 전환된 총 바이트 수입니다.
원하는 경우 두 측정항목을 전환과 관련된 소스 또는 대상 스토리지 클래스로 그룹화할 수 있습니다.
Monitoring으로 측정항목을 추적하는 방법은 측정항목 탐색기로 차트 만들기를 참조하세요.
또한 Google Cloud 콘솔에 있는 버킷의 구성 탭에서 성능 보기를 클릭하여 자동 클래스 지원 버킷에 대해 시간 경과에 따라 각 스토리지 클래스에 저장된 바이트 수를 모니터링할 수 있습니다.
다음 단계
- 자동 클래스 사용 설정
- 객체 수명 주기 관리 알아보기