버스터블 성능 인스턴스의 핵심 개념
버스터블 성능 인스턴스의 핵심 개념 (Key concepts for burstable performance instances)
기존 Amazon EC2 인스턴스 유형은 고정된 CPU 리소스를 제공하는 반면, 버스터블 성능 인스턴스(burstable performance instance)는 기준선(baseline) 수준의 CPU 사용률을 제공하면서 기준선보다 높게 CPU 사용률을 버스트(상승)할 수 있는 능력을 갖춰요. 이 덕분에 기준선 CPU에 더해 추가로 버스트한 CPU 사용량만 지불하면 되므로 컴퓨팅 비용이 낮아져요. 기준선 사용률과 버스트 능력은 CPU 크레딧(credit)으로 관리돼요. 버스터블 성능 인스턴스는 CPU 사용량에 크레딧을 사용하는 유일한 인스턴스 유형이에요.
각 버스터블 성능 인스턴스는 CPU 기준선 아래에 머무는 동안 계속 크레딧을 벌고, 기준선 위로 버스트할 때 계속 크레딧을 소비해요. 벌거나 쓰는 크레딧 양은 인스턴스의 CPU 사용률에 따라 달라져요.
- CPU 사용률이 기준선보다 낮으면 벌어들인 크레딧이 소비한 크레딧보다 많아요.
- CPU 사용률이 기준선과 같으면 벌어들인 크레딧과 소비한 크레딧이 같아요.
- CPU 사용률이 기준선보다 높으면 소비한 크레딧이 벌어들인 크레딧보다 많아요.
벌어들인 크레딧이 소비한 크레딧보다 많을 때 그 차이를 누적 크레딧(accrued credits) 이라고 해요. 이는 나중에 기준선 CPU 사용률 위로 버스트하는 데 사용할 수 있어요. 마찬가지로 소비한 크레딧이 벌어들인 크레딧보다 많을 때 인스턴스 동작은 크레딧 구성 모드(Standard 모드 또는 Unlimited 모드)에 따라 달라져요.
- Standard 모드에서 소비한 크레딧이 벌어들인 크레딧보다 많으면 인스턴스는 누적 크레딧을 사용해 기준선 CPU 사용률 위로 버스트해요. 누적 크레딧이 남아 있지 않으면 인스턴스는 점차 기준선 CPU 사용률로 내려오고, 크레딧을 더 쌓을 때까지 기준선 위로 버스트할 수 없어요.
- Unlimited 모드에서 인스턴스가 기준선 CPU 사용률 위로 버스트하면, 인스턴스는 먼저 누적 크레딧을 사용해 버스트해요. 누적 크레딧이 남아 있지 않으면 인스턴스는 잉여 크레딧(surplus credits) 을 소비해 버스트해요. CPU 사용률이 기준선 아래로 떨어지면 벌어들인 CPU 크레딧을 사용해 이전에 소비한 잉여 크레딧을 갚아요. 잉여 크레딧을 갚기 위한 CPU 크레딧을 벌 수 있는 능력 덕분에 Amazon EC2는 인스턴스의 CPU 사용률을 24시간 주기로 평균화할 수 있어요. 24시간 주기의 평균 CPU 사용량이 기준선을 초과하면 인스턴스는 추가 사용량에 대해 vCPU-시간당 고정 추가 요율로 청구돼요.
목차 (Contents)
- 핵심 개념과 정의
- CPU 크레딧 벌기
- CPU 크레딧 획득 요율
- CPU 크레딧 누적 한도
- 누적 CPU 크레딧 수명
- 기준선 사용률 (Baseline utilization)
핵심 개념과 정의 (Key concepts and definitions)
버스터블 성능 인스턴스에 적용되는 핵심 개념과 정의는 다음과 같아요.
- CPU utilization (CPU 사용률) – CPU 사용률은 인스턴스에서 현재 사용 중인 할당된 EC2 컴퓨팅 유닛의 백분율이에요. 이 지표는 인스턴스에서 사용 중인 할당된 CPU 주기의 백분율을 측정해요.
CPUUtilizationCloudWatch 지표는 코어당 CPU 사용량이 아니라 인스턴스당 CPU 사용량을 보여줘요. 인스턴스의 기준선 CPU 사양도 인스턴스당 CPU 사용량에 기반해요. AWS Management Console이나 AWS CLI로 CPU 사용률을 측정하는 방법은 '특정 인스턴스의 통계 가져오기'를 참고하세요. - CPU credit (CPU 크레딧) – vCPU-시간의 단위예요.
- 예시:
- 1 CPU 크레딧 = 1 vCPU × 100% 사용률 × 1분
- 1 CPU 크레딧 = 1 vCPU × 50% 사용률 × 2분
- 1 CPU 크레딧 = 2 vCPU × 25% 사용률 × 2분
- 예시:
- Baseline utilization (기준선 사용률) – 기준선 사용률은 벌어들이는 CPU 크레딧 수가 사용하는 CPU 크레딧 수와 일치할 때, 순 크레딧 잔액이 0이 되는 수준에서 CPU를 사용할 수 있는 정도예요. 기준선 사용률은 기준선(baseline)이라고도 불러요. 기준선 사용률은 vCPU 사용률의 백분율로 표시되며 다음과 같이 계산돼요: 기준선 사용률 % = (벌어들인 크레딧 수 / vCPU 수) / 60분. 각 버스터블 성능 인스턴스 유형의 기준선 사용률은 크레딧 표(credit table)를 참고하세요.
- Earned credits (획득 크레딧) – 인스턴스가 실행 중일 때 지속적으로 벌어들이는 크레딧이에요.
- 시간당 벌어들인 크레딧 수 = 기준선 사용률 % × vCPU 수 × 60분
- 예시: 2개의 vCPU와 5% 기준선 사용률을 가진 t3.nano는 시간당 6 크레딧을 벌어요. 계산: 2 vCPUs × 5% 기준선 × 60분 = 시간당 6 크레딧
- Spent or used credits (소비 또는 사용 크레딧) – 인스턴스가 실행 중일 때 지속적으로 사용하는 크레딧이에요.
- 분당 소비한 CPU 크레딧 = vCPU 수 × CPU 사용률 × 1분
- Accrued credits (누적 크레딧) – 인스턴스가 기준선 사용률에 필요한 크레딧보다 적게 사용할 때 사용하지 않은 CPU 크레딧이에요. 다시 말해 누적 크레딧 = (획득 크레딧 − 사용 크레딧) 기준선 미만.
- 예시: t3.nano가 기준선 5%보다 낮은 2% CPU 사용률로 한 시간 실행되면 누적 크레딧은 다음과 같이 계산돼요: 누적 CPU 크레딧 = (시간당 획득 크레딧 − 시간당 사용 크레딧) = 6 − 2 vCPUs × 2% CPU 사용률 × 60분 = 6 − 2.4 = 시간당 3.6 누적 크레딧
- Credit accrual limit (크레딧 누적 한도) – 인스턴스 크기에 따라 다르지만 일반적으로 24시간 동안 벌 수 있는 최대 크레딧 수와 같아요.
- 예시: t3.nano의 크레딧 누적 한도 = 24 × 6 = 144 크레딧
- Launch credits (시작 크레딧) – Standard 모드로 구성된 T2 인스턴스에만 적용돼요. 시작 크레딧은 새 T2 인스턴스에 할당되는 제한된 수의 CPU 크레딧으로, Standard 모드에서 시작할 때 기준선 위로 버스트할 수 있게 해줘요.
- Surplus credits (잉여 크레딧) – 인스턴스가 누적 크레딧 잔액을 모두 소진한 뒤 소비하는 크레딧이에요. 잉여 크레딧은 버스터블 인스턴스가 장시간 높은 성능을 유지하도록 설계된 것으로, Unlimited 모드에서만 사용돼요. 잉여 크레딧 잔액은 Unlimited 모드에서 인스턴스가 버스트하는 데 사용한 크레딧 수를 결정하는 데 사용돼요.
- Standard mode (Standard 모드) – 인스턴스가 크레딧 잔액에 누적한 크레딧을 사용해 기준선 위로 버스트할 수 있게 하는 크레딧 구성 모드예요.
- Unlimited mode (Unlimited 모드) – 인스턴스가 필요할 때 언제든 버스트하여 어떤 기간이든 높은 CPU 사용률을 유지할 수 있게 하는 크레딧 구성 모드예요. 인스턴스의 평균 CPU 사용률이 24시간 주기 또는 인스턴스 수명(더 짧은 쪽)에서 기준선 이하라면 시간당 인스턴스 가격이 모든 CPU 사용량 급증을 자동으로 커버해요. 인스턴스가 오랜 기간 더 높은 CPU 사용률로 실행되면 vCPU-시간당 고정 추가 요율로 실행할 수 있어요.
다음 표는 버스터블 인스턴스 유형 간의 주요 크레딧 차이를 요약해요.
| 유형 | 세대 | 지원되는 CPU 크레딧 유형 | 크레딧 구성 모드 | 인스턴스 시작/중지 간 누적 CPU 크레딧 수명 |
|---|---|---|---|---|
| T8i | 최신 세대 | 획득 크레딧, 누적 크레딧, 소비 크레딧, 잉여 크레딧 (Unlimited 모드만) | Standard, Unlimited (기본) | 7일 (인스턴스 중지 후 7일간 크레딧 유지) |
| T4g | 최신 세대 | 획득 크레딧, 누적 크레딧, 소비 크레딧, 잉여 크레딧 (Unlimited 모드만) | Standard, Unlimited (기본) | 7일 (인스턴스 중지 후 7일간 크레딧 유지) |
| T3a | 최신 세대 | 획득 크레딧, 누적 크레딧, 소비 크레딧, 잉여 크레딧 (Unlimited 모드만) | Standard, Unlimited (기본) | 7일 (인스턴스 중지 후 7일간 크레딧 유지) |
| T3 | 최신 세대 | 획득 크레딧, 누적 크레딧, 소비 크레딧, 잉여 크레딧 (Unlimited 모드만) | Standard, Unlimited (기본) | 7일 (인스턴스 중지 후 7일간 크레딧 유지) |
| T2 | 이전 세대 | 획득 크레딧, 누적 크레딧, 소비 크레딧, 시작 크레딧 (Standard 모드만), 잉여 크레딧 (Unlimited 모드만) | Standard (기본), Unlimited | 0일 (인스턴스 중지 시 크레딧 손실) |
참고 Dedicated Host에서 시작된 T3 인스턴스에는 Unlimited 모드가 지원되지 않아요.
CPU 크레딧 벌기 (Earn CPU credits)
각 버스터블 성능 인스턴스는 인스턴스 크기에 따라 시간당 일정한 요율로 CPU 크레딧을 지속적으로(밀리초 수준 분해능으로) 벌어요. 크레딧이 누적되는지 소비되는지에 대한 회계 과정도 밀리초 수준 분해능으로 일어나므로 CPU 크레딧을 초과 지출할 걱정은 없어요. 짧은 CPU 버스트는 CPU 크레딧의 아주 작은 부분만 사용해요.
버스터블 성능 인스턴스가 기준선 사용률에 필요한 것보다 적은 CPU 리소스를 사용하면(예: 유휴 상태), 사용하지 않은 CPU 크레딧이 CPU 크레딧 잔액에 누적돼요. 버스터블 성능 인스턴스가 기준선 사용률 위로 버스트해야 하면 누적 크레딧을 소비해요. 버스터블 성능 인스턴스가 누적한 크레딧이 많을수록 더 많은 CPU 사용률이 필요할 때 기준선을 넘어 더 오래 버스트할 수 있어요.
다음 표는 버스터블 성능 인스턴스 유형, 시간당 벌어들이는 CPU 크레딧 요율, 인스턴스가 누적할 수 있는 최대 획득 CPU 크레딧 수, 인스턴스당 vCPU 수, 그리고 전체 코어의 백분율로 나타낸 기준선 사용률(단일 vCPU 사용)을 나열해요.
T8i
| 인스턴스 유형 | 시간당 CPU 크레딧 | 누적 가능한 최대 획득 크레딧* | vCPUs*** | vCPU당 기준선 사용률 |
|---|---|---|---|---|
| t8i.nano | 6 | 144 | 2 | 5%** |
| t8i.micro | 12 | 288 | 2 | 10%** |
| t8i.small | 24 | 576 | 2 | 20%** |
| t8i.medium | 24 | 576 | 2 | 20%** |
T4g
| 인스턴스 유형 | 시간당 CPU 크레딧 | 누적 가능한 최대 획득 크레딧* | vCPUs*** | vCPU당 기준선 사용률 |
|---|---|---|---|---|
| t4g.nano | 6 | 144 | 2 | 5%** |
| t4g.micro | 12 | 288 | 2 | 10%** |
| t4g.small | 24 | 576 | 2 | 20%** |
| t4g.medium | 24 | 576 | 2 | 20%** |
| t4g.large | 36 | 864 | 2 | 30%** |
| t4g.xlarge | 96 | 2304 | 4 | 40%** |
| t4g.2xlarge | 192 | 4608 | 8 | 40%** |
T3a
| 인스턴스 유형 | 시간당 CPU 크레딧 | 누적 가능한 최대 획득 크레딧* | vCPUs*** | vCPU당 기준선 사용률 |
|---|---|---|---|---|
| t3a.nano | 6 | 144 | 2 | 5%** |
| t3a.micro | 12 | 288 | 2 | 10%** |
| t3a.small | 24 | 576 | 2 | 20%** |
| t3a.medium | 24 | 576 | 2 | 20%** |
| t3a.large | 36 | 864 | 2 | 30%** |
| t3a.xlarge | 96 | 2304 | 4 | 40%** |
| t3a.2xlarge | 192 | 4608 | 8 | 40%** |
T3
| 인스턴스 유형 | 시간당 CPU 크레딧 | 누적 가능한 최대 획득 크레딧* | vCPUs*** | vCPU당 기준선 사용률 |
|---|---|---|---|---|
| t3.nano | 6 | 144 | 2 | 5%** |
| t3.micro | 12 | 288 | 2 | 10%** |
| t3.small | 24 | 576 | 2 | 20%** |
| t3.medium | 24 | 576 | 2 | 20%** |
| t3.large | 36 | 864 | 2 | 30%** |
| t3.xlarge | 96 | 2304 | 4 | 40%** |
| t3.2xlarge | 192 | 4608 | 8 | 40%** |
T2
| 인스턴스 유형 | 시간당 CPU 크레딧 | 누적 가능한 최대 획득 크레딧* | vCPUs*** | vCPU당 기준선 사용률 |
|---|---|---|---|---|
| t2.nano | 3 | 72 | 1 | 5% |
| t2.micro | 6 | 144 | 1 | 10% |
| t2.small | 12 | 288 | 1 | 20% |
| t2.medium | 24 | 576 | 2 | 20%** |
| t2.large | 36 | 864 | 2 | 30%** |
| t2.xlarge | 54 | 1296 | 4 | 22.5%** |
| t2.2xlarge | 81.6 | 1958.4 | 8 | 17%** |
참고 (Notes)
- * 누적할 수 있는 크레딧 수는 24시간 동안 벌 수 있는 크레딧 수와 같아요.
- ** 표의 기준선 사용률 백분율은 vCPU당 기준이에요. CloudWatch에서 CPU 사용률은 vCPU당으로 표시돼요. 예를 들어 기준선 수준에서 동작하는 t3.large 인스턴스의 CPU 사용률은 CloudWatch CPU 지표에서 30%로 표시돼요. 기준선 사용률 계산 방법은 '기준선 사용률'을 참고하세요.
- *** T2와 T4g 인스턴스를 제외하고 각 vCPU는 Intel Xeon 코어 또는 AMD EPYC 코어의 스레드예요.
CPU 크레딧 획득 요율 (CPU credit earn rate)
시간당 벌어들이는 CPU 크레딧 수는 인스턴스 크기에 따라 결정돼요. 예를 들어 t3.nano는 시간당 6 크레딧, t3.small은 시간당 24 크레딧을 벌어요. 앞의 표에 모든 인스턴스의 크레딧 획득 요율이 나와 있어요.
CPU 크레딧 누적 한도 (CPU credit accrual limit)
실행 중인 인스턴스에서 획득 크레딧은 만료되지 않지만, 인스턴스가 누적할 수 있는 획득 크레딧 수에는 한도가 있어요. 이 한도는 CPU 크레딧 잔액 한도에 의해 결정돼요. 한도에 도달하면 새로 벌어들인 크레딧은 폐기돼요. 가득 찬 버킷은 CPU 크레딧 잔액 한도를, 넘쳐흐르는 부분은 한도를 초과한 새로 벌어들인 크레딧을 나타내요.
CPU 크레딧 잔액 한도는 인스턴스 크기마다 달라요. 예를 들어 t3.micro 인스턴스는 CPU 크레딧 잔액에 최대 288개의 획득 CPU 크레딧을 누적할 수 있어요. 앞의 표에 각 인스턴스가 누적할 수 있는 최대 획득 크레딧 수가 나와 있어요.
T2 Standard 인스턴스는 또한 시작 크레딧(launch credits)을 벌어요. 시작 크레딧은 CPU 크레딧 잔액 한도에 포함되지 않아요. T2 인스턴스가 시작 크레딧을 사용하지 않았고, 획득 크레딧을 누적하면서 24시간 동안 유휴 상태로 남아 있으면 CPU 크레딧 잔액이 한도 이상으로 표시돼요. 자세한 내용은 '시작 크레딧'을 참고하세요.
T8i, T4g, T3a, T3 인스턴스는 시작 크레딧을 벌지 않아요. 이 인스턴스들은 기본적으로 unlimited로 시작되므로 시작 크레딧 없이 시작 즉시 버스트할 수 있어요. Dedicated Host에서 시작된 T3 인스턴스는 기본적으로 standard로 시작돼요. Dedicated Host의 T3 인스턴스에는 unlimited 모드가 지원되지 않아요.
누적 CPU 크레딧 수명 (Accrued CPU credits life span)
실행 중인 인스턴스의 CPU 크레딧은 만료되지 않아요.
- T2의 경우 CPU 크레딧 잔액은 인스턴스 중지/시작 사이에 유지되지 않아요. T2 인스턴스를 중지하면 모든 누적 크레딧을 잃어요.
- T8i, T4g, T3a, T3의 경우 CPU 크레딧 잔액은 인스턴스 중지 후 7일간 유지되고 그 이후에는 손실돼요. 7일 안에 인스턴스를 시작하면 크레딧이 손실되지 않아요.
자세한 내용은 CloudWatch 지표 표의 CPUCreditBalance를 참고하세요.
기준선 사용률 (Baseline utilization)
기준선 사용률은 벌어들이는 CPU 크레딧 수가 사용하는 CPU 크레딧 수와 일치할 때, 순 크레딧 잔액이 0이 되는 수준에서 CPU를 사용할 수 있는 정도예요. 기준선 사용률은 기준선(baseline)이라고도 불러요. 기준선 사용률은 vCPU 사용률의 백분율로 표시되며 다음과 같이 계산돼요.
(벌어들인 크레딧 수 / vCPU 수) / 60분 = % 기준선 사용률
예를 들어 2개의 vCPU를 가진 t3.nano 인스턴스는 시간당 6 크레딧을 벌어 5%의 기준선 사용률을 만들며, 계산은 다음과 같아요.
(6 크레딧 획득 / 2 vCPUs) / 60분 = 5% 기준선 사용률
2개의 vCPU를 가진 t3.large 인스턴스는 시간당 36 크레딧을 벌어 30%의 기준선 사용률을 만듭니다 ((36/2)/60).
다음 그래프는 평균 CPU 사용률이 기준선 아래인 t3.large의 예시예요.