AWS

AWS CPU Credit 과 CPU credit Balance의 차이는 무엇일까?

쑨토리 2023. 10. 11. 17:44

AWS EC2에는 고정 성능 인스턴스(M3, C3 등)와 버스트 성능 인스턴스(T2 등) 두 가지 유형의 인스턴스가 있습니다

고정 성능 인스턴스는 일관된 CPU 성능을 제공하며, 버스트 성능 인스턴스는 정상 워크로드에서 기본 CPU 성능을 제공하지만 워크로드가 증가할 때 CPU 성능을 늘릴 수 있습니다.

CPU 크레딧(Credit)은 인스턴스의 CPU 버스트 양(= 버스트의 성능)을 조절합니다.

CPU Credits는 T2 및 T3 인스턴스 T 패밀리 유형에서 유용한 기능으로, 가변적인 CPU 요구 사항을 가진 워크로드를 관리하거나 예기치 않은 부하에 대비하는 데 사용됩니다. CPU Credits는 인스턴스가 사용 가능한 가상 CPU 리소스를 측정 합니다.

CPU 크레딧을 사용하여 CPU 성능을 버스트하는 동안 CPU 크레딧을 소비할 수 있습니다. 

예를 들어, 인스턴스를 5분 동안 100%의 CPU 성능으로 작동시키면 5(i.e. 5*1.0) CPU 크레딧을 사용합니다. 마찬가지로, 5분 동안 인스턴스를 50% CPU 성능으로 작동시키면 2.5(i.e. 5*0.5) CPU 크레딧을 사용합니다.

CPU 크레딧 잔액은 언제나 계정에 있는 CPU 크레딧의 양을 나타냅니다. 

버스트 성능 인스턴스를 선택했다면, 해당 인스턴스를 생성할 때 초기 CPU 크레딧을 받습니다. 

그리고 매 시간마다 자동으로 일정량의 CPU 크레딧을 얻습니다(충전의 개념이라고 생각하면 좋고, 이 양은 인스턴스 유형에 따라 달라집니다). CPU 성능을 버스트하지 않으면 CPU 크레딧은 계정의 CPU 크레딧 잔액에 추가됩니다. 만약 CPU 크레딧을 모두 소진하면(즉, CPU 크레딧 잔액이 0이 되면) 인스턴스는 기본 성능에서 작동합니다.

 

 

CPU Credit Balance는 현재 크레딧의 양을 나타내며 이 크레딧은 CPU 성능을 조절하는 데 사용됩니다. 

 


아래 정리해 놓은 글을 보면, 보통 쓰이지 않는 용량을 credit으로 모아두었다가 트래픽이 폭증했을때 사용한다고 생각하면 됩니다. 간단히 말하면 성능을 발휘하는 부스터 같은 것이라고 생각하면 이해가 쉽게 되실 겁니다.

평소에는 baseline(기본 성능)으로 유지하다가 과도한 cpu 리소스 요청이 들어올 경우 성능을 발휘하여 요청을 처리하게 된다고 합니다.

 

 


가정해 봅시다, 만약 T2 Micro라는 특정 유형의 EC2 인스턴스를 사용하고 있습니다. 이 인스턴스는 가벼운 워크로드를 처리하는 데 적합한데, CPU Credits를 사용하여 cpu 요청이 증가할 경우에는 유연하게 리소스를 활용합니다.

1. CPU Credit Balance

T2 Micro 인스턴스는 CPU Credits를 누적합니다. 이것은 여러 작업을 수행하는 동안 사용 가능한 CPU 리소스를 나타냅니다. 시작할 때, CPU Credit Balance은 초기 크레딧 양으로 설정됩니다.

CPUCreditBalance – 한 인스턴스에서 발생한 CPU 크레딧 수입니다. CPU에서 버스트가 발생하고 CPU 크레딧이 획득 속도보다 빠르게 소비될 때 크레딧 밸런스가 고갈됩니다.



2. CPU Usage

당신의 인스턴스가 CPU를 사용하면 CPU 크레딧이 소비됩니다. 예를 들어, 인스턴스가 CPU 집약적인 작업을 처리할 때 크레딧이 빠르게 소비됩니다.

CPUCreditUsage – 측정 기간 중에 소비한 CPU 크레딧 수.



3. Surplus Credits

만약 CPU Credit Balance가 양수라면, 인스턴스는 "충분한" 크레딧을 가지고 있어 추가 CPU 리소스를 사용할 수 있습니다. 이것은 일시적인 CPU 부하가 인스턴스의 능력을 향상시킬 수 있는 방법입니다.

CPUSurplusCreditBalance – CPUCreditBalance 값이 0일 때 CPU 사용률을 유지하기 위해 소비되는 잉여 CPU 크레딧 수.



4. Depleting Credits

그러나 CPU Credit Balance가 소진되면 인스턴스는 기본 CPU 성능만 사용할 수 있게 됩니다. 이는 CPU 크레딧이 다시 충전될 때까지 유지됩니다.

5. Credit Replenishment

CPU 크레딧은 시간이 지남에 따라 천천히 충전됩니다. 이것은 인스턴스가 일부 크레딧을 소모한 후에 시스템에서 다시 크레딧을 충전하는 것을 나타냅니다.

 

Credit을 이용해 얻을 수 있는 것은 다음과 같습니다. 

  • CPU 성능 하락: CPU 크레딧이 부족한 경우, 가상 서버의 CPU 성능이 감소합니다. 이는 CPU 크레딧 재고가 소진되어 CPU가 일반적인 기준 속도 미만으로 작동하게 되는 것을 의미합니다. 결과적으로 CPU 집약적인 작업에 대한 응답 시간이 더 오래 걸릴 수 있습니다.
  • 일시적 성능 저하: T 시리즈 인스턴스는 잠깐의 과부하로 인해 CPU 크레딧이 소모될 수 있으므로, 이로 인해 일시적인 성능 저하가 발생할 수 있습니다. 예를 들어, 다른 사용자가 가용한 CPU 크레딧을 소모할 때, 자신의 인스턴스의 성능이 일시적으로 저하될 수 있습니다.
  • 알람 및 경고: AWS에서는 CPU 크레딧이 부족한 경우에 대한 알람 및 경고 기능을 제공합니다. 이를 통해 사용자는 CPU 크레딧이 어떤 상태에 있는지를 모니터링하고, 성능 저하가 발생하거나 예측할 수 있습니다.
  • 성능 예측과 조절: CPU 크레딧이 부족한 경우, 사용자는 인스턴스 유형을 업그레이드하거나 다른 조치를 취하여 CPU 성능을 개선할 수 있습니다. 또한 CPU 크레딧이 충분히 축적되는 시간을 이용하여 필요한 워크로드를 실행할 수 있습니다.

 

 

시간당 지급되는 credit이 쌓여서 최대까지 올라가면 더이상 성능확장이 안일어납니다.

압축 개념 설명

 

CPU Credits

1. 정의

CPU Credits는 Amazon EC2 T2, T3, T4g와 같은 특정 인스턴스 유형(= 버스트 성능 인스턴스)에서 사용되는 가상 CPU 리소스를 측정하는 단위입니다.
2. 사용

인스턴스가 CPU를 사용할 때, CPU Credits가 소비됩니다.

이러한 크레딧을 소비하는 속도는 인스턴스가 현재 CPU 부하에 따라 다릅니다. (사용량에 따라 소진되고 충전됩니다.)
3. 유연성

CPU Credits를 사용함으로써 인스턴스는 일시적으로 CPU 성능을 높일 수 있습니다. 이것은 가벼운 워크로드에서 CPU 성능을 높일 때 유용합니다.

 



CPU Credit Balance


1. 정의

CPU Credit Balance은 현재 인스턴스가 보유하고 있는 CPU 크레딧의 양을 나타내는 메트릭스입니다.
2. 시작 값

인스턴스를 시작할 때, CPU Credit Balance는 초기 크레딧 양으로 설정됩니다.

이 초기 크레딧은 인스턴스 유형에 따라 다를 수 있습니다.
3. 증가 및 감소

인스턴스가 크레딧을 소비하면 CPU Credit Balance은 감소하며, 크레딧을 소비하지 않으면 천천히 증가합니다.
4. 크레딧 부족 시

CPU Credit Balance가 부족하면 인스턴스는 기본 CPU 성능만 사용할 수 있으며 추가 크레딧을 얻을 때까지 이 상태가 유지됩니다.


 


https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-credits-baseline-concepts.html

 

Key concepts and definitions for burstable performance instances - Amazon Elastic Compute Cloud

Key concepts and definitions for burstable performance instances Traditional Amazon EC2 instance types provide fixed CPU resources, while burstable performance instances provide a baseline level of CPU utilization with the ability to burst CPU utilization

docs.aws.amazon.com

https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/burstable-performance-instances-monitoring-cpu-credits.html

 

버스트 가능 성능 인스턴스에 대한 CPU 크레딧 모니터링 - Amazon Elastic Compute Cloud

버스트 가능 성능 인스턴스에 대한 CPU 크레딧 모니터링 EC2는 지표를 Amazon CloudWatch로 전송합니다. CPU 크레딧 지표는 CloudWatch 콘솔의 Amazon EC2 인스턴스별 지표에서 또는 각 인스턴스에 대한 지표

docs.aws.amazon.com

https://stackoverflow.com/questions/28984106/what-is-cpu-credit-balance-in-ec2

 

What is CPU Credit Balance in EC2?

I came across CPU Credit Balance in EC2 monitoring . What is CPU Credit Balance?

stackoverflow.com

 

+ 동기 hy