AWS 청구서의 Amazon S3 요금이 이상할 정도로 높습니다. Amazon S3 비용을 낮추려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2021년 5월 21일

AWS 청구서에서 Amazon Simple Storage Service(Amazon S3) 사용 요금이 예상보다 높습니다. Amazon S3 비용을 줄이려면 어떻게 해야 합니까?

간략한 설명

Amazon S3 요금은 스토리지, 요청 및 데이터 검색, 데이터 전송(S3 Transfer Acceleration 사용량 포함) 및 데이터 관리를 기준으로 합니다.

Amazon S3 요금을 어디서 절감할 수 있는지 파악하려면 먼저 Amazon S3의 현재 결제 요금 및 사용량을 이해해야 합니다. 그런 다음 비용이 발생할 수 있는 방식을 이해해야 합니다.

Amazon S3에 요금이 부과되는 방식을 이해한 후에는 다음과 같은 방법으로 결제 비용을 절감할 수 있습니다.

  • 불완전한 멀티파트 업로드를 정리합니다.
  • 필요 없는 객체의 이전 버전을 삭제합니다.
  • 스토리지 클래스 전환 비용을 검토합니다.
  • 데이터 검색 비용을 검토합니다.
  • 버킷에 대한 요청을 추적합니다.
  • 버킷 크기 변경 사항을 확인합니다.
  • 각 버킷의 비용을 검토합니다.
  • 사용량과 요금이 어떤 관계인지 이해합니다.

다음 Amazon S3 기능을 사용하여 결제 문제를 조사할 수도 있습니다.

  • Amazon S3 Storage Lens를 사용하여 Amazon S3 스토리지 전반의 사용량 및 활동을 한눈에 확인할 수 있습니다. S3 Storage Lens는 조직, 계정, 버킷, 객체 또는 접두사 수준에서 분석 정보를 생성합니다. S3 Storage Lens는 이러한 스토리지 지표를 분석하여 스토리지 비용을 최적화하고 데이터 보호를 위한 모범 사례를 적용하는 데 도움이 되는 권장 사항을 제공합니다.
  • Amazon S3 스토리지 클래스 분석을 사용하여 데이터 액세스 패턴을 관찰합니다. S3 스토리지 클래스 분석을 사용하면 액세스 빈도가 낮은 표준 스토리지를 STANDARD_IA(IA(infrequent access, 자주 액세스하지 않는) 스토리지 클래스로 전환할 시기를 결정할 수 있습니다.
    참고: Amazon S3 스토리지 클래스 분석은 버킷별로 구성해야 합니다.

해결 방법

불완전한 멀티파트 업로드 정리

멀티파트 업로드를 시작한 후에 Amazon S3은 멀티파트 업로드를 완료하거나 중단할 때까지 파일의 모든 업로드된 부분을 보관합니다. 멀티파트 업로드가 성공적으로 완료되지 않으면 Amazon S3은 업로드된 부분을 계속 저장합니다. 따라서 업로드된 부분의 스토리지에 대한 요금이 청구됩니다.

AWS 명령줄 인터페이스(AWS CLI)를 사용하여 멀티파트 업로드를 중단할 경우(abort-multipart-upload), 이 작업을 통해 (불완전하게) 업로드된 부분이 삭제됩니다. 하지만 Amazon S3의 멀티파트 업로드 API를 사용하는 다른 도구를 사용할 경우, 불완전한 멀티파트 업로드로 인해 업로드된 부분이 남아 있을 수 있습니다.

다음은 불완전한 멀티파트 업로드를 정리할 때 몇 가지 추가 모범 사례입니다.

또한 Amazon S3 Storage Lens를 활용하여 멀티파트 업로드가 포함된 S3 버킷을 식별할 수 있습니다. S3 Storage Lens를 사용하면 불완전한 멀티파트 업로드에 대해 얼마나 많은 데이터가 있는지 미리 볼 수 있습니다.

필요 없는 객체의 이전 버전 삭제

경고: 객체 또는 객체 버전을 삭제할 때는 주의하세요. Amazon S3는 버킷에서 삭제한 데이터를 복원할 수 없습니다.

버킷에서 버전 관리가 활성화되어 있다면 각 객체에는 여러 버전이 있을 수 있습니다. 각 객체 버전은 스토리지 비용이 상승하는 데 기여합니다.

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

참고: 버전이 활성화된 버킷에서는 객체 버전 ID를 지정하여 객체 버전을 영구적으로 삭제해야 합니다. 버전이 활성화된 버킷에서 객체에 대한 단순 삭제 요청을 실행할 경우, Amazon S3이 객체에 삭제 마커를 추가합니다. 그 삭제 마커가 객체의 최신 버전이 되고, 실제 객체는 이전 버전이 됩니다. 그러나 객체와 그 버전은 실제로 삭제되지 않습니다.

다음을 사용할 수도 있습니다.

스토리지 클래스 전환 비용 검토

일반적으로 다른 스토리지 클래스로 객체를 전환해서 지속적으로 스토리지 비용이 발생하지 않도록 합니다. 그러나 객체를 다른 스토리지 클래스로 전환하는 것과 관련된 비용이 발생할 수 있다는 점을 인지하고 있어야 합니다.

예를 들어 객체가 S3 Standard에서 S3 Standard-IA 스토리지 클래스로 전환될 때 수명 주기 전환 요청 1,000개에 대해 0.01 USD의 요금이 부과됩니다. 모든 스토리지 클래스에서 Amazon Simple Storage Service Glacier 스토리지 클래스로 전환하는 객체의 수명 주기 전환 요청 1,000회당 0.05 USD의 요금이 부과됩니다. 자세한 내용과 요금 정보는 Amazon S3 요금을 참조하세요.

전체 버킷의 객체를 다른 스토리지 클래스로 전환하는 수명 주기 구성 규칙을 설정할 경우, Amazon S3 요금이 상승하게 됩니다. 수명 주기 규칙 때문에 요금 증가가 발생하는지 확인하려면 AWS CloudTrail 이벤트 기록을 검토하세요. 또한 PutBucketLifecycleConfiguration 호출에 대한 Amazon S3 서버 액세스 로그를 검토하여 규칙이 적용된 시기를 식별할 수 있습니다.

또한 S3 스토리지 클래스 분석을 사용하여 여러 스토리지 클래스에서 검색된 데이터의 양을 확인할 수 있습니다.

참고: S3 스토리지 클래스 분석은 버킷별로 구성해야 합니다.

데이터 검색 비용 검토

S3 Standard-IA, S3 One Zone-IA, S3 Glacier 또는 S3 Glacier Deep Archive 스토리지 클래스에 저장된 객체는 데이터 검색과 관련된 비용이 발생합니다.

예를 들어 S3 Glacier 스토리지 클래스에서 1천5백만 개의 객체를 검색하는 경우 검색 옵션에 주의하세요. 총 검색 비용은 선택한 대량 검색 옵션을 기준으로 합니다.

대량 검색:

  • 검색 요청은 15,000,000 / 1,000 * 0.025 USD = 375 USD입니다.
  • 검색은 100,000 * 0.0025 USD = 250 USD입니다.
  • 총 비용은 625 USD입니다.

표준 검색:

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

신속 검색:

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

팁: S3 Storage Lens 대시보드를 사용하여 다양한 스토리지 요청 및 데이터 사용량을 모니터링할 수도 있습니다.

버킷에 대한 요청 추적

다음 중 하나 이상의 방법을 사용하여 버킷에 대한 요청을 모니터링할 수 있습니다.

버킷에 대한 요청을 파악한 후에는 요청에서 비용을 절감하는 조치를 취할 수 있습니다. 예를 들어 버킷 정책 또는 AWS Identity and Access Management(IAM) 정책을 사용하여 버킷에 대한 무단 액세스 또는 공개 액세스를 제한할 수 있습니다. 또는 데이터 전송 비용을 줄이기 위해 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스를 사용하여 버킷에 액세스할 수 있습니다. Amazon EC2 인스턴스는 버킷과 동일한 AWS 리전에 있는 Amazon Virtual Private Cloud(Amazon VPC)에 있어야 합니다.

버킷 크기 변경 사항 확인

스토리지 비용을 분리하려면 버킷의 현재 용량과 이전 월의 버킷 용량을 비교하면 됩니다. Amazon S3 콘솔에서 버킷 스토리지 용량을 검토할 수 있습니다.

1.    Amazon S3 콘솔에서 버킷을 확인할 수 있습니다.

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

3.    지표를 선택합니다.

AWS CLI를 사용하여 버킷의 스토리지 크기를 검토하거나 Amazon CloudWatch를 사용하여 스토리지 지표를 모니터링할 수도 있습니다. 또는 일별, 주별 및 월별로 버킷 크기 변경 사항을 모니터링하기 위해 S3 Storage Lens를 사용할 수도 있습니다.

각 버킷의 비용 검토

어떤 특정 버킷이 더 높은 비용을 초래하는지 식별하려면 버킷에서 비용 할당 태그를 활성화합니다. 그런 다음 AWS Cost Explorer를 사용하여 버킷을 검토합니다. 이 접근 방식에 대한 자세한 내용은 Amazon S3 버킷의 비용을 확인하려면 어떻게 해야 합니까?를 참조하세요.

사용량과 요금이 어떤 관계인지 이해

사용 보고서에서는 바이트/시간 단위로 스토리지 사용량을 기록하고 청구 보고서는 GB/월 단위로 스토리지 사용량을 기록합니다. 스토리지 사용량이 스토리지 요금과 어떤 관계가 있는지 알아보려면 바이트/시간 단위를 GB/월 단위로 변환해야 합니다. 이러한 전환의 예는 Amazon S3에 대한 AWS 결제 및 사용 보고서 이해를 참조하세요.

결제 및 비용 관리 대시보드에서 Amazon S3 사용 보고서를 다운로드할 수 있습니다. 또는 세부 스토리지 및 결제 지표를 얻으려면 계정의 모든 버킷에 대한 S3 Storage Lens 대시보드를 생성합니다.


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


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