처음 AWS를 접하게 되면 프리티어로 사용하다보니 t2.micro하게 되었는데 elasticsearch를 설치하기 위한 서버를 고르다보니 서버별 차이점이 궁금하게 되어 찾아보게 되었습니다.
당연히 넘버링에 의해 t2가 t3보다 성능이 떨어지고 가격적인 면에서 더 저렴할 것으로 생각했는데 오히려 반대이길래 무슨 차이가 있는지 궁금해졌습니다.
인스턴스 계열 특징
AWS에서 우리가 인스턴스를 구매하게 되면 24시간 같은 성능을 제공할 것이라고 생각되지만, 그렇지 않습니다.
서비스를 제공하면서 생기는 트래픽이라는 것은 서비스를 사용하는 주체에 따라 몰리는 시간대가 정해질 것 입니다. 예를들어서 위의 그림처럼 시간대에 따라 cpu의 사용양이 달라지겠지요. 이런 상황에서 아마존은 크레딧과 버스트 기능이라는 정책을 만들었고, 구매한 인스턴스의 cpu 성능을 사용하지 않는 인스턴스에 크레딧
을 제공하며 쌓아두게 됩니다.
만약, 서비스의 트래픽이 폭증하게 되어 기준 이상의 성능이 필요해지게 되면 어떻게 될까요? 이 때, 우리의 인스턴스는 버스트 기능이 켜지면서 그 동안 모아둔 크레딧을 소모하며 기준 이상의 성능으로 서비스를 제공할 수 있게 됩니다. 만약 크레딧이 다 떨어졌을 때는 기준 이상의 성능을 발휘하지 못하고 성능은 떨어지게 됩니다..
이러한 기능은 평소에는 CPU 사용률이 저조하다가 특정 시간대에 높은 사용률이 필요한 배달의 민족
과 같은 서비스에 필요한 서비스일 것입니다. 음식 배달을 해주는 서비스인 배달의 민족
은 사람들이 주로 사용하는 점심시간 대와 저녁시간 대에 트래픽이 몰리기 때문입니다.
이와 달리, 24시간 내내 부하가 주어져야하는 서버가 필요하다면 m4, m5 계열의 인스턴스를 사용하는 것이 바람직하다고 합니다. t계열과는 달리 크레딧 개념을 사용하지 않고 항상 같은 성능을 제공해주지만, 가격이 비싸기 때문에 필요한 성능에 맞추어 인스턴스를 잘 선택할 필요가 있습니다.
본인의 프리티어 인스턴스에서도 크레딧 정보를 확인할 수 있는데 아래 그림에서 처럼 크레딧 사양이 standard인 것을 확인할 수 있습니다. 만약, 크레딧이 없더라도 무제한적으로 성능을 끌어올리고 싶다면 unlimited로 변경하여 추가 요금을 내면 됩니다.
다만, t2 서버의 경우에는 기본적으로 저렇게 standard로 되어있고, 크레딧 수량만큼만 버스트 기능을 사용할 수 있습니다. 그렇기 때문에 모니터링 탭에서는 다음과 같이 쌓이고 있는 CPU 크레딧 갯수를 확인할 수 있죠.
이와 달리, t3 인스턴스는 기본적으로 Unlimited이며 버스트가 지속적으로 가능하지만 요금을 내야합니다.
아마존 공식 문서 - 버스트 가능 성능 인스턴스에 대한 CPU 크레딧 모니터링
버스트 가능 성능 인스턴스에 대한 CPU 크레딧 모니터링 - Amazon Elastic Compute Cloud
버스트 가능 성능 인스턴스에 대한 CPU 크레딧 모니터링 EC2는 지표를 Amazon CloudWatch로 전송합니다. CPU 크레딧 지표는 CloudWatch 콘솔의 Amazon EC2 인스턴스별 지표에서 또는 각 인스턴스에 대한 지표
docs.aws.amazon.com
그렇다면 t2와 t3의 차이점은?
위에서 말한 t2와 t3는 기능적으로 버스트 기능을 기본적으로 제공하는지도 차이가 있지만, 계열을 구분짓는 기준은 cpu의 세대차이입니다.
t2는 인텔 제온 프로세서를 사용한 서버이며, t3는 더 최신 cpu인 인텔 제온 스케일러블(Skylake, Cascade Lake 프로세서) 프로세서를 사용하기 때문에 세대 차이가 나게 됩니다. t2부터 t4까지의 차이를 표로 나타내자면 다음과 같습니다.
Type | 설명 | 프로세서 패밀리 | 세대 |
---|---|---|---|
T4g | T3에 비해 최대 40% 더 높은 가격 대비 성능과 20% 저렴한 비용을 제공하는 최저가 EC2 인스턴스 유형 | Arm Neoverse N1 코어가 장착된 AWS Graviton2 프로세서 | 최신 세대 |
T3a | T3 인스턴스에 비해 10% 저렴한 비용의 최저가 x86 기반 인스턴스 | AMD 1세대 EPYC 프로세서 | 최신 세대 |
T3 | 이전 세대 T2 인스턴스에 비해 최대 30% 낮은 가격 대비 성능으로 x86 워크로드를 위한 최고의 가격 대비 최대 성능 제공 | 인텔 제온 스케일러블(Skylake, Cascade Lake 프로세서) | 최신 세대 |
T2 | 이전 세대 버스트 가능 인스턴스 | 인텔 제온 프로세서 | 이전 세대 |
가성비적으로 t2보다 t3가 좋고, amd cpu를 사용하는 t3a가 효율이 좋지 않나 하는 생각이 드네요.
참고: t3 인스턴스 크기 별 시간당 가격
t2 vs t3 선택?
업계에서는 예전부터 써오던 t2를 많이 사용하고 있는 것 같습니다.
t2의 시작으로부터 5년 후인 2018년 하반기에 t3가 세상에 나오게 되었고, 시작 코어가 2코어로 시작되고 가격이 더 저렴하기에 현재로써는 요금을 낸다면 t3를 사용하지 않을 이유가 없다고 생각됩니다.
실제로 업계에서 사용하게 된다면 각 세대별 프로세서의 진화로 30%, 40%의 서버 비용 절감이 된다고 하니 수 백, 수 천만 단위로 서버 비용을 지출하는 큰 서비스에서는 큰 차이가 있겠구나 라는 생각을 하게 되었습니다. :)
'Infra > Cloud' 카테고리의 다른 글
Amazon SES 사용하여 메일 보내기 (2) - 아마존 SES 설정 (0) | 2024.01.14 |
---|---|
Amazon SES 사용하여 메일 보내기 (1) - SES란? (0) | 2024.01.14 |
Ubuntu - Hostname 변경하기 (0) | 2022.09.20 |
ubuntu ec2 시스템 시간 바꾸기 (0) | 2022.09.13 |
ssh-keygen을 이용한 SSH - RSA key pair 생성 방법 + GCP (0) | 2022.09.08 |