본문 바로가기

Cloud Providers/AWS

[AWS]EC2 burting

비용절감

대부분의 워크로드는 평균적으로 사용량이 많지 않으며, 지속적으로 높은 CPU 사용량을 요구하지 않는다.

AWS는 이와 같은 경우 컴퓨팅 리소스를 절약하고 더 나아가 사용자에게 비용을 절감할 수 있는 방법으로 bursting이라는 메커니즘을 제공한다.

 

AWS에 따르면,

CPU 사용률이 낮거나 중간 정도인 이러한 워크로드는 CPU 사이클의 낭비를 초래하고 결과적으로 사용한 것보다 더 많은 비용을 지불하게 됩니다. 이를 극복하기 위해 저비용 버스트 가능 범용 인스턴스인 T 인스턴스를 활용할 수 있습니다.

EC2 인스턴스는 CPU, 메모리, 스토리지 등 세부적인 조건에 따라 다양한 유형이 있다. 그중 T 인스턴스 패밀리가 bursting을 지원하고 t3가 t2보다 더욱 최신 기술로 bursting을 잘 지원해준다.

크레딧

T 인스턴스 패밀리로 EC2를 실행하여 서버를 돌린다고 하자. CPU 사용량이 평균 사용량보다 낮으면 크레딧을 얻고, CPU가 정해진 성능보다 더 필요할 경우 얻은 크레딧을 사용하여 CPU를 bursting 하여 요청을 빠르게 처리한다.

 

획득한 크레딧만 사용하여 bursting 하려면 스탠다드 모드를 사용하고, 획득한 크레딧에 제한 없이 bursting 하려면 무제한 모드를 사용하면 된다. 물론 무제한 모드는 획득한 크레딧을 모두 사용했다면 그에 따른 추가 요금이 발생한다.

 

크레딧은 유효기간없이 영구적으로 저장되지만, 무한정 인스턴스에 크레딧이 저장되진않고 일정 수준 한계가 있어, 그것을 넘으면 자동으로 삭제된다.

 

구체적인 크레딧 적립 방법과 기준 사용량을 정하는 방법은 공식문서에 나와있다.

t2.micro를 사용한다고 했을때 대부분의 CPU 사용량을 10%이하로 유지하여야 크레딧을 모으고 버스팅을 잘 활용할 수 있다. 만약 항상 CPU 사용량이 10%를 넘는다면, 컴퓨팅 최적화나 더 사양이 높은 인스턴스 사용을 고려할 필요성이 있다.


오늘은 EC2 bursting에 대해 알아보았다. 구체적으로 이것이 어떻게 가능한 것인지는 모르겠지만, 적어도 나중에 인프라를 구성할 때 비용절감의 한 방법으로 잘 사용할 수 있겠다.

함께보면 좋은 자료들

https://www.youtube.com/watch?v=OzVpynd_2GM&t=2273s