안녕하세요 베스핀글로벌입니다.


번역본 설명 드리기에 앞서, 많은 질문이 있는 내용 중 하나인 S3 버킷의 크기를 확인 하는 방법에 대해서 소개해 드리고자 합니다.

번역본 내용 보시면 아시겠지만, 클래스들의 용량을 확인하기 추천 드리는 방법은 S3 Storage Lens를 활용 하는 방법입니다.

default-account-dashboard를 통해서 Account 내 존재하는 전체 사이즈와 Object 수량을 확인 하실 수 있습니다.



본 게시글은 AWS Blog의 번역본입니다.

원문 : https://aws.amazon.com/ko/blogs/storage/find-out-the-size-of-your-amazon-s3-buckets/

###

엔터프라이즈 데이터 거버넌스 전략의 중요한 부분 중 하나는 스토리지 메트릭을 모니터링하는 것입니다. 모든 규모의 고객에게 이는 중요하며, 데이터 및 분석 리더들은 조직의 디지털 미래를 계획할 때 비용 최적화된 데이터 관리에 집중합니다. 강력한 데이터 관리 및 모니터링 전략은 전반적인 비용 최적화 전략의 기초를 다지는 데 여러 가지 이점을 제공합니다. 특히, 주요 메트릭에 대한 가시성을 제공하여 조직에 적합한 데이터 관리 방법을 명확히 하는 데 도움을 줄 수 있습니다.


Amazon S3: 확장 가능한 스토리지 서비스

Amazon Simple Storage Service는 업계 최고의 확장성, 데이터 가용성, 보안 및 성능을 제공하는 객체 스토리지 서비스입니다. Amazon S3 버킷은 객체, 즉 파일을 담는 컨테이너입니다. 이는 모든 규모와 산업의 고객이 데이터 레이크, 웹사이트, 클라우드 네이티브 애플리케이션, 백업, 아카이브, 머신러닝 및 분석과 같은 다양한 용도로 데이터를 저장하고 보호하는 데 사용할 수 있음을 의미합니다.


Amazon S3 버킷 스토리지 크기 모니터링 방법

Amazon S3 버킷에 저장할 수 있는 데이터의 총량과 객체 수는 사실상 무제한입니다. AWS는 S3 스토리지 크기 및 기타 주요 사용 메트릭을 모니터링할 수 있는 다양한 도구를 제공합니다. 이번 블로그에서는 단일 Amazon S3 버킷 또는 AWS 계정의 여러 지역에 분산된 모든 S3 버킷의 스토리지 크기를 찾는 여섯 가지 방법을 안내합니다:

  1. Amazon S3 console 사용
  2. S3 Storage Lens 사용
  3. Amazon CloudWatch 사용
  4. Amazon S3 Inventory 사용
  5. AWS Command Line Interface 사용
  6. 커스텀 스크립트 사용 (실시간 S3 버킷 스토리지 크기)

이러한 방법을 통해, 저장된 데이터의 양이라는 기본적인 Key Storage metric 신속하게 모니터링하여 스토리지 관리 작업을 훨씬 더 쉽게 수행할 수 있습니다!


1. Amazon S3 콘솔 사용

단일 S3 버킷의 크기를 확인하려면 S3 콘솔을 사용하여 원하는 버킷을 선택하십시오. '메트릭' 섹션에서 시간 경과에 따른 총 바이트 수를 보여주는 그래프를 확인할 수 있습니다.


2. S3 Storage Lens 사용

S3 Storage Lens는 Amazon S3 스토리지 전반에 걸쳐 스토리지 크기와 29개의 사용 및 활동 메트릭을 단일 창에서 볼 수 있는 도구입니다. S3 Storage Lens를 사용하면 AWS 조직 또는 AWS 계정 수준에서 가시성을 얻을 수 있으며, 지역, 스토리지 클래스, 버킷, 프리픽스별로 드릴다운할 수 있습니다.

Amazon S3 Storage Lens에는 'default-account-dashboard'라는 기본 대시보드가 있습니다. 이 기본 대시보드는 고객에게 무료로 제공되며, 최대 14일 전의 메트릭을 표시합니다. 프리픽스 수준 집계를 포함한 사용 메트릭과 최대 15개월 동안 분석 가능한 활동 메트릭을 포함한 고급 메트릭과 권장 사항을 받으려면 업그레이드할 수 있습니다. 또한, AWS 조직, 특정 지역 또는 계정 내 버킷을 범위로 설정할 수 있는 S3 Storage Lens 사용자 지정 대시보드를 생성할 수도 있습니다.

다음은 AWS 조직의 모든 S3 버킷을 스토리지 크기 기준으로 배열한 S3 Storage Lens 대시보드 스크린샷입니다. 이러한 메트릭을 CSV(콤마로 구분된 값) 또는 Apache Parquet 형식으로 매일 24시간마다 대상 버킷으로 내보낼 수 있습니다. 그런 다음, Amazon Athena 또는 Amazon QuickSight와 같은 선호하는 분석 도구를 사용하여 상세 분석을 수행할 수 있습니다.



3. Amazon CloudWatch 사용

Amazon S3의 Amazon CloudWatch 메트릭은 S3 버킷의 크기를 찾는 데 도움을 줄 수 있습니다. CloudWatch 메트릭 'BucketSizeBytes'는 S3 버킷에 저장된 데이터의 바이트 수입니다. 이 값은 버킷에 저장된 모든 객체와 메타데이터(현재 및 비현재 객체 포함)의 크기를 합산하여 계산됩니다. 또한, 미완성된 멀티파트 업로드의 모든 부분의 크기도 포함됩니다. 이 메트릭은 하루에 한 번 CloudWatch에 보고됩니다. Amazon S3는 다른 여러 스토리지 메트릭도 CloudWatch로 전송하며, 전체 목록은 여기에서 확인할 수 있습니다.


4. Amazon S3 인벤토리 사용

Amazon S3 인벤토리는 Amazon S3가 스토리지를 관리하는 데 제공하는 도구 중 하나입니다. 고객은 S3 버킷에서 객체 및 메타데이터의 평면 파일 목록을 생성하는 인벤토리 구성을 만들 수 있습니다. 이 데이터는 매일 또는 매주 보고되도록 선택할 수 있습니다. 이러한 예약된 보고서에는 버킷의 모든 객체를 포함할 수 있거나 특정 프리픽스에 제한될 수 있습니다. 인벤토리 목록에는 S3 버킷에 있는 객체와 각 객체에 대한 메타데이터가 포함되며, 여기에는 바이트 단위의 객체 크기가 포함됩니다. 인벤토리 목록은 선택한 대상 버킷에 저장할 수 있습니다. S3 버킷 관리 -> 인벤토리 구성 -> 인벤토리 구성 생성을 통해 인벤토리 구성을 생성할 수 있습니다. 그런 다음, Amazon Athena 또는 Amazon QuickSight와 같은 선호하는 분석 도구를 사용하여 상세 분석을 수행할 수 있습니다.


5. AWS Command Line Interface 사용

AWS Command Line Interface(AWS CLI)는 명령줄 셸에서 AWS 서비스를 관리할 수 있는 오픈 소스 도구입니다. Amazon S3는 S3 객체와 상호 작용하고 관리할 수 있는 AWS CLI 도구를 제공합니다. 단일 S3 버킷의 크기를 확인하려면 다음 명령어를 사용할 수 있습니다.

aws s3 ls --summarize --human-readable --recursive s3://<bucket-name>/

다음은 샘플 출력입니다.

2021-10-07 21:32:57 452 Bytes foo/bar/car/petrol
2021-10-07 21:32:57 896 Bytes foo/bar/truck/diesel
2021-10-07 21:32:57 189 Bytes foo/bar/hybrid/battery
2021-10-07 21:32:57 398 Bytes vehicles.txt

Total Objects: 4
Total Size: 2.9 MiB

AWS CLI S3 명령어를 사용하여 Amazon S3 버킷 및 객체를 관리하는 방법에 대한 추가 세부 정보는 여기를 참조하십시오.


6. 커스텀 스크립트 사용(실시간 S3 버킷 스토리지 크기)

AWS 계정의 여러 지역에 분산된 모든 S3 버킷의 실시간 스토리지 크기 보고서를 생성하려면 다음 스크립트를 사용할 수 있습니다.


# Solution overview

여기서 필요한 것은 다음과 같습니다:

  • AWS 계정
  • Amazon S3 리소스에 대한 액세스 권한이 있는 AWS IAM 사용자/역할
  • AWS CLI 버전 2

요약된 절차:

  • AWS 계정의 모든 지역에서 S3 버킷 목록 가져오기
  • 각 버킷에 저장된 데이터의 바이트 수 찾기
  • 쉽게 소비할 수 있도록 CSV 파일로 출력
  • AWS 계정의 모든 S3 버킷의 크기 찾기


AWS 계정의 모든 지역에서 S3 버킷 목록 가져오기

다음 스크립트는 AWS 계정의 여러 지역에 분산된 모든 S3 버킷의 크기를 찾는 데 도움이 됩니다. 스크립트를 실행하려면 AWS CLI를 구성해야 합니다.

#!/usr/bin/bash 

set +x

PROFILE=<your AWS profile>

function calcs3bucketsize() {

    sizeInBytes=`aws --profile ${PROFILE} s3 ls s3://"${1}" --recursive --human-readable --summarize | awk END'{print}'`

    echo ${1},${sizeInBytes} >> allregions-buckets-s3-sizes.csv

    printf "DONE. Size of the bucket ${1}. %s\n " "${sizeInBytes}"  

}

[ -f allregions-buckets-s3-sizes.csv ] && rm -fr allregions-buckets-s3-sizes.csv

buckets=`aws --profile ${PROFILE}  s3 ls | awk '{print $3}'`

i=1

for j in ${buckets}; do

    printf "calculating the size of the bucket[%s]=%s. \n " "${i}" "${j}"   

    i=$((i+1))

    # to expedite the calculation, make the cli commands run parallel in the background

    calcs3bucketsize ${j} &

done

스크립트를 실행하고 출력을 CSV 파일로 리디렉션합니다.

다음은 샘플 CSV 출력입니다.

1_bucket_name
 Total Size: 349.7 MiB
carbucket-data
 Total Size: 524.2 MiB
hybridbucket-trip
 Total Size: 247.8 MiB
truckbucket-data
 Total Size: 845.6 MiB
wholesalecar_revenue
 Total Size: 700.7 MiB
wholesaletruck_revenue
 Total Size: 600.5 MiB
auto_bucket_pilot
 Total Size: 423.9 MiB
corp_mybucket
 Total Size: 320.7 MiB
destinationbucket123
 Total Size: 920.4 MiB
tagpolicy_bucket
 Total Size: 800.3 MiB

결론

이번 아티클에서는 단일 Amazon S3 버킷 또는 AWS 계정의 여러 지역에 분산된 모든 버킷의 스토리지 크기를 확인할 수 있는 여섯 가지 방법을 소개했습니다. 고객은 자신의 용도에 맞는 방법을 선택하여 전반적인 클라우드 스토리지 비용 최적화의 기초를 다질 수 있습니다. Amazon S3는 AWS 관리 콘솔, AWS Command Line Interface(CLI), AWS SDK를 통해 관리할 수 있습니다. 추가적인 도움이나 성공적인 클라우드 스토리지 최적화 전략 개발을 위해 지원이 필요하면 AWS Support 또는 AWS 계정 팀에 문의하십시오.


Tag: Amazon S3 Inventory, Amazon S3 Storage Lens, Amazon Simple Storage Service (Amazon S3), AWS Cloud Storage


베스핀글로벌 연락하기 : https://www.bespinglobal.com/contact/