AWS의 EC2 인스턴스는 버스트 기능이 있습니다.
그 중 t2.micro를 연습용으로 주로 사용 했었는데 t2와 micro에 있는 의미를 알아보겠습니다.
인스턴스 타입중 t2는 저렴한 범용타입으로 기본적으로 CPU의 10%를 사용할 수 있으며, 버스터블하게 크레딧을 사용하여 순간적으로 100%까지 사용할 수 있다.
여기서 CPU의 10% 기준은 인스턴스 타입마다 설정되어있는 baseline(정해진 사용량 목표 수준) 기준으로 적용된다.
평소에 베이스라인 밑으로 유지되다가 일시적으로 CPU 크레딧을 사용하는 패턴.
웹 서버, 개발자 환경, 소규모 데이터베이스 같은 다양한 애플리케이션에서는 높은 수준의 CPU가 일관적으로 필요하지는 않지만 필요할 경우 매우 빠른 CPU 성능을 전체적으로 활용하면 큰 장점을 얻을 수 있습니다.
인스턴스 | vCPU* | baseline | 시간당 CPU 크레딧 | 메모리(GiB) | 스토리지 | 네트워크 성능 |
---|---|---|---|---|---|---|
t2.nano | 1 | 5% | 3 | 0.5 | EBS 전용 | 낮음 |
t2.micro | 1 | 10% | 6 | 1 | EBS 전용 | 낮음에서 중간 |
t2.2xlarge | 8 | 40% | 81 | 32 | EBS 전용 | 중간 |
인스턴스가 실행 중일 때 지속적으로 적립되는 크레딧입니다.
시간당 적립되는 크레딧 수 = 기준 사용률(%) vCPU 갯수 60분
vCPU 갯수 BaseLine 60 min = 시간당 크레딧
vCPU * baseline = 크레딧 (Credit)
ex) vCPU가 1개인 t2.micro는 기본 사용률이 10%로, 시간당 6 크레딧을 획득
1 vCPU 10% 60 min = 6 credit
인스턴스가 실행 중일 때 지속적으로 소비되는 크레딧입니다.
분당 소비되는 CPU 크레딧 = vCPU 갯수 CPU 사용률 1분
vCPU baseline 1 min = 분당 소비 크레딧
실행 중인 인스턴스에서 획득한 크레딧은 만료되지 않습니다. 하지만 인스턴스가 누적할 수 있는 획득 크레딧 수에는 한도가 있습니다.
시간당 크레딧의 * 24, 즉 하루 만큼의 크레딧만 누적할 수 있다.
CPU 크레딧 밸런스 한도는 각 인스턴스 크기에 따라 다릅니다.
예를 들어 t3.micro 인스턴스는 CPU 크레딧 밸런스에서 최대 288의 획득한 CPU 크레딧을 누적할 수 있습니다.
T2 스탠다드 인스턴스에서도 시작 크레딧을 획득합니다. 시작 크레딧은 CPU 크레딧 밸런스 한도에 포함되지 않습니다. T2 인스턴스가 시작 크레딧을 사용하지 않고 획득 크레딧을 누적하면서 24시간 동안 유휴 상태를 유지한 경우 CPU 크레딧 밸런스는 한도 이상으로 표시됩니다. 자세한 내용은 시작 크레딧 섹션을 참조하세요.
인스턴스 실행에 장기간 높은 CPU 사용률이 필요한 경우, vCPU-시간당 추가 고정 요금으로 인스턴스를 실행할 수 있습니다.
T2 무제한 인스턴스는 워크로드가 필요로 하는 한 높은 CPU 성능을 유지할 수 있습니다. 대부분의 범용 워크로드에서 T2 무제한 인스턴스는 추가 비용 없이 충분한 성능을 제공합니다. 인스턴스 실행에 장기간 높은 CPU 사용률이 필요한 경우, vCPU-시간당 5센트의 추가 고정 요금으로 인스턴스를 실행할 수 있습니다.
"최대" 네트워크 대역폭으로 표시된 인스턴스에는 기준 대역폭이 있으며, 최대한 가능한 범위에서 기준 대역폭을 초과하여 버스트할 수 있도록 네트워크 I/O 크레딧 메커니즘을 사용할 수 있습니다. 자세한 내용은 인스턴스 네트워크 대역폭을 참조하세요.
기준 사용률은 획득하는 CPU 크레딧 수가 사용 중인 CPU 크레딧 수와 일치할 때 순 크레딧 밸런스 0에서 CPU를 사용할 수 있는 수준입니다.
기준 사용률은 vCPU 사용률의 백분율로 표시되며
기준 사용률(%) = (획득한 크레딧 수/vCPU 수)/60분으로 계산됩니다.
(number of credits earned/number of vCPUs)/60 minutes = % baseline utilization
예를 들어 vCPU가 2개인 t3.nano 인스턴스는 시간당 6 크레딧을 획득하여 기준 사용률이 5% 로, 다음과 같이 계산됩니다.
(6 credits earned/2 vCPUs)/60 minutes = 5% baseline utilization
vCPU가 4개인 t3.xlarge 인스턴스는 시간당 96 크레딧을 획득하여 기준 사용률이 40%입니다((96/4)/60)
.
다음 그래프는 평균 CPU 사용률이 기준보다 낮은 t3.large의 예를 보여줍니다.
T2 인스턴스는 기본 수준의 CPU 성능과 더불어 기본 수준을 넘어 버스트할 수 있는 기능을 제공하는 버스트 가능 성능 인스턴스입니다.
T 인스턴스의 기본 성능과 순간 성능 기능은 CPU 크레딧에 의해 좌우됩니다. 각 T 인스턴스는 인스턴스 크기를 기반으로 정해진 비율에 따라 지속적으로 CPU 크레딧을 받습니다. T 인스턴스는 유휴 상태일 때 CPU 크레딧을 누적했다가 활성 상태일 때 사용합니다. CPU 크레딧은 1분 동안 CPU 코어의 전체 성능을 제공합니다.
예를 들어 t2.small 인스턴스는 시간당 CPU 크레딧 12개라는 비율에 따라 지속적으로 크레딧을 받습니다. 이 기능은 CPU 코어의 20%에 상응하는 기본 성능을 제공합니다(20% x 60분 = 12분). 인스턴스에 제공되는 크레딧을 이 인스턴스에서 사용하지 않는 경우, 최대 288 CPU 크레딧까지 CPU 크레딧 잔액에 저장됩니다. t2.small 인스턴스에서 코어의 20%를 초과하여 성능을 버스트해야 하는 경우 CPU 크레딧 잔액에서 크레딧을 가져와서 순간적인 급증을 원활하게 처리합니다.
T2 무제한 기능이 활성화된 경우 t2.small 인스턴스는 CPU 크레딧 잔액이 0으로 떨어지더라도 기본 성능을 초과하여 버스트할 수 있습니다. 평균 CPU 사용률이 기존 성능 또는 그 미만인 대부분의 범용 워크로드의 경우 t2.small의 기본 시간당 요금으로 모든 CPU 버스트를 해결할 수 있습니다. CPU 크레딧 잔액이 0으로 떨어진 후에 인스턴스가 24시간 기간을 넘어 평균 25%(기준의 5% 이상)의 CPU 사용률로 실행되는 경우, 추가로 6센트(5센트/vCPU-시간 x 1vCPU x 5% x 24시간)가 부과됩니다.
웹 서버, 개발자 환경, 소규모 데이터베이스 같은 다양한 애플리케이션에서는 높은 수준의 CPU가 일관적으로 필요하지는 않지만 필요할 경우 매우 빠른 CPU 성능을 전체적으로 활용하면 큰 장점을 얻을 수 있습니다. T 인스턴스는 특별히 이러한 사용 사례를 위해 설계되었습니다. 동영상 인코딩, 대용량 웹 사이트 또는 HPC 애플리케이션과 같이 높은 CPU 성능이 일관적으로 필요한 애플리케이션의 경우 고정 성능 인스턴스를 사용하는 것이 좋습니다. T 인스턴스는 애플리케이션에서 높은 CPU 성능이 필요할 경우 전용 고속 프로세서 코어가 있는 것처럼 실행되도록 설계되었습니다. 뿐만 아니라 다른 환경에서 과도하게 구독할 경우 일반적으로 겪을 수 있는 일관되지 않은 성능이나 기타 흔한 부작용으로부터 보호해줍니다.
버스트 가능 성능 인스턴스에 대한 주요 개념 및 정의
https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/burstable-credits-baseline-concepts.html
Amazon EC2 인스턴스 유형
https://aws.amazon.com/ko/ec2/instance-types/
Amazon Elastic Compute Cloud - Linux 인스턴스용 사용 설명서
https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/instance-types.html
Amazon EC2 이전 세대 인스턴스
https://aws.amazon.com/ko/ec2/previous-generation/
Amazon EC2 FAQ
https://aws.amazon.com/ko/ec2/faqs/