버스터블 인스턴스
버스터블(Burstable) 인스턴스는 기준(Baseline) CPU 사용률을 제공하면서 기준 이상으로 CPU 사용률을 버스트하는 기능을 제공하는 유일한 인스턴스 유형입니다.
카카오클라우드에서 제공하는 버스트 가능한 범용 인스턴스 패밀리는 아래와 같습니다.
- 적용 유형 :
t1i
버스터블 인스턴스 개념
대부분 범용 워크로드는 지속적으로 높은 CPU 사용률을 요구하지 않습니다. 아래의 그래프와 같이 일시적으로 높은 CPU 사용률을 갖는 경우가 일반적이며, 이러한 워크로드는 CPU 사이클의 낭비를 초래하고 결과적으로 실제 사용한 것보다 더 많은 비용을 발생시킵니다. 버스터블 인스턴스는 이러한 비용 낭비를 효율적으로 해결할 수 있는 인스턴스 유형입니다.
일반적인 워크로드의 시간 경과에 따른 CPU 사용률 변화
버스터블 범용 인스턴스는 기준의 CPU 사용률을 제공하면서 기준 이상으로 CPU 사용률을 버스트하는 기능을 제공합니다. 이 기능을 이용하면, 사용자는 적립된 CPU 크레딧을 사용하여 CPU 사용률을 기준 이상으로 순간적으로 버스트하여 사용하실 수 있으며, 이를 통해 사용자 워크로드에 따라 컴퓨팅 비용을 효율적으로 절감할 수 있습니다.
버스터블 인스턴스 유형은 CPU 사용률에 대해 크레딧을 사용하는 유일한 인스턴스 유형으로, CPU 사용률에 따라 크레딧을 얻거나 소비하는 구조로 작동합니다. 이러한 크레딧의 양은 CPU 사용률에 따라 아래와 같이 달라집니다.
- CPU 사용률이 기준 미만: 획득 크레딧 > 소비 크레딧
- CPU 사용률이 기준과 동일: 획득 크레딧 = 소비 크레딧
- CPU 사용률이 기준 초과: 획득 크레딧 < 소비 크레딧
획득 크레딧이 소비 크레딧보다 많을 경우 크레딧을 적립할 수 있으며, 추후 이 적립된 크레딧을 기준 CPU 사용률 이상으로 버스트할 때 사용할 수 있습니다. 소비 크레딧이 획득 크레딧보다 많을 경우에는 CPU 사용률이 기준 수준으로 점진적으로 하락 후, 충분한 크레딧이 적립될 때까지 기준 이상으로 버스트할 수 없게 됩니다.
용어 개념 및 정의
CPU 사용률
인스턴스에서 현재 사용 중인 할당된 컴퓨팅 유닛의 비율(%)을 의미합니다. 이 지표는 인스턴스에서 사용되고 있는 할당된 CPU 사이클의 비율을 측정합니다.
CPU 크레딧
vCPU 시간의 단위를 의미합니다. 예를 들어 CPU 크레딧 1개는 아래와 같이 계산됩니다.
CPU 크레딧 1개 = vCPU 10개 × 10% 사용률 × 1분 = vCPU 5개 × 20% 사용률 × 1분 = vCPU 1개 × 50% 사용률 × 2분
기준 사용률
획득하는 CPU 크레딧 수가 사용 중인 CPU 크레딧 수와 일치하여 크레딧 획득량이 0인 상태에서 사용할 수 있는 CPU 사용률을 의미하며, 기준(Baseline)
이라고도 표현합니다. 기준 사용률은 아래와 같이 계산됩니다.
기준 사용률(%) = (획득한 크레딧 수/vCPU 수)/60분
예시
t1i.large
사이즈를 예로 들면, vCPU가 2개이고 시간당 36 크레딧을 획득하므로,
기준 사용률(%) = (36 크레딧/2)/60분
즉, 기준 사용률은 30%가 됩니다.
다음 그래프는 평균 CPU 사용률이 기준보다 낮은 예시를 나타냅니다.
기준보다 낮은 평균 CPU 사용률 예시
획득 크레딧
인스턴스가 실행 중일 때 지속적으로 획득 및 적립되는 크레딧을 의미합니다. 획득 크레딧은 아래와 같이 계산됩니다.
시간당 적립되는 획득 크레딧 수 = 기준 사용률(%) × vCPU 수 × 60분
소비 크레딧
인스턴스가 실행 중일 때 지속적으로 소비되는 크레딧을 의미합니다. 아래와 같이 계산됩니다.
분당 소비되는 CPU 크레딧 수 = vCPU 수 × CPU 사용률 × 1분
적립 크레딧
인스턴스가 기준 사용률보다 낮은 CPU 사용률을 유지하여 소비 크레딧보다 획득 크레딧이 많을 경우, 소비되지 않은 CPU 크레딧이 적립 크레딧이 됩니다. 다음과 같이 계산됩니다.
적립 크레딧 수 = (획득 크레딧 - 기준 미만으로 사용된 크레딧)
크레딧 적립 한도
인스턴스 크기에 따라 달라지며, 일반적으로 24시간 동안 적립되는 최대 크레딧 수와 동일합니다. 다음과 같이 계산됩니다.
크레딧 적립 한도 = 시간당 CPU 크레딧 × 24시간
사용 사례
버스터블 인스턴스는 아래의 워크로드의 요구 사항을 충족하도록 정의 및 설계되었습니다.
- 대규모 마이크로 서비스
- 웹 서버
- 중소 규모 데이터베이스
- 데이터 로깅
- 개발 및 테스트 환경
주로 CPU 사용량이 적거나 중간 정도의 범용 애플리케이션에 적합하며, 특히 medium
이하의 인스턴스 크기는 적은 양의 메모리 및 중간 이하의 CPU 사용량을 요구하는 워크로드에 적합합니다.
CPU 크레딧 적립
CPU 크레딧 적립을 측정하는 산정 프로세스는 매우 빠른 시간 정밀도로 수행되며, 짧은 시간 동안 CPU 버스트가 발생할 경우에 약간의 CPU 크레딧만을 소비하여 불필요한 소비가 발생하지 않도록 합니다.
버스터블 인스턴스 사용 시 기준보다 CPU 사용률이 적을 경우, 남은 CPU 크레딧이 적립됩니다. 기준 이상으로 버스트가 필요할 때 이 적립 크레딧을 소모하게 됩니다. 즉, 적립 크레딧이 많을수록 추가 CPU 사용률이 필요할 때 기준을 초과하는 버스트 성능의 유지 시간을 증가시킬 수 있습니다.
버스터블 인스턴스에 대한 상세한 내용은 인스턴스 유형에서 확인하시기 바랍니다.
CPU 크레딧 적립 한도 및 수명
실행 중인 인스턴스에서 획득된 크레딧은 만료 기간이 없으나, 적립 가능한 최대 획득 크레딧 수에는 한도가 있습니다.
또한 인스턴스가 중지될 경우 남아 있는 CPU 크레딧은 7일 동안 유효하며, 7일이 지나면 이 CPU 크레딧은 사라집니다. 7일 이내에 인스턴스를 시작하면 이 크레딧은 사리지지 않습니다.
인스턴스 유형 및 크기에 따라 적립 크레딧 한도가 달라지며, 상세한 내용은 인스턴스 유형에서 확인하시기 바랍니다.
작동 방식
카카오클라우드 BCS 버스터블 인스턴스는 평균 CPU 사용률이 인스턴스의 기준 CPU 사용률보다 일관되게 낮되 순간적으로 CPU 사용률을 버스트해야 하는 워크로드에 적합합니다. 이 인스턴스를 기준 이상으로 버스트 시, 적립된 CPU 크레딧을 사용합니다. 이를 사용 중 소비 크레딧이 획득 크레딧보다 많아 적립된 크레딧이 모두 소모되었을 경우, CPU 사용률은 점차 기준 수준으로 떨어지게 되며 획득 크레딧이 소비 크레딧보다 많아져 충분한 양의 크레딧이 적립되기 전까지는 기준 이상으로 버스트할 수 없게 됩니다.
이 인스턴스 유형은 인스턴스가 실행 중인 상태일 때 시간당 특정 비율의 획득 크레딧을 지속적으로 획득합니다. 인스턴스가 중지될 경우 이 적립된 CPU 크레딧 일정 기간 지속되다가 해당 기간 이후에는 사라지며, 이 기간 내에 인스턴스를 시작하면 크레딧이 유지되는 방식으로 작동합니다.
크레딧 사용 예시
t1i.nano
로 시작된 버스터블 인스턴스가 크레딧을 획득, 축적, 사용하는 방식을 예시로 설명합니다. 이 예시를 통해 실제 획득 크레딧의 적립, 소모 및 크레딧이 적립되는 방식을 이해할 수 있습니다.
크레딧 획득, 적립, 소모에 따른 워크플로
t1i.nano
인스턴스는 24시간마다 총 144개의 크레딧을 획득할 수 있습니다. 즉, 이 인스턴스의 크레딧 적립 한도는 144입니다.
-
기간 1: 인스턴스가 실행 중인 동안에는 크레딧이 적립 한도까지 지속적으로 획득되며, CPU 사용률이 0%인 동안에는 시간당 획득 가능한 크레딧을 모두 획득하게 되므로 24시간 후 적립 한도인 144까지 획득됩니다.
-
기간 2: 인스턴스가 생성 및 실행된 이후 24시간에서 30시간이 경과하는 동안 CPU 사용률이 2.5%를 기록합니다. 이 수치는
t1i.nano
인스턴스의 기준 사용률인 5%보다 낮은 수치입니다. 따라서 이 인스턴스가 사용하는 크레딧보다 획득되는 크레딧이 더 많은 상태이지만, 이미 기간 1 동안 크레딧 적립 한도인 144에 도달한 상태이므로 한도를 초과하여 획득된 크레딧은 모두 삭제됩니다. -
기간 3: 이후 30시간에서 42시간이 경과하는 동안 인스턴스의 CPU 사용률이 7%로 상승하며, 이는 기준 사용률인 5%보다 높은 수치입니다. 따라서 이 기간 동안에는 크레딧이 소모되며, 소모되는 크레딧은 총 28.8 크레딧입니다. 42시간에 도달했을 때 크레딧 잔여량은 115.2 크레딧이 됩니다.
-
기간 4: 42시간에서 54시간 동안 CPU 사용률이 기준 사용률과 동일한 5%로 다시 낮아지며, 이 기간 동안에는 소비 크레딧과 획득 크레딧이 동일하므로 크레딧은 적립되지 않습니다. 따라서 기간 3이 끝날 때의 적립 크레딧 수인 115.2를 그대로 유지됩니다.
-
기간 5: 향후 6시간 동안 인스턴스의 CPU 사용률이 21%로 버스트됩니다. 이 기간에 이 인스턴스는 남아 있는 크레딧을 모두 소비하게 됩니다. 만약 이 시간보다 더 길게 버스트 시간을 유지하려 했거나 CPU 사용률이 더 높았다면, 잔여 크레딧이 모두 소진되었을 때 CPU 사용률은 강제로 기준 사용률 수준으로 하락하게 됩니다. 다시 충분한 적립 크레딧을 획득할 때까지는 CPU 사용률을 버스트할 수 없습니다.
-
기간 6: 기간 5의 버스트 이후 시간 동안 이 인스턴스의 CPU 사용률이 1%를 기록합니다. 이 CPU 사용률은 기준 CPU 사용률보다 낮아 크레딧이 획득 및 적립합니다. 60시간에서 72시간에 이르는 시간 동안 총 57.6 크레딧이 적립됩니다.
모니터링
카카오클라우드 Monitoring 서비스를 통해 주요 메트릭을 수집 및 조회할 수 있습니다. 버스터블 인스턴스의 주요 메트릭은 cpu_credit_usage
및 cpu_credit_balance
이며, 각각 측정 기간 동안 소비한 CPU 크레딧 수 및 이 인스턴스에서 발생된 CPU 크레딧 잔여량을 의미합니다. 이 크레딧 메트릭은 인스턴스 상세 보기의 모니터링
탭의 기본 모니터링
에서 확인하실 수 있습니다.
실제 CPU 정보와 함께 확인할 경우 별도의 모니터링 에이전트 설치가 필요합니다. 모니터링을 위한 설정 및 자세한 내용은 Management > Monitoring > How-to Guides를 참조하시기 바랍니다.