WiseN

[Re2021] 새로 출시된 EC2 인스턴스 타입 살펴보기 (im4gn / is4gen / g5g / m6a)

Jan 01, 2022   |   AWS

작성자_최준승

페이스북 공유하기 트위터 공유하기
Blog thumbnail

안녕하십니까, GS네오텍 최준승입니다. 이번 글에서는 리인벤트 2021 행사 전후로 새로 발표된 EC2 인스턴스 타입들을 소개해 드리려고 합니다. 사실 AWS에서 새로운 EC2 인스턴스 타입을 발표하는 것은 매우 빈번하고 흔한(?) 일이죠. 따라서 오늘은 어떤 Instance Family가 어떤 스펙으로 출시되었는지는 가급적 간결하게 다루고, EC2 인스턴스 출시 및 선택과 관련된 다양한 얘기들을 자유롭게 풀어보려고 합니다.



(모두가 아는 그림) 


보통 클라우드 환경에서는 VM(AWS에서는 EC2 인스턴스) 단위로 자원을 할당합니다. CSP에서 그렇게 하는 이유는 사용자에게 내어주는 자원(리소스)의 단위를 최대한 작고 다양하게 만들기 위함입니다. Dedicated Host같이 물리 호스트 단위로 자원을 넘겨주는 옵션도 물론 제공하지만, 이건 단가나 스펙이 아무래도 좀 부담스럽죠. Lambda같이 내가 배포한 함수가 실제 어떤 스펙의 물리 인프라 위에서 동작하는지 전혀 알 수 없는 깜깜이(Serverless) 서비스도 있습니다. 보통은 사용자가 OS 환경까지 제어 가능한 범위의 자원을 원하기 때문에, CSP는 다양한 Host를 기반으로 VM 단위로 Sizing을 나눠 자원을 제공합니다. 너무 뻔한 이야기를 길게 했네요.



(EC2 Instance Type의 작명 규칙 예시)


AWS의 인스턴스 작명 규칙은 위와 같습니다. 마침표 앞의 값은 Host의 스펙 특성을 얘기하구요. 마침표 뒤의 값은 그 Host 자원을 어느 단위의 크기(Size)로 잘랐느냐를 뜻합니다. 따라서 새로운 인스턴스 타입을 출시했다는 말은 새로운 Instance Family가 출시되었다는 뜻이고, 이는 새로운 Host 풀(Pool)을 AWS 환경에 추가했다는 말이 됩니다.


CSP에서 다양한 인스턴스 타입을 제공하는 것은 사용자에게 좋은 일일까요? 물론 좋은 일입니다. 왜냐면 컴퓨팅 자원에 대한 사용자의 니즈가 다양하기 때문에, 여기에 대응하는 선택지는 많으면 많을수록 좋습니다. 반대로 이를 관리하는 CSP 입장에서도 그럴까요? 아마도 그렇지 않을 겁니다. 다양한 인스턴스 타입(君)을 관리하고 운영하는 관점에서는, 관리 유형이 최대한 단순한게 좋습니다. 이는 미리 물리 인프라 자원을 사서 배포하고 예비 풀(Pool)을 관리하는 입장에서도, 새로운 세대의 인스턴스를 출시하고 예전 세대의 인스턴스를 Deprecated해야 하는 입장에서도 마찬가지의 일입니다. (참고로 찾아보니 제가 작년에도 같은 얘기를 했군요..)



(CLI를 통해 현재 제공하는 Instance Type을 열거해 보았다. 결과는 후략)



(22년 1월 기준으로 서울 리전에서는 290여개에 달하는 인스턴스 타입을 사용할 수 있다. 결과값 중 앞줄은 카운팅에서 제외)


그러한 복잡성에도 불구하고, AWS는 꽤나 다양한 인스턴스 타입을 제공하고 있습니다. 아니, 제가 경험한 CSP 중에서는 가장 다양한 유형의 스펙을 제공하고 있습니다. 오히려 선택지가 너무 많아서 사용자에게 선택장애(?)를 불러 일으킬지도 모릅니다. 이 스펙의 바다속에서 어떤 선택지를 골라야 할지의 문제는 뒤에서 또 언급하기로 하고, 오늘의 주제로 돌아와 리인벤트에서 발표된 신규 인스턴스 타입(계열)을 몇가지를 살펴보도록 합시다.



(여러분은 Annapurna Labs를 들어보셨습니까? 아니요)


AWS에서는 Host를 구성하는데 다양한 프로세서를 사용합니다. 초기에는 대부분 Intel Xeon 계열의 프로세서를 사용했구요.(물론 지금도 폭넓게 활용중) 2018년 전후로는 AMD EPYC 계열의 프로세서도 도입함으로써 다각화가 시작되었습니다. 한편 AWS에서는 2015년에 Annapurna Labs라는 이스라엘의 스타트업을 인수하였는데요. 이곳에서 직접 프로세서를 설계하여 나온 첫 결과물이 2018년 말에 나온 Arm 기반의 Graviton(Alpine AL73400) 프로세서입니다, 그리고 이어서 2019년 말에 Graviton2(Alpine ALC12B00)를, 2021년 말에 Graviton3를 연이어 발표하였습니다. 현재는 Graviton2 기반의 인스턴스 타입들이 다양하게 출시되어 있는 상태고, 아마도 2022년에는 Graviton3 기반의 인스턴스 타입들이 정식으로 GA될 예정입니다.


오늘은 총 4가지 계열의 신규 인스턴스 타입을 소개해드릴 예정인데요. 3개는 Graviton2 프로세서를, 남은 한개는 AMD 프로세서를 기반으로 하고 있습니다. 각 계열(Family)별로 제공하는 인스턴스 타입을 가볍게 쭉 보고 넘어가도록 하겠습니다.



 


첫번째는 im4gn 계열입니다. Graviton2 프로세서를 사용하기 때문에 네이밍에 g가 붙어있는것을 볼 수 있습니다. Graviton 계열의 인스턴스는 아무래도 프로세서를 직접 조달(?)하다 보니, 상대적으로 높은 가성비를 제공합니다. 또한 i계열(Storage-optimized 계열 중 하나)이기 때문에 꽤나 고용량의 로컬 스토리지를 제공하고 있구요. 로컬 스토리지는 NVMe 인터페이스를 사용하여 엑세스 속도가 빠르고, 제공하는 스토리지 용량 또한 i3 계열보다 높은 가성비를 보여주고 있습니다.



 


두번째는 is4gen 계열입니다. 마찬가지로 Graviton2 프로세서를 기반으로 하고 있습니다. vCPUs와 Memory의 Ratio가 1:6으로, 1:4인 im4gn 계열과 차이가 있구요. 마찬가지로 NVMe 인터페이스의 빠른 로컬 스토리지를 제공하고 있습니다. 대조군은 i3en 계열로, 상대적으로 더 높은 컴퓨팅 성능과 낮은 스토리지 단가를 제공하고 있습니다.


참고로 위 2개의 인스턴스 계열은 2021년 12월 기준으로, 미주에 위치한 Region에만 배포되어 있어 서울 리전에서는 사용할 수 없습니다. 반면 다양한 EC2 구매 옵션(On demand, RI, Spot, Savings Plan)에는 모두 대응하고 있어, 원하는 옵션을 선택해서 활용할 수 있습니다.



 


세번째는 g5g 계열입니다. 5앞에 있는 g는 Graphic 계열을 뜻하고 5뒤에 있는 g는 Graviton을 의미합니다. NVIDIA T4G Tensor Core GPU가 탑재되어 있어, 각종 그래픽 워크로드에 최적화되어 있습니다. 표를 보면 8xlarge 이하에는 1개의 GPU가, 16xlarge 이상에는 2개의 GPU가 탑재되어 있고, ML 추론이나 그래픽 렌더링 작업 등에 높은 효율을 보여줍니다. 참고로 2021년 12월 기준으로 서울 리전을 지원합니다.


덧붙여 한가지 알아둘 점은 위 3개의 인스턴스 타입 모두 Linux 계열의 OS만 지원합니다. Windows 계열의 OS는 지원하고 있지 않습니다.



 


마지막 네번째로 소개드릴 신규 인스턴스 타입은 m6a 계열입니다. 3세대 Gen AMD EPYC 프로세서를 기반으로 하고 있으며, 1세대 AMD EPYC 프로세서를 사용한 m5a 계열을 대체할 수 있는 인스턴스 타입입니다. 동일 Size의 x86 기반의 인스턴스 타입에 비해 미세하게 높은 가성비를 제공하고 있으며, m타입 답게 다양한 용도로 폭넓게 사용할 수 있습니다. 참고로 2021년 12월 기준, 서울 리전은 지원하고 있지 않습니다.


앞서 리인벤트 2021에서 발표된 신규 인스턴스 타입 4개를 빠르게 살펴보았습니다. 대개의 IT 신제품이 그러하듯이, AWS에서도 새로운 인스턴스 계열은 보통 이전 세대에 비해 상대적으로 낮은 가격과 높은 성능을 제공하고 있습니다. 새로운 물건을 사용한다는 약간의 부담(?)을 극복한다면, 더 좋은 것들을 더 싼 가격에 쓸 수 있는 셈입니다. 새로운 기술과 새로운 인프라 자원들을 동일한 사용자 환경에서 빠르게 전환할 수 있다는 것이 클라우드의 장점이기도 하니, 이를 적극적으로 활용하는 것도 좋겠습니다.



 


자, 이제 재미없는 이야기를 마칠 시간이 되었네요. 앞에서 언급했던 수많은 인스턴스 타입의 홍수 속에 어떤 인스턴스를 선택할 것이냐(+Right Sizing)의 문제는 여전히 남아있습니다. 그리고 재미있는건 이 문제를 해결하는 방법 또한 AWS에서 서비스의 형태로 제공하고 있다는 것이죠. 2019년 리인벤트 행사에서 발표되었던 Compute Optimizer 서비스는, 이후에도 개선을 거듭하여 꽤나 쓸만한 추천-도우미(?) 서비스가 되었습니다. 관련 내용도 이번 시리즈의 다른 글에서 다루고 있으니 참고하시면 좋겠네요.


마지막으로 사족을 달면 c7g같이 Graviton3 프로세서를 기반으로 한 인스턴스 타입은 이번글에서 다루지 않았습니다. 다루지 않은 이유는 현재 GA가 아니라 Preview 상태이기 때문입니다. 예전 AWS의 패턴을 보면 아마 2022년 초중반경에 배포가 될것 같구요. 그때 여유가 되면, 해당 내용도 짧게 다뤄보도록 하겠습니다. 그럼 진짜 마칩니다. 끝.


[링크]

https://aws.amazon.com/blogs/aws/new-storage-optimized-amazon-ec2-instances-im4gn-and-is4gen-powered-by-aws-graviton2-processors/

https://aws.amazon.com/blogs/aws/new-amazon-ec2-g5g-instances-powered-by-aws-graviton2-processors-and-nvidia-t4g-tensor-core-gpus/

https://aws.amazon.com/blogs/aws/new-amazon-ec2-m6a-instances-powered-by-3rd-gen-amd-epyc-processors/