그럼 이제 AWS에서 burstable 유형의 인스턴스
예를 들어 T2 또는 T3, 그러나 전반적으로 T 패밀리를 살펴보겠습니다
이 말은 T2, T3 유형의 인스턴스를 사용할 때
그 인스턴스는 어느 정도의 CPU 성능을 갖게 됩니다
그럼 머신이 뭔가
아주 예상치 못한 걸 처리하려 할 때
예를 들어 부하가 급증하는 경우에는 많은 CPU가 필요할 때
버스트할 수 있습니다
이는 CPU가 매우 우수해지며
이 급증을 처리할 수 있다는 의미입니다
머신이 버스트할 때
일종의 버스트 크레딧(burst credits)을 사용하며
EC2 인스턴스가 수명 주기를 갖게 되면 이 크레딧이 축적됩니다
그리고 CPU가 강하게 사용될 때 버스트 크레딧이 사용됩니다
그래서 크레딧이 전부 바닥나면
CPU 상태가 아주 나빠집니다
그 말은 즉 올바른 유형의
인스턴스를 사용하지 못한다는 겁니다
지금 그래프에서 보여드리겠습니다
따라서 머신이 버스트하는 것을 멈추면
CPU 크레딧이 시간이 지남에 따라 회복되며
필요할 때 언제든지 재사용할 수 있습니다
첫째로, 인스턴스는 예상치 못한 유형의
트래픽을 처리하는 데 놀라울 정도로 효과적일 수 있으며
올바르게 처리된다면 정말로 여러분을 구하는
유형의 인스턴스가 될 수 있습니다
하지만 계속해서 낮은 크레딧으로
실행되는 인스턴스가 있다면
다른 종류의 인스턴스로 옮겨야 합니다
왜냐하면 아마도 T 유형 패밀리를
올바르게 사용하지 않고 있을 수 있기 때문입니다
여기 CloudWatch 모니터링에서
볼 수 있듯이 CPU 레벨이 치솟으면
CPU 크레딧 잔액이 감소할 것입니다
보시다시피 크레딧 사용량이 급증합니다
이 말은 CPU 크레딧 잔액이 감소하고
일단 급증하면 크레딧이 재구성되고
다른 크레딧 잔액으로
돌아가게 됩니다
크레딧을 살펴보면 서로 다른 유형의 인스턴스는
서로 다른 속도로 크레딧을 쌓을 것입니다
그래서 t2.micro에서 볼 수 있듯이
vCPU 하나에 Launch 크레딧은 30에
시간당 6크레딧을 벌 수 있고
가질 수 있는 최대 크레딧 양은 144입니다
그리고 기준 성능(baseline performance)은 10%입니다
자 그럼
크레딧이 고갈되면 어떻게 되죠?
그래서 제가 작은 실험을 진행해봤습니다
t2.micro에서 CPU의 스트레스 명령을 실행하여
CPU 사용률을 100%로 향상시켰습니다
그리고 보시다시피
크레딧이 모두 소진된 후에는
실제 측정된 CPU 사용률이 감소할 것입니다
함께 살펴보죠 이번에도 CloudWatch에서 가져온 것입니다
인스턴스를 시작했고
스트레스 명령을 실행했습니다
보다시피 CPU 사용률은 급증해
100%까지 올라갔습니다
그 동안 오른쪽을 바라보면
CPU 크레딧 잔액가 있습니다
시작할 때는 t2.micro를 실행할 때 얻는
CPU 크레딧 수인 30에서 시작했고
그 후에 CPU 사용률이
100%로 급상승했기 때문에
크레딧 잔액이 사용되었습니다
시간이 지날수록
현재 CPU 크레딧 잔액이 계속해서 감소하고 있습니다
덕분에 가동률은 여전히 정점을 찍지만
그러나 CPU 크레딧 잔액이 0에 도달했을 때
즉 더 이상 크레딧이 없을 때
여기서 볼 수 있듯이
스트레스 명령이 계속 실행되고 있음에도 불구하고
CPU 사용률이 기준인
10%로 떨어졌습니다
지금 보시는 것처럼
CPU 사용률이 낮습니다
CPU에 크레딧이 더 이상 없을 때
최대 용량의 인스턴스를 실행한다고 해도
측정된 CPU 사용률은 아주 낮아지고
100%가 안 될 것입니다
이는 시험을 준비하는 동안 알아두어야 할 특징입니다
이제 T2 및 T3
언리미티드가 있습니다
이는 무제한 버스트 크레딧 잔액을 제공하는 것입니다
이번에는 크레딧 잔액이 없으므로
원하는만큼 자유롭게 사용할 수 있습니다
그 말은 크레딧 잔액을 초과하면
추가로 돈을 내야 한다는 거죠
하지만 성능에 손실은 없을 것입니다
그리고 24시간 기준을
초과하는 CPU 사용률이 있는 경우
시간당 사용한 CPU 수에 대한
추가 요금이 발생합니다
따라서 CPU 인스턴스가
늘 100%인 경우
해당 동작은 표시되지 않을 것입니다
그래서 많은 금액을 지불하게 될 것입니다
그러니 조심하시고
인스턴스의 CPU Health 상태를 관리하세요
이 그래프에서 보여드리고 싶었던 게 이거입니다
여기 보시면
CPU 사용률이 100%입니다
그리고 지금 CloudWatch에서 CPU 크레딧 사용도
많이 사용하고 있습니다
시간당 5크레딧입니다
그리고 CPU 크레딧 잔액을 보면
처음엔 0이었는데 여기 파란 선이 보이죠
이는 먼저 24시간 동안의
SurplusCreditBalance을 활용한다는 것을 의미합니다
이걸 활용하고 있으며
그런 다음 72까지 도달하면
이 유형의 인스턴스에 대해 1시간 동안
사용할 수 있는 크레딧의 양이며
그 후 CPU에 요금이 부과되며
CPUSurplusCreditCharged요금이 발생합니다
이는 T3 언리미티드 또는 T2 언리미티드의 기능으로
여분의 CPU 잔액이 제공되었고 그에 대한 요금을 지불하게 됩니다
하지만 이는 여전히 CPU 사용률을
100%로 유지하고 필요한 성능을
제공합니다
그럼 지금 인스턴스를 시작해보면
그리고 예를 들어 버스터블 유형의 인스턴스인
t2.micro와 같은
T 패밀리의 인스턴스를 선택하면
아래로 스크롤하여 고급 세부 정보가 있고
다시 아래로 스크롤하여 크레딧 사양을 찾습니다
여기서 원하는 경우
무제한 버스트 크레딧을 얻기 위해 무제한 모드를 선택할 수 있습니다
하지만 추가 요금이 적용될 수 있습니다
아니면 표준 크레딧만 사용하려면 표준 모드를 선택할 수 있습니다
아무것도 선택하지 않으면
AWS 논리에 기반한 기본값으로 진행될겁니다
마지막으로 t2.micro로 들어가서
Monitoring(모니터링)에 들어가
크레딧을 살펴보면
아래로 스크롤을 내리면
CPU 크레딧 사용량(credit usage)을 확인할 수 있습니다
시간당 CPU 크레딧이 얼마나 사용되는지
또는 CPU 크레딧 잔액도 확인할 수 있습니다
따라서 View in metrics(지표에서 보기)를 클릭하여
CloudWatch 지표에서 더 큰 그래프로 보며는
보시다시피 약 30 크레딧에서 시작하여
시간이 지나면서
CPU 인스턴스를 많이 사용하지 않아 크레딧이 누적되고 있습니다
그리고 CPU 인스턴스와
EC2 인스턴스를 사용하는 동안
여기에서도 일부 CPU 크레딧이
소비되었습니다
이로써 이번 강의는 마치겠습니다
마음에 드셨으면 좋겠고 다음 강의에서 뵙겠습니다