[소개] EC2 범용 인스턴스 : M4와 M5

  • Post category:AWS / Compute
  • Post author:

Amazon EC2는 각 사용 사례에 맞게 최적화된 인스턴스 유형을 제공합니다. 인스턴스 유형은 CPU, 메모리, 스토리지 및 네트워킹 용량의 다양한 조합으로 구성되며, 애플리케이션에 따라 적합한 리소스 조합을 선택할 수 있습니다.

EC2 인스턴스 유형은 사용 목적에 따라 크게 5가지로 구분할 수 있습니다.

  • 범용(General Purpose)
  • 컴퓨팅 최적화(Compute Optimized)
  • 메모리 최적화(Memory Optimized)
  • 가속화된 컴퓨팅(Accelerated Computing)
  • 스토리지 최적화(Storage Optimized)

이번 글에서는 범용 인스턴스 중에서 M4와 M5를 살펴볼텐데, 그에 앞서 EC2 인스턴스 AMI(Amazon Machine Image)에서 사용하는 가상화 유형 두가지에 대해 먼저 알아보겠습니다.

※ 가상화란 : 가상화(Virtualization)은 컴퓨팅 시스템에서 사용자와 시스템 자원 사이에 가상화 층을 구현하여 컴퓨팅 자원에 대한 접근 및 인프라관리를 간소화 하는 것을 의미합니다. 서로 다른 시스템을 논리적으로 통합하거나 반대로 하나의 물리적 시스템을 논리적으로 여러 개의 시스템으로 분할하여 사용하는 기술입니다.

1. AMI 가상화 유형

Linux Amazon 머신 이미지에서는 두 가지 가상화 유형 중 하나, 즉 PV(Para Virtualization, 반가상화) 또는 HVM(하드웨어 가상 머신)을 사용합니다. PV AMI와 HVM AMI의 주요 차이점은 부팅 방법과 더 나은 성능을 위해 특수 하드웨어 확장(CPU, 네트워크, 스토리지)을 활용할 수 있는지 여부에 있습니다. 현재 AWS는 더 나은 성능을 위해 HVM AMI를 사용하고, 또 권장하고 있습니다.

HVM AMI

Hardware Virtual Machine (HVM)은 베어메탈 식의 가상화 타입입니다. 즉 호스트 운영체제 없이 하드웨어 상에 하이퍼바이저가 바로 설치되고, 그 위에 가상머신을 구현하는 전가상화의 일종으로 보면 되는데, 다른 guest OS와 완전히 독립되고 OS 수정없이 그대로 사용가능하다는 이점이 있습니다. 예전에는 퍼포먼스가 PV에 비해 떨어진다고 알려져 왔지만 AWS가 발전하면서 퍼포먼스 차이가 비슷하거나 더 좋은 성능을 내는 경우가 많아지게 되었습니다. ( 자세한 내용은 여기를 클릭하세요.) 따라서 점차 PV에서 HVM으로 AMI 타입이 변하게 되었고 현재는 모든 인스턴스 유형이 HVM AMI를 지원합니다.

ch2_full

PV AMI

Para Virtualization(PV) 는 반가상화로 전가상화와는 달리 하드웨어를 완전히 가상화하지 않습니다. 하이퍼콜(Hyper Call)이라는 인터페이스로 직접 하이퍼바이저에게 요청을 날릴 수 있게 하여 성능이 빠르다는 장점이 있습니다. 하지만 게스트 운영체제가 하드웨어의 가상화 여부를 알고 있어야 하며, 필요한 경우 운영체제의 커널을 수정해야 합니다.

C1, C3, HS1, M1, M3, M2, T1 등과 같은 전 세대 인스턴스 유형은 PV AMI를 지원합니다. 최신 세대 인스턴스 유형은 PV AMI를 지원하지 않습니다.

PV 인스턴스를 지원하는 AWS 리전은 아시아 태평양(도쿄), 아시아 태평양(싱가포르), 아시아 태평양(시드니), EU(프랑크푸르트), EU(아일랜드), 남아메리카(상파울루), 미국 동부(버지니아 북부), 미국 서부(캘리포니아 북부 지역), and 미국 서부(오레곤)이 있습니다.

ch3_para

2. 이전 세대 인스턴스와 범용(M) 인스턴스의 역사

AWS에서는 이전 세대 인스턴스를 기준으로 애플리케이션을 최적화했으며 아직 업그레이드하지 않은 사용자를 위해 이전 세대 인스턴스를 제공하고 있습니다. 최상의 성능을 얻고 싶다면 최신 세대 인스턴스를 사용할 것을 권장하고 있습니다. 물론 AWS에서는 이전 세대 인스턴스를 계속 지원합니다. 이전 세대 인스턴스를 사용하고 있는 경우 어떠한 인스턴스로 업그레이드하는 것이 적합한지 알아볼 수 있습니다.

범용(M) 인스턴스 라인업을 사용하여 웹 및 앱서버를 실행하고, 엔터프라이즈 애플리케이션을 호스팅하고, 온라인 게임 지원 및 캐시 집합을 빌드할 수 있습니다. M5 인스턴스는 2017년 12월 4일에 출시된 최신의 범용 인스턴스입니다. 2006년 m1.small을 출시한 이후로 M2(2009년),M3(2012년) 및 M4(2015년) 인스턴스를 출시하면서 계속해서 발전해왔습니다.

3. M4 인스턴스

M4 인스턴스는 EC2 전용으로 최적화된 맞춤형 Intel Xeon E5-2676 v3 Haswell 프로세서를 사용합니다. 이 제품은 2.4GHz의 기본 클록 속도로 작동하며 Intel Turbo Boost를 사용하여 3.0GHz까지 높을 수 있습니다. Intel Xeon 프로세서는 워크스테이션, 서버 등 특별한 용도의 컴퓨터를 위해 개발된 CPU입니다. 일반 PC용으로 개발된 코어 i 프로세서, 모바일 기기용으로 개발된 아톰 프로세서와 전혀 다른 특성을 가집니다. 제온 프로세서는 가상화(VM), 병렬처리, 멀티코어, 신호 암호화, ECC(오류검출, 서버는 메모리 사용이 잦기 때문에 오류 발생확율이 높아 해당 기능이 필요합니다.) 메모리 지원, 다중 CPU 소켓 등 워크스테이션이나 서버를 위한 기능을 제공합니다. (출처: IT동아)

M4 인스턴스의 사양은 다음과 같습니다.

인스턴스 이름에서 규칙을 찾을 수 있습니다. ‘m4’는 인스턴스 유형을 나타내며, m4.large를 기준으로 x의 개수에 따라 vCPU 개수와 Memory 용량이 증가함을 알 수 있습니다.

M4 인스턴스는 다음과 같은 기능이 있습니다.

  • 추가 비용 없이 기본적으로 EBS 최적화
    EBS 최적화 인스턴스를 사용하면 EC2 인스턴스에서 EBS 볼륨에 프로비저닝된 IOPS(Input/Output Operations Per Second)를 활용할 수 있습니다. EBS 최적화 인스턴스는 Amazon EC2와 Amazon EBS 간에 전용 처리량을 제공하며, 사용하는 인스턴스 유형에 따라 500~4,000Mbps 범위에서 처리량을 선택할 수 있습니다. 전용 처리량 덕분에 Amazon EBS I/O와 EC2 인스턴스의 기타 트래픽 간에 경합이 최소화되어, EBS 볼륨의 성능이 극대화됩니다. EBS 최적화 인스턴스는 표준 및 프로비저닝된 IOPS Amazon EBS 볼륨 모두에 사용할 수 있도록 설계되었습니다. 프로비저닝된 IOPS 볼륨은 EBS 최적화 인스턴스에 연결하는 경우 지연 시간이 10밀리초 미만으로 감소하며, 운영 시간의 99.9%에 해당하는 기간 동안, 프로비저닝된 IOPS 성능의 10% 이내를 유지하도록 설계되었습니다. ( EBS 볼륨 유형에 대한 설명은 이 글에서는 다루지 않습니다. 자세한 사항은 여기를 클릭하여 참고하시기 바랍니다.)현재 세대 인스턴스 유형의 경우 EBS 최적화 기능이 추가 비용 없이 기본적으로 활성화됩니다. (EBS 최적화에 대한 자세한 설명은 여기를 클릭하여 참고하시기 바랍니다.)
  • 향상된 네트워킹 지원
    확장 네트워킹에서는 단일 루트 I/O 가상화(SR-IOV)를 사용하여 고성능 네트워킹 기능을 제공합니다. SR-IOV는 기존 가상 네트워크 인터페이스에 비해 높은 I/O 성능 및 낮은 CPU 사용률을 제공하는 디바이스 가상화 방법입니다. 확장 네트워킹을 통해 대역폭과 PPS(Packet Per Second) 성능이 높아지고, 인스턴스 간 지연 시간이 지속적으로 낮아집니다. 확장 네트워킹 사용에 따르는 추가 요금은 없습니다. M4(m4.16xlarge 제외) 인스턴스는 확장 네트워킹을 위해 인텔 82599 VF 인터페이스를 사용합니다.
  • 컴퓨팅, 메모리 및 네트워크 리소스를 균형있게 제공
    범용 인스턴스의 목적에 맞게 균형있는 인스턴스 리소스를 제공합니다. 소형 및 중형 데이터베이스, 추가 메모리가 필요한 데이터 처리 작업, 대규모 캐싱, SAP, Microsoft Share Point, 클러스터 컴퓨팅 및 기타 엔터프라이즈 애플리케이션용 백엔드 서버 실행 등에 사용하는 것이 좋습니다.

4. M5 인스턴스

Amazon EC2 M5 인스턴스는 최신의 범용 컴퓨팅 인스턴스입니다. M5 인스턴스는 이전 세대의 제품보다 훨씬 우수한 가격 대비 성능을 제공합니다. 2.5GHz에서 실행되는 인텔 Xeon Platinum 8175M 시리즈 프로세서를 기반으로하는 M5 인스턴스는 까다로운 작업 부하를 위해 설계되었으며 코어 단위로 M4 인스턴스보다 14 % 향상된 가격 대비 성능을 제공합니다. 

간단히 말해, 가능하다면 M4 라인업 보다는 최신 버전인 M5를 사용하는 것이 비용과 성능에서 이익을 볼 수 있습니다.

<m5.xlarge와 m4.xlarge의 비교표. m5를 쓰지 않을 이유가 없습니다.>

여기서 m4에는 없고 m5에는 있는 스토리지 타입이 눈에 띕니다. 바로 NVMe SSD 입니다. NVMe는 무엇이고 앞의 숫자는 무슨 의미일까요?

우선 앞의 숫자부터 설명하겠습니다. 곱셈기호 앞의 숫자는 NVMe SSD 저장장치의 개수를 뜻하며, 곱셈기호 뒤의 숫자는 한개의 저장장치당 저장할 수 있는 크기를 나타냅니다. 4 x 900GB = 3.6TB가 되는 것을 볼 수 있습니다.

NVMe는 NVM Express의 준말이며, 여기서 NVM이란 비휘발성 메모리(Non-Volatile Memory)를 뜻합니다. Express는 PCI 익스프레스 버스를 뜻하며, 두 단어를 합치면 “PCI 익스프레스 버스에 부착된 비휘발성 메모리”로 말할 수 있습니다. PCI 익스프레스(PCIe)에 대한 설명은 여기를 클릭해 주세요.

즉 PCIe 버스를 통해 작동하므로 하드디스크가 아닌 고속 메모리에 가까운 성격을 가지고 있습니다. 속도가 굉장히 빠르며 이전 세대에 사용된 SATA SSD에 비해 4배 더 빠르게 데이터를 읽고 쓸 정도입니다. 탐색 속도도 10배나 더 빠릅니다.  현재 세 가지 주류 스토리지 기술의 대략적인 최대 성능은 다음과 같습니다. (출처 : www.itworld.co.kr)

< 처리량과 검색시간을 비교한 그래프. 현저한 차이를 확인할 수 있습니다.>

네트워크 처리량도 세대별로 큰 차이가 있습니다. 다음 표는 m3 및 m4, m5 인스턴스의 평균 네트워크 처리량을 나타낸 표입니다. 단위는 Gbit/s이며 벤치마크 툴은 iperf3을 사용하였습니다.

인스턴스 타입 xlarge를 기준으로

  • M3는 0.99Gbit/s(약 133MB/s)
  • M4는 0.74Gbit/s(약 100MB/s)
  • M5는 1.24Gbit/s(약 166MB/s) 이 측정되었습니다.

특히 M4에서 M5로 넘어가면서 네트워크 처리량이 큰 폭으로 증가함을 알 수 있습니다.

이상으로 M4와 M5에 대한 설명을 마치겠습니다.

SA팀 황문주