Print
카테고리: [ Amazon Web Services ]
조회수: 4850

 

1. 개요

AWS는 EC2/EBS/RDS/EFS와 같은 주요 서비스에서 특정 인스턴스 타입이나 스토리지 타입으로 생성된 리소스에 대해 버스팅 및 크레딧이라는 개념을 도입하여, 평상시에 자원을 사용하지 않는 시간에 비례하여 크레딧이라는 자원을 자체적으로 생산해두었다가 순간적으로 CPU 자원이 부족하거나 IOPS 또는 처리량을 달성하지 못했을 때 크레딧을 소진하여 부족한 자원을 일시적으로 보충해주는 역할을 한다. 메모리와 같은 성능은 지원받지 못하므로 주의한다.
 
초기 AWS 아키텍처를 구축할 때 버스팅 모드&크레딧에 대해 제대로 이해하지 못하고 해당 리소스를 생성할 경우, 이후 크레딧이 모두 소진되는 현상이 발생했을 때 서비스 장애를 유발하는 직접적인 원인 제공의 계기가 될 수도 있으므로 사용 전에 꼭 충분한 숙지가 필요하다. 이번 문서에서는 버스팅에 대한 개념 및 해당 대상 목록과 함께 각 리소스별 주의사항에 대해 기술했으며, 각 리소스별로 성능에 따라 버스팅 성능/시간 별 생성되는 크레딧/축적 가능한 크레딧 제한량이 다르므로 상세한 계산은 AWS 문서를 참고하도록 한다.

2. 대상 목록

 

서비스 리소스 유형 CloudWatch 관련 지표 단위
EC2 t2/t3
CPUCreditBalance
CPUCreditUsage
CPUSurplusCreditBalance
CPUSurplusCreditsCharged
Count
EBS gp2/sc1/st1 BurstBalance %
RDS t2/t3 CPUCreditBalance
CPUCreditUsage
Count
t3
CPUSurplusCreditBalance
CPUSurplusCreditsCharged
Count
범용 SSD BurstBalance %
EFS Bursting BurstCreditBalance  Bytes

 


3. 설명 & 주의사항

EC2
t2/t3 시리즈의 인스턴스 타입에 대해 버스팅 및 크레딧이 적용된다. 특이사항으로는 EC2인스턴스 생성 시에 인스턴스 타입으로 t3 시리즈를 선택할 경우, 인스턴스 구성 과정에서 unlimited 모드에 대해 활성화되도록 자동으로 체크된다. unlimited 모드는 활성화 되어있을 경우 인스턴스에서 자체적으로 생산된 크레딧이 모두 소진되더라도 AWS로부터 크레딧을 추가적으로 제공받아 성능을 끌어올리는 옵션인데, 크레딧을 추가 소진하더라도 이후 자체 생산한 크레딧으로 상쇄시킬 수 있으나 만약 정산 시에 추가로 제공받은 크레딧이 더 많을 경우 그만큼 비용을 지불해야 하며 이 때 발생하는 크레딧의 비용이 크레딧을 사용했을 때 낼 수 있는 상위 인스턴스 보다도 더 높은 가격으로 책정되어 있으니 주의해야 한다. 추가적으로 t3 시리즈에 대해서는 Network Burst라는 자체적인 추가 기능을 제공하는데, 인스턴스에서 자체적으로 처리가능한 네트워크 대역폭을 넘어섰을 때 추가적인 네트워크 처리 능력을 지원해준다. 아마존 공식 문서에서는 네트워크 버스트를 통해 최대 5Gbps까지 처리할 수 있다고 게시되어 있으나, 우선은 사용 시 직접 인스턴스 환경 별 성능 테스트를 거치는 것이 좋다. 네트워크 버스트는 크레딧이라는 개념이 별도로 존재하지 않으나 아웃바운드 트래픽 발생량에 따라 추가적인 과금이 발생하므로 이 또한 유의해야 한다.
 
EBS
EBS는 gp2/sc1/st1 타입에 대해 버스팅 모드를 지원한다. EBS의 경우에는 성능 기준이 각각 gp2는 IOPS, sc1/st1는 처리량에 따라 결정된다. gp2는 생성된 볼륨 크기에 비례하여 IOPS가 결정되고 부족한 부분은 크레딧을 사용하므로, 만약 볼륨의 크기는 작은데 IOPS는 높다면 크레딧이 소진될 수 있으므로, IOPS를 프로비저닝하여 사용하는 io1방식을 사용하는 것이 좋다.
 
RDS
RDS는 EC2와 마찬가지로 t2/t3 인스턴스에 대해 버스팅 및 크레딧이 적용되지만, 다른점으로 t2는 unlimited 모드를 지원하지 않고 t3의 경우에는 옵션 선택 여부 없이 인스턴스 생성시 unlimited 모드가 무조건적으로 활성화된다. 즉, t2 시리즈를 사용할 경우 서비스 중 크레딧이 소진되면 서비스가 중단될 수 있고, t3 시리즈를 사용할 경우 자기도 모르는 사이에 요금 폭탄이 발생할 수 있다. RDS 스토리지의 경우에는 범용 SSD로 생성할 경우 gp2 Volume과 마찬가지로 스토리지 크기에 따라 IOPS 및 크레딧이 결정되므로, 사용 시 크레딧이 소진되지 않도록 주의가 필요하다.
 
EFS
EFS 또한 EBS gp2/io1이나 RDS 스토리지와 마찬가지로 용량에 따른 속도 결정 방식인 버스팅 모드와 미리 정해놓은 속도로 프로비저닝하여 사용할 수 있는 프로비저닝 모드 중 하나를 결정할 수 있다. 주의할 점은, EFS는 EBS나 RDS처럼 생성 시점부터 크기를 정해놓고 사용하는 서비스가 아니기 때문에, 파일시스템에 파일을 어지간히 밀어넣지 않은 이상 기본 성능 자체가 매우 낮아지는 현상이 발생한다. 따라서 버스팅 모드를 사용할 경우 모든 리소스들 중 크레딧이 제일 빨리 소진될 가능성이 높으며 그만큼 서비스 중단에 대한 위험성이 높아 주의가 필요하다.
 

4. 마치며

버스팅 모드가 지원되는 리소스 사용시에는 크레딧이 일정량 이하로 떨어지는 즉시 반드시 모니터링될 수 있도록 준비해두어야 하며, 이와 함께 알람이 발생할 시 신속하게 리소스 타입 변경에 대한 검토가 이루어져야 한다.