내용으로 건너뛰기

Amazon S3에 대한 예상치 못한 높은 비용을 줄이려면 어떻게 해야 합니까?

6분 분량
0

AWS 청구서의 Amazon Simple Storage Service(Amazon S3) 사용량이 예상보다 높습니다. 비용을 줄이고 싶습니다.

간략한 설명

발생하는 Amazon S3 요금 유형을 확인하려면 Amazon S3에 대한 현재 청구 및 사용량을 검토하십시오. 또한 AWS 사용 보고서를 사용하여 요금이 발생하는 S3 버킷을 확인할 수도 있습니다.

사용 유형에 따라 다음 방법을 사용하면 결제에 대해 이해하는 데 도움이 됩니다.

해결 방법

참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하면 AWS CLI의 오류 해결을 참조하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.

Amazon S3 청구 비용을 줄이려면 다음 작업을 수행하십시오.

불완전 멀티파트 업로드 삭제

멀티파트 업로드를 시작하면 멀티파트 업로드를 완료하거나 종료할 때까지 Amazon S3이 파일의 모든 업로드된 부분을 유지합니다. 멀티파트 업로드를 완료하지 않은 경우 Amazon S3은 업로드된 부분을 계속 저장하며 스토리지 요금이 부과됩니다.

abort-multipart-upload AWS CLI 명령을 실행하여 멀티파트 업로드를 종료하면 명령이 불완전하게 업로드된 부분을 삭제합니다. 하지만 멀티파트 업로드를 종료할 때 다른 도구에서는 불완전하게 업로드된 부분이 계속 유지될 수 있습니다.

불완전 멀티파트 업로드를 삭제하려면 다음 모범 사례를 사용하십시오.

이전 버전의 객체 삭제

중요: Amazon S3은 버킷에서 삭제한 데이터를 복원할 수 없습니다.

버킷에서 S3 버전 관리 기능을 활성화한 경우 각 객체에는 스토리지 비용에 영향을 미치는 여러 버전이 있을 수 있습니다.

객체 버전을 검토하려면 Amazon S3 콘솔을 사용하거나 ListObjectVersions API 호출을 실행하십시오. 그런 다음, 필요하지 않은 객체 버전을 삭제합니다.

버전이 활성화된 버킷에서 객체 버전을 영구 삭제하려면 객체 버전 ID를 지정해야 합니다. 객체에 대한 삭제 요청을 실행하면 Amazon S3이 객체에 삭제 마커를 추가합니다. 삭제 마커는 객체의 현재 버전이 되고 객체는 이전 버전이 됩니다. 하지만 Amazon S3은 객체와 해당 버전을 삭제하지 않습니다.

객체 버전을 관리하려면 다음 작업을 수행하십시오.

스토리지 클래스 변경 비용 검토

하나의 스토리지 클래스에서 다른 스토리지 클래스로 객체를 변경하면 비용이 발생할 수 있습니다.

또한 AWS는 S3 Glacier Flexible Retrieval 및 S3 Glacier Deep Archive에 저장한 각 아카이브된 객체에 대해 40KB의 추가 메타데이터에 대한 요금을 부과합니다. S3 Standard 요금으로 8KB가 청구되고 S3 Glacier Flexible Retrieval 또는 S3 Deep Archive 요금으로 32KB가 청구됩니다.

자세한 내용은 Amazon S3 수명 주기를 사용하여 객체 전환을 참조하십시오.

여러 개의 작은 객체를 몇 개의 큰 객체로 집계하여 오버헤드 비용을 줄이는 것이 좋습니다.

전체 버킷의 객체를 다른 스토리지 클래스로 전환하는 수명 주기 구성 규칙을 설정하면 Amazon S3 요금이 발생합니다. 수명 주기 규칙으로 인해 비용이 증가했는지 확인하려면 PutBucketLifecycleConfiguration 호출에 대한 AWS CloudTrail 이벤트 기록Amazon S3 서버 액세스 로그를 검토하십시오. 또한 S3 수명 주기 작업에 대한 로그를 확인하십시오.

스토리지 비용을 최적화하려면 액세스 요구 사항에 따라 데이터를 자동으로 이동하는 S3 Intelligent-Tiering 스토리지 클래스를 사용하는 것이 좋습니다.

또한 S3 스토리지 클래스 분석을 사용하여 각 스토리지 클래스에 있는 데이터의 양을 확인할 수도 있습니다.

참고: 각 버킷에 대해 S3 스토리지 클래스 분석을 구성해야 합니다.

데이터 검색 비용 검토

다음 스토리지 클래스에 저장하는 객체는 데이터 검색 비용이 발생합니다.

  • S3 Standard-IA
  • S3 One Zone-IA
  • S3 Glacier Flexible Retrieval
  • S3 Glacier Deep Archive 스토리지 클래스

예를 들어 S3 Glacier Flexible Retrieval 스토리지 클래스에서 1,500만 개의 개체를 검색한다고 가정해 보겠습니다. 총 검색 비용은 선택한 대량 검색 옵션에 따라 달라집니다.

다음은 표준 검색에 대한 비용 예시입니다.

  • 검색 요청 비용은 15,000,000 / 1,000 * $0.05 = $750입니다.
  • 검색 비용은 100,000 * $0.01 = $1,000입니다.
  • 총 비용은 $1,750입니다.

다음은 빠른 검색에 대한 비용 예시입니다.

  • 검색 요청 비용은 15,000,000 / 1,000 * $10 = $150,000입니다.
  • 검색 비용은 100,000 * $0.03 = $3,000입니다.
  • 총 비용은 $153,000입니다.

S3 Glacier Flexible Retrieval에 저장한 객체의 대량 검색에 대한 요금은 부과되지 않습니다. 다양한 스토리지 요청 및 데이터 사용량을 모니터링하려면 S3 Storage Lens 대시보드를 사용하십시오.

버킷에 대한 요청 모니터링

다음 방법을 사용하여 버킷에 대한 요청을 모니터링하고 많은 수의 요청으로 인해 발생한 요금을 검토하십시오.

데이터 전송 OUT 요금으로 인한 비용을 줄이려면 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스를 사용하여 버킷에 액세스할 수 있습니다. Amazon EC2 인스턴스는 버킷과 동일한 AWS 리전 내의 Amazon Virtual Private Cloud(Amazon VPC)에 있어야 합니다.

버킷 크기 변경 검토

버킷의 현재 크기와 이전 크기를 비교하려면 다음 단계를 완료하십시오.

  1. Amazon S3 콘솔을 엽니다.
  2. 버킷을 선택한 다음, 해당 버킷을 선택합니다.
  3. 관리 탭을 선택합니다.
  4. 지표를 선택합니다.

또는 다음 ls AWS CLI 명령을 실행합니다.

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

참고: 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

 CloudWatch를 사용하여 스토리지 지표를 모니터링할 수도 있습니다. 버킷 크기 변경을 매일, 매주, 매월 모니터링하려면 S3 Storage Lens를 사용하십시오.

개별 버킷 비용 검토

비용이 더 많이 발생하는 버킷을 확인하려면 버킷에서 비용 할당 태그를 활성화합니다. 그런 다음, AWS Cost Explorer를 사용하여 버킷을 검토합니다. 자세한 내용은 Amazon S3 버킷의 비용을 어떻게 확인할 수 있습니까?를 참조하십시오.

사용량이 요금과 어떤 관련이 있는지 이해하기

사용 보고서는 스토리지 사용량을 바이트 시간 단위로 기록하며, 청구 보고서는 스토리지 사용량을 기가바이트 월(GB 월) 단위로 기록합니다. 스토리지 사용량과 스토리지 요금과의 관계를 이해하려면 바이트 시간 단위를 GB 월 단위로 변환하십시오. 변환 예를 보려면 Amazon S3 FAQ에서 **Amazon S3 사용에 대한 요금은 어떻게 부과되고 청구됩니까?**를 참조하십시오.

AWS Billing and Cost Management 대시보드에서 Amazon S3 사용 보고서를 다운로드할 수 있습니다. 또는 S3 Storage Lens 대시보드를 생성하여 자세한 스토리지 및 청구 지표를 얻을 수 있습니다.

관련 정보

Amazon S3 요금

Amazon Athena를 사용하여 Amazon S3 서버 액세스 로그를 분석하려면 어떻게 해야 합니까?

AWS 공식업데이트됨 7달 전