Amazon S3 콘솔과 Amazon CloudWatch 간에 스토리지 및 크기 지표에 차이가 있는 이유는 무엇인가요?

최종 업데이트 날짜: 2021년 12월 3일

Amazon Simple Storage Service(Amazon S3) 콘솔의 ‘총 크기 계산’ 수치와 Amazon CloudWatch 일일 스토리지 지표 간에 차이가 있습니다. 두 소스 간의 보고된 지표에 불일치가 있는 이유는 무엇인가요?

간략한 설명

CloudWatch 스토리지 지표와 Amazon S3 콘솔의 총 크기 계산 수치 간에 불일치가 있는 경우 다음 사항에 해당하는지 확인합니다.

  • 객체 버전 관리가 활성화되었습니다.
    참고: Amazon S3의 객체 버전 관리 기능은 버킷에 객체의 여러 버전을 유지합니다. 기본적으로 Amazon S3 객체 버전 관리는 버킷에서 비활성화되므로, 이 기능을 명시적으로 활성화해야 합니다.
  • 불완전한 멀티파트 업로드가 존재합니다.
    참고: 불완전한 멀티파트 업로드는 Amazon S3 콘솔에 표시되지 않지만 CloudWatch 지표에서 스토리지의 일부로 계산됩니다.

보고 불일치의 원인을 식별하려면 객체 버전 관리를 활성화했는지 확인하고 버킷에 멀티파트 업로드가 있는지 확인합니다. 이 두 가지 요인으로 인해 CloudWatch의 계산된 버킷 크기의 값이 증가할 수 있습니다. 자세한 내용은 버킷에 대한 Amazon S3 CloudWatch 일일 스토리지 지표 섹션을 참조하세요.

팁: Amazon S3에 불완전한 멀티파트 업로드가 존재하는 경우, 수명 주기 구성 규칙을 생성하는 것이 좋습니다. 이 수명 주기 구성 규칙은 불완전한 부분을 자동으로 정리하여 데이터 스토리지 비용을 낮출 수 있습니다. 수명 주기 규칙은 비동기식으로 작동하므로 작업이 지연될 수 있습니다. 그러나 객체가 삭제 표시되자마자 객체가 아직 제거되지 않았더라도 더 이상 스토리지 요금이 청구되지 않습니다.

또한 Amazon S3 모니터링 지표는 하루에 한 번 기록되므로 가장 최근에 업데이트된 정보가 표시되지 않을 수 있습니다. 한편 CloudWatch는 AWS 리소스와 애플리케이션을 실시간으로 모니터링합니다.

해결 방법

CloudWatch의 일일 스토리지 지표

CloudWatch에서 BucketSizeBytes 지표는 모든 Amazon S3 및 Amazon S3 Glacier 스토리지 유형, 객체 버전, 불완전한 멀티파트 업로드를 캡처합니다. 이 값은 모든 객체 크기, 버킷의 메타데이터(최신 및 최신이 아닌 객체 모두), 불완전한 멀티파트 업로드 크기를 합산하여 계산됩니다. 예를 들어 BucketSizeBytes 지표는 다음과 같은 모든 객체 스토리지 클래스에서 Amazon S3 버킷에 저장되는 데이터의 양(바이트)을 계산합니다.

  • S3 Standard
  • S3 Intelligent-Tiering
  • S3 스탠다드-IA
  • S3 One Zone-IA
  • S3 Reduced Redundancy Storage
  • S3 Glacier Deep Archive
  • S3 Glacier

또한 CloudWatch의 NumberOfObjects 지표에는 모든 스토리지 클래스에 대해 버킷에 저장된 총 객체 수가 포함됩니다. 이 값은 불완전한 멀티파트 업로드의 총 부분 수와 함께 버킷의 모든 객체(최신 및 최신이 아닌 객체 모두)를 계산합니다. NumberOfObjects 지표는 버킷에 있는 모든 객체 버전에 대한 총 객체 수도 계산합니다. 예를 들어, 동일한 객체의 버전이 두 개인 경우 두 버전은 두 개의 개별 객체로 계산됩니다. 자세한 내용은 지표 및 측정기준을 참조하세요.

Amazon S3 콘솔의 ‘총 크기 계산’

Amazon S3 콘솔에서 버킷의 크기를 계산하려는 경우 총 크기 계산 작업을 사용할 수 있습니다. 그러면 Amazon S3가 버킷의 스토리지 크기를 계산합니다. 그러나 멀티파트 업로드와 이전 버전 또는 최신이 아닌 버전은 총 버킷 크기로 계산되지 않습니다. Amazon S3는 버킷에 저장된 각 객체의 현재 또는 최신 버전에 대한 총 객체 수만 계산합니다. 예를 들어 버킷에 두 가지 버전의 객체가 있는 경우, Amazon S3의 스토리지 계산기는 이를 하나의 객체로만 계산합니다. 따라서 Amazon S3 콘솔에서 계산되는 수치는 CloudWatch에서 보고한 수치보다 작습니다.

불완전한 멀티파트 업로드

불완전한 멀티파트 업로드 목록을 검토하려면, list-multipart-uploads 명령을 실행합니다.

aws s3api list-multipart-uploads --bucket <bucket-example>

그런 다음 list-parts 명령과 UploadId 값을 사용하여 멀티파트 업로드의 모든 객체를 나열합니다.

aws s3api list-parts --bucket <bucket-example> --key large_test_file --upload-id <examplevalue>

수명 주기 규칙 생성

멀티파트 업로드를 자동으로 삭제하기 위해 수명 주기 구성 규칙을 생성할 수 있습니다. 다음 단계를 수행합니다.

1.    Amazon S3 콘솔을 엽니다.

2.    관리 탭을 선택합니다.

3.    새 정책 생성(Create new policy)을 선택합니다.

4.    정책의 이름을 추가합니다.

5.    선택(Select) - 만료된 삭제 마커 또는 불완전한 멀티파트 업로드 삭제(Delete expired delete markers or incomplete multipart uploads)를 선택합니다.

6.    (선택 사항) 버킷의 버전이 관리되지 않은 경우 불완전한 멀티파트 업로드 삭제(Delete incomplete multipart uploads)를 선택합니다.

객체 버전 관리

다양한 버전의 객체에 대해 Amazon S3 버킷을 검토하고 감사하려면 Amazon S3 인벤토리 목록을 사용합니다. Amazon S3 인벤토리 목록 파일에는 소스 버킷의 객체 목록과 각 객체의 메타데이터가 포함됩니다. 인벤토리 목록 파일은 버킷 이름, 객체 크기, 스토리지 클래스, 버전 ID와 같은 메타데이터를 캡처합니다.


이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요하세요?