
Amazon 버스트 가능 인스턴스란 무엇인가?
Amazon burstable 인스턴스는 차이점이 있는 AWS 인스턴스 제품군이다. 다른 AWS 인스턴스 제품군과 마찬가지로 일정 수준의 CPU 성능을 보장하지만 워크로드가 필요한 높은 CPU 성능 수준을 유지하기 위해 "기준" 수준의 성능을 버스트할 수 있는 능력도 있다. 최적으로 사용될 때 Amazon 버스터블 인스턴스는 "클라우드에서는 사용한 만큼만 비용을 지불한다"라는 주장에 가장 근접한다.
2010년에 Amazon은 t1.micro 인스턴스를 도입했으며 이 인스턴스는 호스트에 사용되지 않은 리소스가 충분할 경우 필요한 경우 짧은 "주기적" 급증을 허용하는 낮은 백그라운드 수준에서 작동하도록 설계된 인스턴스이다. Amazon 최초의 버스트 가능 인스턴스의 성공으로 2014년에는 다양한 t2 버스터블 인스턴스가 출시되었으며, 2017년에는 사용자에게 무제한 t2 버스터블 인스턴스 옵션이 제공되었다.
이 범위는 2018년과 2019년에 차세대 t3 및 t3a 버스트 가능 인스턴스가 출시되면서 개선되었으며 2020년 9월 에는 Arm 기반 Graviton 2 프로세서로 구동되는 t4g 버스트 가능 인스턴스가 출시되면서 더욱 개선되었다. Amazon에 따르면 Graviton 2 프로세서는 이전 프로세서보다 성능이 7배, 메모리가 5배, 컴퓨팅 코어 수가 4배 더 많아 t3 버스트 가능 인스턴스보다 최대 40% 더 나은 가격 대비 성능을 제공한다.
Amazon 버스트 가능 인스턴스는 어떻게 작동하는가?
버스트 가능한 인스턴스를 배포하면 다른 EC2 인스턴스와 마찬가지로 미리 결정된 최대 vCPU 및 메모리 용량이 있다. 예를 들어 t4g.large 버스트 가능 인스턴스는 m6g.large 범용 인스턴스와 동일한 2개의 vCPU와 8GiB의 메모리를 가진다. 버스트 가능 인스턴스와 표준 인스턴스의 차이점은 버스트 가능 인스턴스는 vCPU당 "기준" 수준의 성능을 가지며 인스턴스가 기준 수준 미만으로 작동할 때 CPU 크레딧을 획득한다는 것이다.
CPU 크레딧은 크레딧이 소진될 때까지 기준 수준 이상에서 인스턴스의 최대 용량까지 운영 비용을 충당한다. 각 CPU 크레딧을 사용하면 인스턴스가 1분 동안 100% vCPU 용량으로 작동할 수 있으며 CPU 크레딧 소비량은 비례 기준으로 계산된다. 따라서 인스턴스가 1분 동안 또는 인스턴스가 30초 동안 용량의 100%로 작동한 경우
다음 차트는 12시간 동안 실제로 적용되는 예를 보여준다. 이 예는 인스턴스 사용률이 30% 미만인 동안 CPU 크레딧을 획득하는 사용률 기준이 30%인 버스트 가능한 인스턴스를 보여주는데 인스턴스 사용률이 30% 이상으로 증가하면 크레딧이 소진될 때까지(인스턴스의 최대 허용 사용률이 30%로 돌아옴) 소비된다.

기준 수준을 계산하고 CPU 크레딧을 획득하는 방법
다양한 크기의 버스트 가능한 인스턴스는 vCPU당 기준 백분율이 다르며 다른 속도로 CPU 크레딧을 얻는다. 버스트 가능 인스턴스의 크기마다 누적할 수 있는 CPU 크레딧 수에 제한이 있는 경우도 있다. 이 시점에서 한 가지 중요한 참고 사항은 t2 버스트 가능 인스턴스를 끄면 CPU 크레딧 밸런스가 0으로 재설정되는 반면, 꺼진 t3 및 t4 버스트 가능 인스턴스에 대한 CPU 크레딧 밸런스는 일주일 후에 0으로 재설정된다는 것이다.
아래 표는 t4g 버스트 가능 인스턴스의 현재 범위, 기본 성능 수준 및 시간당 누적되는 최대 CPU 크레딧 수를 보여준다. CPU 크레딧의 적립은 인스턴스가 작동하는 기본 성능 수준보다 얼마나 낮은지에 따라 달라진다. 예를 들어 t4g.large 버스트 가능 인스턴스는 인스턴스 사용률이 0%일 때 시간당 36개의 CPU 크레딧을 얻지만 인스턴스가 15%(기준 백분율의 절반)에서 작동할 때 시간당 18개의 CPU 크레딧만 얻는다.
인스턴스 크기 | vCPU | 메모리(GiB) | 기준선 | CPU 크레딧/시간 |
t4g.nano | 2 | 0.5 | 5% | 6(최대 144) |
t4g.micro | 2 | 1 | 10% | 12(최대 288) |
t4g.작은 | 2 | 2 | 20% | 24(최대 576) |
t4g.medium | 2 | 4 | 20% | 24(최대 576) |
t4g.대형 | 2 | 8 | 30% | 36(최대 864) |
t4g.xlarge | 4 | 16 | 40% | 96(최대 2,304) |
t4g.2xlarge | 8 | 32 | 40% | 192 (최대 4,608) |
AWS 사용 설명서 에서 t2 및 t3 인스턴스에 대한 사양, 기준 백분율 및 시간당 CPU 크레딧을 확인할 수 있다.
표준 버스트 가능 인스턴스 대 무제한 버스트 가능 인스턴스
Amazon 버스트 가능 인스턴스에 대해 자주 묻는 질문 중 하나는 수요 급증이 발생하고 증가된 수요를 감당할 CPU 크레딧이 충분하지 않을 때 발생하는 상황이다. 이 질문에 대한 대답은 표준 또는 무제한 버스트 가능 인스턴스를 배포했는지 여부에 따라 다르게되는데(배포 시점에 둘 중 하나를 선택할 수 있는 옵션이 있으며 나중에 옵션을 전환할 수 있음)
표준 버스트 가능 인스턴스에서는 기본적으로 아무 일도 일어나지 않는다. 인스턴스는 수요가 줄어들고 CPU 크레딧을 다시 획득할 수 있을 때까지 기준 비율로 계속 작동한다. 그러나 버스트 가능한 성능이 호스트에 충분한 미사용 리소스가 있는지에 따라 결정되었던 2010년과는 다르다. 인스턴스는 더 많은 CPU 크레딧이 누적되는 즉시 성능을 높일 수 있다.
무제한 버스트 가능 인스턴스를 통해 인스턴스는 버스트 가능 인스턴스가 계속 버스팅될 수 있도록 최대 하루 분량의 향후 CPU 크레딧을 미리 "차용"하여 수요 증가에 대응한다. 하루의 CPU 크레딧이 소진되면 인스턴스는 "잉여 크레딧"(획득하지 않았으며 시간당 요금에 포함되지 않은 용량)을 사용하여 버스트 가능한 성능을 계속 제공한다.
잉여 크레딧은 Linux, RHEL 및 SLES 운영 체제에 대해 vCPU 시간당 $0.04의 요율로 청구되며 Linux, RHEL 및 SLES에서 작동하는 이전 세대 t2 및 t3 인스턴스의 경우 요금은 인스턴스 크기에 관계없이 vCPU 시간당 $0.05로 증가하는 반면, Windows 및 Windows SQL 웹에서 작동하는 이전 세대 t2 및 t3 인스턴스의 요금은vCPU 시간당 $0.096이다. 아쉽게도 Windows 사용자는 최신 t4 세대의 버스트 가능 인스턴스를 아직 사용할 수 없다.
Amazon 버스터블 인스턴스의 시작 크레딧 및 최상의 사용
Amazon burstable 인스턴스의 작동 방식에 대한 이전 설명을 읽었다면 "시작 크레딧"이라는 용어를 접했을 수 있다. 시작 크레딧은 t2 인스턴스가 꺼질 때 CPU 크레딧 밸런스 손실을 보상하기 때문에 이전 세대 t2 버스트 가능 인스턴스에만 적용된다. 따라서 t2 인스턴스를 켤 때마다 vCPU당 30개의 시작 크레딧이 적립되며, 24시간 동안 계정당 리전별로 최대 100개의 시작이 가능하다.
따라서 t2 인스턴스가 t4g 인스턴스만큼 비용 효율적이지는 않지만 일반적으로 대기해야 하는 단기 활동(예: 개발, 스테이징 및 테스트)에 이전 세대 인스턴스를 사용하면 이점이 있을 수 있다. t4g 인스턴스는 인스턴스를 버스트하거나 잉여 크레딧을 지불하기 전에 CPU 크레딧을 누적한다. 일반적으로 t2 버스트 가능 인스턴스는 t4g 인스턴스보다 40% 더 비싸지만 추가 비용을 지불하는 것이 이익이 될 수 있는 사용 사례가 있다.
최신 버스터블 인스턴스는 필요할 때 높은 수준의 CPU에 빠르게 액세스할 수 있지만 대부분의 경우 중간 수준의 CPU를 사용하는 애플리케이션에 적합하다. 애플리케이션 예제에는 대규모 마이크로 서비스, 캐싱 서버, 검색 엔진 인덱싱, 전자 상거래 플랫폼, 중소형 데이터베이스, 가상 데스크톱 및 비즈니스 크리티컬 애플리케이션을 비롯한 광범위한 범용 워크로드가 포함된다.
Amazon 버스터블 인스턴스 FAQ
버스트 가능 인스턴스가 "사용한 만큼만 비용을 지불"에 가장 가까운 이유는 무엇인가?
다른 EC2 제품군에서 인스턴스를 프로비저닝할 때 전체 용량을 사용하는 경우는 드물다. 따라서 사용하는 것보다 더 많은 용량에 대해 비용을 지불하게 된다. 무제한 버스트 가능 인스턴스(기본 수준 이상의 성능을 활용하는 경우)를 사용하면 사용한 만큼만 비용을 지불하면 된다. 그러나 잉여 신용 비용은 초과 용량 비용보다 클 수 있으므로 신중하게 고려한 후에만 이 옵션을 선택하는게 좋다.
t4g 버스트 가능 인스턴스가 이전 세대 인스턴스보다 비용 효율적인 이유는 무엇인가?
t4g 인스턴스는 더 효율적인 프로세서를 사용하기 때문에 많은 리소스를 사용하지 않으므로 Amazon은 이에 대해 많은 비용을 청구하지 않는다. 현재 미국 동부(오하이오) 리전에서 t4g.large 인스턴스 비용은 시간당 $0.0672이다(2020년 9월). 사양이 동일한 t2 인스턴스의 비용은 시간당 0.928 USD인 반면, t3 및 t3a 버스트 가능 인스턴스의 비용은 각각 시간당 0.0832 USD 및 0.0752 USD이다.
버스트 가능 인스턴스가 RI(예약 인스턴스) 구매 및 AWS Savings Plans에 포함이 가능한가?
가능하지만 위에서 언급한 바와 같이 약정 할인 플랜에서 무제한 버스트 가능 인스턴스를 사용하는 방법을 신중하게 고려해야한다. 약정이 어떻게 구성되어 있는지에 따라 RI 또는 Savings Plan이 항상 잉여 크레딧으로 실행되는 무제한 버스트 가능 인스턴스를 통해 비용을 절감하는 것보다 더 많은 비용을 지불하게 될 수 있다.
t2, t3 및 t4 인스턴스를 동시에 혼합하여 사용이 가능한가?
가능하다 여러 세대의 버스트 가능한 인스턴스를 혼합하여 사용할 수 있는 경우가 있다. 예를 들어, 비 프로덕션 활동에 대한 시작 크레딧을 활용하거나, Windows 운영 체제에서 일부 인스턴스를 운영하거나 (아직 t4g 인스턴스에서 지원되지 않음), 최신 세대의 Amazon 버스트 가능 인스턴스로 전자 상거래 플랫폼을 최적화하는 경우
무제한 버스트 가능 인스턴스의 비용을 제어하는 가장 좋은 방법은 무엇인가?
무제한 버스트 가능 인스턴스의 비용을 제어하는 가장 좋은 방법은 CloudHealth 플랫폼을 통해 예산 정책을 만드는 것이다. 플랫폼은 무제한 버스트 가능 인스턴스의 활용률을 모니터링하고 인스턴스가 과도한 수의 잉여 크레딧을 사용하거나 현재까지 예상되는 지출이 월간 예산을 초과할 것으로 예상되는 경우 이를 알려준다.
https://blogs.vmware.com/cloudhealth/amazon-burstable-instances-explained/
Amazon Burstable Instances Explained
When used optimally, Amazon burstable instances are the closest there is to the claim that “in the cloud, you only pay for what you use.”
blogs.vmware.com
'DevOps > AWS' 카테고리의 다른 글
[AWS] ECS에서 firelens를 이용한 컨테이너 로그 아카이빙 (1) | 2024.09.01 |
---|---|
[AWS] RDS 인스턴스, Aurora RDS audit로그 활성화 (0) | 2024.09.01 |
[자격증 후기] AWS SAA-C03 솔루션즈 아키텍트 어소시에이트 합격후기(2023-02-27) (4) | 2023.02.27 |
[AWS] SAM으로 API Gateway와 lambda, dynamoDB 배포 (0) | 2023.02.03 |
[AWS] GitHub Actions로 AWS ECS 배포 자동화 하기 (0) | 2023.01.20 |
- Amazon 버스트 가능 인스턴스란 무엇인가?
- Amazon 버스트 가능 인스턴스는 어떻게 작동하는가?
- 기준 수준을 계산하고 CPU 크레딧을 획득하는 방법
- 표준 버스트 가능 인스턴스 대 무제한 버스트 가능 인스턴스
- Amazon 버스터블 인스턴스의 시작 크레딧 및 최상의 사용
- Amazon 버스터블 인스턴스 FAQ
- 버스트 가능 인스턴스가 "사용한 만큼만 비용을 지불"에 가장 가까운 이유는 무엇인가?
- t4g 버스트 가능 인스턴스가 이전 세대 인스턴스보다 비용 효율적인 이유는 무엇인가?
- 버스트 가능 인스턴스가 RI(예약 인스턴스) 구매 및 AWS Savings Plans에 포함이 가능한가?
- t2, t3 및 t4 인스턴스를 동시에 혼합하여 사용이 가능한가?
- 무제한 버스트 가능 인스턴스의 비용을 제어하는 가장 좋은 방법은 무엇인가?