AWS EC2에서 'Burst' 기능은 특정 인스턴스 유형에서 CPU 크레딧을 사용하여 일시적으로 추가 성능을 제공하는 기능입니다.
AWS EC2는 유연하고 확장 가능한 클라우드 컴퓨팅 서비스로, 다양한 용도로 사용되는 가상 서버를 제공합니다. 여기서 ‘확장 가능한 클라우드 컴퓨팅 서비스’ 라고 하는것은 EC2의 설정한 성능을 더 필요로 할 때 동적으로 확장할 수 있다는 뜻이다.
AWS EC2에서 성능을 확장하는 방법은 Elasticty(탄력적인), Burst(돌발적인) 방법으로 아래와 같이 확장하는 방법이 있다.
Elasticity는 탄력적으로 EC2의 인스턴스를 수평확장하는 것이며 ‘수’를 조절하거나 ‘동작’을 조절하는 방법이 있다.
Burst는 순간적으로 EC2의 CPU 성능을 수직확장을 하는 것이며 CPU 크레딧(CPU Credit)라는 개념을 사용하여 구현됩니다. CPU 크레딧은 작업 부하가 적을 때 인스턴스가 크레딧을 얻고, 크레딧이 충분한 경우 추가적인 CPU 성능을 제공하는 방식입니다.
Intel Turbo Boost 기능을 알고 있다면 비슷한 기능으로 접근하면 이해가 빠르다.
(오버클럭❌)터보 부스트는 인텔 프로세서에서 사용되는 기술로, 작업 부하에 따라 자동으로 클럭 속도를 증가시켜 성능을 향상시킵니다. 터보 부스트는 인텔 프로세서가 자체적으로 작동하며, 프로세서가 작업 부하에 따라 온도, 전력 소모, 전력 제한 등을 고려하여 클럭 속도를 동적으로 조절합니다. 터보 부스트는 주로 단일 스레드 작업에서 클럭 속도를 높여 성능을 향상시키는 기능입니다. 터보 부스트는 사용자가 직접 설정할 수 있는 것이 아니며, 프로세서의 내부 기능으로 자동으로 작동합니다.
EC2를 사용할때 평균적으로 사용량이 많지 않거나 중간정도일때가 대부분이다. 이것은 사용하는것보다 더 많은 비용을 지불하게 될수 있으므로 범용 인스턴스유형인 T 시리즈(T2, T3, T3a, T4g)의 인스턴스 유형을 사용하면 낭비를 최대한 줄일 수 있다.
Burst를 이해하기 전에 Credit의 개념을 이해해야한다.
CPU credit 1개 = [vCPU 개수] * [CPU 사용률] * [사용시간]
e.g : t3.nano 기준(기본 사용률 : 5%)으로 vCPU 1개당 0% 사용률로 1시간을 유지하면 6credit을 누적할 수 있다.인스턴스 유형별 기본 크레딧 사양
만약 EC2를 중지한다면?
현재 사용 가능한 CPU 크레딧이 유지됩니다. 중지된 인스턴스의 경우 크레딧이 더 이상 소모되지 않으며, 크레딧은 중지된 동안에도 유지됩니다.중지된 인스턴스를 다시 시작하면, 해당 인스턴스의 시작 크레딧이 재충전되며, 크레딧이 다시 사용 가능해집니다. 중지된 동안 크레딧이 누적되거나 소진되지는 않습니다.따라서, EC2 인스턴스를 중지하는 순간에는 현재 사용 가능한 크레딧이 유지되며, 중지된 동안 크레딧은 소모되지 않습니다. 다시 시작하면 크레딧이 재충전되어 사용 가능해집니다.