프로젝트

웹 프로젝트 - 8. AWS 청구서 분석1 (EC2, CPU 크레딧, EBS 볼륨 스냅샷)

dodo4723 2024. 2. 17. 10:04
728x90
반응형

제 프로젝트는 사용자가 특정 차트를 고르면, 코스피 코스닥 전 종목의 과거(5년) 차트들을 모두 탐색하여 가장 유사한 차트 10개 정도를 골라 사용자에게 보여주는 것이 목표입니다.

 

비슷한 차트 검색기

 

 

비슷한 차트 검색기

전 종목의 최근 10년간 모든 차트를 탐색합니다. 내 종목의 차트는 과연 상승하는 차트일까요?

www.similarchart.com



 

 

정확히 어떤 서비스에서 비용이 발생할까

저는 2023년 10월부터 AWS를 사용하여 제 웹프로젝트를 배포하고 있습니다. 물론 프로젝트가 완성되어 배포한 건 아니고 아직 개발 단계와 테스트 단계입니다.

 

다행인 부분은 제 프로젝트가 생각했던 범위 내의 비용에서 실행이 일단 된다는 점입니다. 하지만 또 모르죠. 실제 완성해서 배포했더니 사용자가 10명만 동시에 사용해도 서버가 정신을 못 차릴지..

 

지금까지는 그냥 개발과 테스트에 필요하니까 그냥 비용을 지불하며 사용했는데, 언젠가 한번쯤 확실하게 어떤 서비스에서 비용이 발생하는지 자세히 분석할 필요가 있다고 생각해 왔습니다. 더 미루지 말고 오늘 분석해 봐야겠습니다.



청구서 심층 분석

 

AWS 청구서는 사용한 서비스에 대한 비용을 자세히 나열하고 있습니다. 2023년 12월에 대한 청구서를 분석해 보겠습니다.

 

먼저, 이번 포스팅에서는 맨 위 항목인 Elastic Compute Cloud에 대해 분석해 보겠습니다.

 

 

 

 


1. Elastic Compute Cloud (EC2)

  • 총비용: $23.43

EC2 인스턴스 사용

  • 인스턴스 유형: Linux/UNIX t3.small
  • 사용 시간: 743시간
  • 비용: $19.32
    • 단가: $0.026/시간

이는 t3.small 인스턴스가 한 달 동안 총 743시간 동안 작동했음을 나타냅니다. t3 인스턴스는 범용 인스턴스로, 다양한 범용 워크로드에 적합합니다.

T3 CPU 크레딧

  • 비용: $3.79
  • vCPU 시간: 75.8 vCPU-시간
    • 단가: $0.05/vCPU-시간

AWS에서 제공하는 T3 인스턴스는 '버스트 가능한 성능'을 제공하는 인스턴스 유형입니다. 이는 T3 인스턴스가 일정 기준의 CPU 성능을 제공하면서 필요에 따라 추가적인 CPU 성능을 일시적으로 사용할 수 있게 함을 의미합니다. 이 기능은 CPU 크레디트를 통해 관리됩니다.

 

잠깐! CPU 크레딧 이란?

CPU 크레딧은 T3 인스턴스의 CPU 사용량을 나타내는 단위입니다. 인스턴스는 CPU 성능을 사용하지 않을 때 CPU 크레딧을 축적하고, 필요할 때 사용합니다.

크레딧 축적

  • T3 인스턴스는 '기본 성능'을 넘어서지 않는 범위에서 CPU를 사용할 때 크레딧을 축적합니다.
  • 기본 성능은 인스턴스 유형에 따라 다르며, 인스턴스의 전체 CPU 성능의 일정 비율로 설정됩니다.
  • CPU 사용이 낮을 때 축적된 크레딧은 나중에 CPU 사용량이 많을 때 사용됩니다.

크레딧 사용

  • 인스턴스가 기본 성능 이상으로 CPU를 사용해야 할 때, 축적된 크레딧을 사용합니다.
  • 이를 통해 CPU 성능을 일시적으로 '버스트'(증가)시킬 수 있습니다.
  • 이러한 버스트는 처리해야 할 작업이 많을 때 성능을 일시적으로 높여 빠른 처리를 가능하게 합니다.

크레딧 소진과 비용

  • 축적된 크레딧을 모두 사용하고 나면, T3 인스턴스는 추가 비용을 지불하고 계속해서 높은 CPU 성능을 사용할 수 있습니다.
  • 이때 발생하는 추가 비용이 'T3 CPU 크레딧' 비용입니다.
  • 이 비용은 새로운 크레딧을 구매하는 것으로, 이 크레딧을 사용하여 계속해서 더 높은 CPU 성능을 유지할 수 있습니다.

비용 통제 방법

  • Unlimited 모드: 기본적으로 T3 인스턴스는 'Unlimited 모드'로 설정되어 있어, 필요한 만큼 크레딧을 추가 비용으로 구매할 수 있습니다. 이 모드를 사용하면 예기치 않은 과금이 발생할 수 있으므로, 예산을 염두에 두고 관리해야 합니다.
  • Standard 모드: 'Unlimited 모드'가 아닌 'Standard 모드'로 설정하면, 인스턴스가 축적한 크레딧만 사용할 수 있습니다. 이 경우, 크레딧이 소진되면 인스턴스의 CPU 성능이 기본 성능으로 제한됩니다.



2. Elastic Block Store (EBS)

  • 총비용: $0.32

스토리지 사용

  • General Purpose (SSD) 스토리지: 20.11 GB-월
  • 무료 티어 내 스냅샷 데이터 스토리지: 1 GB-월
  • 스냅샷 데이터 스토리지: 6.434 GB-월
    • 비용: $0.32 (아시아 태평양 서울 지역)
    • 단가: $0.05/GB-월

EBS는 EC2 인스턴스에 연결된 블록 스토리지 서비스입니다. 스냅샷은 EBS 볼륨의 백업을 위해 사용되며, 일부 비용이 발생했습니다.

 

AWS의 Elastic Block Store(EBS)는 Amazon EC2 인스턴스에 사용되는 블록 레벨 스토리지입니다. EBS 볼륨은 EC2 인스턴스의 하드 드라이브처럼 동작하며, 데이터를 지속적으로 저장하는 데 사용됩니다. 이러한 볼륨은 EC2 인스턴스를 종료하거나 삭제해도 데이터가 유지되도록 설계되었습니다.

잠깐! EBS 볼륨이란?

EBS 볼륨은 네트워크에 연결된 스토리지로, EC2 인스턴스에 마운트하여 사용할 수 있습니다. 볼륨은 단독으로 존재할 수 있으며, 필요에 따라 다른 인스턴스에 연결하거나 분리할 수 있습니다. EBS 볼륨은 다음과 같은 특징을 가지고 있습니다:

  • 지속성: EBS 볼륨에 저장된 데이터는 EC2 인스턴스의 생명주기와 독립적으로 유지됩니다.
  • 신뢰성: EBS 볼륨은 자동으로 복제되어 AWS의 안정적인 인프라에 저장되므로, 하드웨어 장애에 대한 내성을 가집니다.
  • 성능: 다양한 성능 요구 사항을 충족시키기 위해 다양한 EBS 볼륨 유형이 있으며, 일반적인 SSD와 HDD 기반의 옵션이 있습니다.
  • 가용성: EBS 볼륨은 특정 가용 영역(AZ)에 할당되며, 해당 AZ 내의 EC2 인스턴스에 연결됩니다.

EBS 스냅샷

EBS 스냅샷은 EBS 볼륨의 백업을 생성하는 방법입니다. 볼륨의 전체 데이터가 아닌 변경 사항만을 저장하는 '증분 백업'(incremental backup) 방식을 사용합니다. 스냅샷은 다음과 같은 목적으로 사용됩니다:

  • 데이터 백업: 스냅샷을 통해 데이터를 안전하게 백업하여 장애 발생 시 복구할 수 있습니다.
  • 데이터 이전: 스냅샷을 사용하여 다른 리전 또는 가용 영역으로 데이터를 쉽게 이전할 수 있습니다.
  • 새 EBS 볼륨 생성: 스냅샷을 기반으로 새 EBS 볼륨을 생성하여 빠르게 환경을 복제하거나 확장할 수 있습니다.

스냅샷 생성 주기

스냅샷의 생성 주기는 사용자가 결정합니다. AWS에서 자동화된 백업 솔루션을 제공하지만, 사용자는 자신의 요구 사항에 맞게 백업 주기를 설정할 수 있습니다. 일반적으로 다음과 같이 설정할 수 있습니다:

  • 수동 생성: 사용자는 필요할 때마다 수동으로 스냅샷을 생성할 수 있습니다.
  • 자동화된 백업: AWS Backup과 같은 서비스를 사용하여 일정에 따라 자동으로 스냅샷을 생성하도록 설정할 수 있습니다.
  • 서드파티 도구: 다양한 서드파티 도구를 사용하여 스냅샷 생성을 자동화할 수 있습니다.

스냅샷 비용

스냅샷에 대한 비용은 스냅샷이 차지하는 저장 공간에 기반하여 계산됩니다. AWS는 스냅샷의 각 증분 부분에 대해서만 비용을 부과합니다. 첫 번째 스냅샷은 볼륨의 전체 데이터를 복사하므로 비용이 더 크지만, 이후의 스냅샷은 변경된 부분만 저장하기 때문에 비용이 절감됩니다.




너무 길어져서 포스팅을 나눠 작성하겠습니다.

반응형