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

6분 분량
0

AWS 청구서에 기재된 Amazon Simple Storage Service(Amazon S3) 사용 요금이 예상보다 높아서 이를 줄이고 싶습니다.

간략한 설명

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

Amazon S3 요금을 어디에서 줄일 수 있는지 알아보려면 Amazon S3에 대한 현재 청구 및 사용량을 검토하세요. 그런 다음 비용이 발생하는 방식을 검토하세요.

다음 팁은 Amazon S3 청구 비용을 줄이는 데 도움이 될 수 있습니다.

  • 미완료된 멀티파트 업로드를 정리합니다.
  • 필요 없는 이전 버전의 개체를 삭제합니다.
  • 스토리지 클래스 전환 비용을 검토해 보세요.
  • 데이터 검색 비용을 검토하세요.
  • 버킷에 대한 요청을 추적하세요.
  • 버킷 크기가 변경되었는지 확인하세요.
  • 개별 버킷의 비용을 검토하세요.
  • 사용량이 요금과 어떤 관련이 있는지 알아보세요.

또한 다음과 같은 Amazon S3 기능을 사용하여 결제 문제를 조사할 수 있습니다.

해결 방법

미완료된 멀티파트 업로드 정리

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

AWS Command Line Interface(AWS CLI)를 사용하여 멀티파트 업로드를 종료하면 미완료된 업로드 부분이 삭제됩니다. 하지만 Amazon S3 멀티파트 업로드 API를 사용하는 다른 도구를 사용하는 경우 완료되지 않은 멀티파트 업로드가 업로드된 부분을 남길 수 있습니다.

다음은 미완료된 멀티파트 업로드를 정리할 때 적용할 수 있는 몇 가지 추가 모범 사례입니다.

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

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

버킷에서 버전 관리를 활성화한 경우 각 개체가 여러 버전을 가질 수 있습니다. 각 개체 버전은 스토리지 비용에 영향을 미칩니다.

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

**참고:**버전 관리가 활성화된 버킷에서 개체 버전을 영구히 삭제하려면 개체 버전 ID를 지정해야 합니다. 버전 관리가 활성화된 버킷의 개체에 대해 간단한 삭제 요청을 실행하면 Amazon S3가 개체에 삭제 마커를 추가합니다. 삭제 마커는 개체의 현재 버전이 되고 실제 개체는 이전 버전이 됩니다. 하지만 이렇게 해도 개체와 해당 버전이 지워지지는 않습니다.

다음과 같은 방법을 사용할 수도 있습니다.

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

하나의 스토리지 클래스에서 다른 스토리지 클래스로 개체를 전환할 때 비용이 발생할 수 있습니다.

예를 들어 개체를 S3 Standard에서 S3 Standard-IA 스토리지 클래스로 전환하는 경우, 수명 주기 전환 요청 1,000건당 0.01 USD의 요금이 부과됩니다. 개체를 모든 스토리지 클래스에서 S3 Glacier Flexible Retrieval 스토리지 클래스로 전환하는 경우, 수명 주기 전환 요청 1,000건당 0.03 USD의 요금이 부과됩니다. 자세한 내용 및 요금 세부 정보를 보려면 Amazon S3 요금을 참조하세요.

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

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

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

데이터 검색 비용 검토

다음 스토리지 클래스에 저장된 개체에는 데이터 검색과 관련된 비용이 있습니다.

  • S3 Standard-IA
  • S3 One Zone-IA
  • S3 Glacier Flexible Retrieval
  • S3 Glacier Deep Archive storage classes

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

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

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

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

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

S3 Glacier Flexible Retrieval에 저장한 개체의 경우, 대량 검색에 대한 요금이 부과되지 않습니다.

**팁:**다양한 스토리지 요청 및 데이터 사용량을 모니터링하는 데 도움이 되는 S3 스토리지 렌즈 대시보드를 사용할 수도 있습니다.

버킷에 대한 요청 추적

다음과 같은 방법으로 버킷에 대한 요청을 모니터링할 수 있습니다.

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

버킷 크기 변경 확인

스토리지 비용을 분리하려면 버킷의 현재 크기와 이전 달의 버킷 크기와 비교하세요.

1.    Amazon S3 콘솔을 엽니다.

2.    버킷을 선택한 다음 버킷을 선택합니다.

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

4.    지표를 선택합니다.

또한 AWS CLI를 사용하여 버킷의 스토리지 크기를 검토하거나 Amazon CloudWatch로 스토리지 지표를 모니터링할 수 있습니다. 버킷 크기 변경을 매일, 매주, 매월 모니터링하려면 S3 스토리지 렌즈를 사용하세요.

개별 버킷 비용 검토

어떤 버킷에서 비용이 더 많이 발생하는지 확인하려면 버킷에서 비용 할당 태그를 활성화하세요. 그런 다음 AWS Cost Explorer로 버킷을 검토하세요. 자세한 내용을 보려면 Amazon S3 버킷 비용을 확인하려면 어떻게 해야 하나요?를 참조하세요.

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

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

AWS 과금 정보 및 비용 관리 대시보드에서 Amazon S3 사용 보고서를 다운로드할 수 있습니다. 또는 자세한 스토리지 및 요금 청구 지표를 얻으려면 계정의 모든 버킷에 대한 S3 스토리지 렌즈 대시보드를 만드세요.

AWS 공식
AWS 공식업데이트됨 일 년 전