Amazon EC2의 종류와 기능

강재민·2022년 11월 16일
0

AWS는 왜 더 성능 좋은 인스턴스들을 개발하는가?

우리는 autoscaling을 공부하면서 Scale Out의 장점을 많이 들었다. 필요에 따라 인스턴스를 수평적으로 확장하면 아무리 대규모 트래픽이 들어온다고 하더라도 프로비저닝만 잘 되어있다면 대응 가능하다. 하지만 AWS는 매번 새로운 인스턴스 타입을 내놓고 있다. 왜그런 것일까?

결론 부터 말하자면 더욱 효율적인 즉 가격 대비 성능이 좋은 인스턴스를 계속해서 개발하고 있는 것이다.

그럼에도 불구하고 레거시 인스턴스들이 아직 존재하는 것은 인스턴스를 굳이 중지 시켜가면서 까지 변화를 추구하지 않는 사용자들이 꽤 있기 때문이라고 한다.


같은 조건의 인스턴스 예제

아래 표는 거의 같은 조건의 인스턴스들을 가격별로 오름차순 정리하였다. (북미 기준 2022.11.16 작성)

cpu 8 메모리 32인 조건특이사항네트워크 성능EBS 대역폭가격 (USD)
t4g.2xlargearm64사용, 기준성능/vCPU 40%, 획득한 CPU 크레딧/시간 192Up to 5 Gigabit최대 27800.2688
t3a.2xlarge시간당 CPU 크레딧 192, 스토리지 EBS 전용Up to 5 Gigabit0.3008
m6g.2xlargearm64, 스토리지 EBS 전용Up to 10 Gigabit최대 47500.308
t3.2xlarge시간당 CPU 크레딧 192, 스토리지 EBS 전용Up to 5 Gigabit0.3328
m5a.2xlarge인스턴스 스토리지 EBS 전용Up to 10 Gigabit최대 28800.344
m6a.2xlarge인스턴스 스토리지 EBS 전용Up to 12.5 Gigabit최대 66000.3456
m6gd.2xlargearm64, 인스턴스 스토리지 1 x 474 NVMe SSDUp to 10 Gigabit최대 47500.3616
t2.2xlarge시간당 CPU 크레딧 81, 인스턴스 스토리지 EBS 전용Moderate0.3712
m6g.2xlargearm64, 인스턴스 스토리지 EBS 전용Up to 10 Gigabit최대 47500.376
m5.2xlarge인스턴스 스토리지 EBS 전용Up to 10 Gigabit최대 47500.384
m6i.2xlarge인스턴스 스토리지 EBS 전용Up to 12.5 Gigabit최대 100000.384
m4.2xlarge인스턴스 스토리지 EBS 전용High10000.4
m5ad.2xlarge인스턴스 스토리지 1 x 300 NVMe SSDUp to 10 Gigabit최대 28800.412
m5d.2xlarge인스턴스 스토리지 1 x 300 NVMe SSDUp to 10 Gigabit최대 47500.452
h1.2xlarge인스턴스 스토리지 1x 2,000 HDD, 최대 처리량(MB/s, 128KiB I/O) 218.75, 최대 IOPS(16KiB I/O), 12000Up to 10 Gigabit최대 17500.468
m6id.2xlarge인스턴스 스토리지 1x474 NVMe SSDUp to 12.5 Gigabit최대 100000.4746
m5n.2xlarge인스턴스 스토리지 EBS 전용Up to 25 Gigabit최대 47500.476
g4ad.2xlarge인스턴스 스토리지 1 x 300 NVMe SSD , GPU 1개, GPU 메모리 8GiBUp to 10 Gigabit최대 30000.54117
m5dn.2xlarge인스턴스 스토리지 1 x 300 NVMe SSDUp to 25 Gigabit최대 47500.544
m5zn.2xlarge인스턴스 스토리지 EBS 전용Up to 25 Gigabit31700.6607
im4gn.2xlargearm64, 인스턴스 스토리지 1 x 3,750 AWS Nitro SSDUp to 25 Gigabit최대 95000.72758
g4dn.2xlarge인스턴스 스토리지 1 x 225 NVMe SSD, GPU 1개, GPU 메모리 16GiBUp to 25 Gigabit최대 35000.752
d3en.2xlarge인스턴스 스토리지 4 x 14 HDD, 디스크 처리량 집계(MiB/초) 1000Up to 25 Gigabit17001.051
g5.2xlarge인스턴스 스토리지 1 x 450 NVMe SSD, GPU 1개, GPU 메모리 24GiBUp to 10 Gigabit최대 35001.212
trn1.2xlarge인스턴스 스토리지 1 x 500 NVMe SSD, Trainium 액셀러레이터 1, 액셀러레이터 메모리(GB) 32Up to 12.5 Gigabit최대 200001.34375

인스턴스 사양 종류

  • CPU
  • 메모리
  • 스토리지
  • 네트워크 대역폭
  • EBS 대역폭
  • arm64인지 x86_64인지
  • 디스크 처리량
  • GPU
  • GPU메모리
  • Trainium 액셀러레이터
  • 액셀러레이터 메모리

관전포인트

  • 스토리지 존재여부, 스토리지가 존재하면 가격이 비싸진다.
  • 네트워크 성능, 네트워크 성능이 높을 수록 가격이 비싸진다.
  • arm64, x86_64를 지원하지 않지만 가격이 싸다. arm64는 아마존에서 자체cpu를 개발했고 최적화했기 때문에 저전력이다. 때문에 저렴하다. 하지만 x86환경에서 구성한 어플리케이션이 있다면 마이그레이션 작업이 필요하다. 설계단계부터 사용한다면 괜찮다. 또한 AWS에 종속되는 단점이 있고 아직 개발단계이기 때문에 인스턴스 선택의 폭이 좁은편이다.
  • 숫자옆에 a가 들어있으면 EBS 대역폭이 조금 낮고 가격이 싸다 (최대 10% 절약형)
  • GPU가 들어가면 비싸다
  • Trainium 액셀러레이터가 들어가면 비싸다
  • EBS 대역폭은 최대 몇몇 보다 고정 대역폭이 비싸다

m6i vs m5
가격이 같은데 네트워크 대역폭이나 EBS 대역폭이 m6i가 더 높다. 왜?
세대가 높아질 수록 가격 대비 성능이 좋아진다는 것을 가장 적나라하게 보여주는 예시이다.

이러한 신규 인스턴스에서 최적의 네트워킹 성능을 구현하려면 Elastic Network Adapter(ENA) 드라이버 업데이트가 필요하다고 한다.

스토리지 성능을 결정하는 요소
https://performance.tistory.com/29

https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/ebs-optimized.html


metal 시리즈

metal 시리즈는 베어메탈 시리즈로 OS를 원하지않고 직접적으로 하드웨어를 컨트롤하고 싶어하는 사용자에게 적합합니다. 가격의 차이는 없습니다.
중첩 가상화로 인한 성능 저하를 원치 않는 고객이 본인들의 가상화 시스템을 이용하고 싶을 경우 또는 가상환경 없이 하드웨어를 사용하고 싶은 경우 사용합니다.


범용

범용 인스턴스는 말그대로 균형있게 구성한 인스턴스입니다. 이 인스턴스는 웹 서버 및 코드 리포지토리와 같이 이러한 리소스를 동등한 비율로 사용하는 애플리케이션에 적합합니다.


컴퓨팅 최적화

컴퓨팅 최적화 인스턴스는 고성능 프로세서를 활용하는 컴퓨팅 집약적인 애플리케이션에 적합합니다. 이 제품군에 속하는 인스턴스는 배치 처리 워크로드, 미디어 트랜스코딩, 고성능 웹 서버, HPC(고성능 컴퓨팅), 과학적 모델링, 전용 게임 서버 및 광고 서버 엔진, 기계 학습 추론 및 기타 컴퓨팅 집약적인 애플리케이션에 매우 적합합니다.


메모리 최적화

메모리 최적화 인스턴스는 메모리에서 대규모 데이터 세트를 처리하는 워크로드를 위한 빠른 성능을 제공하기 위해 설계되었습니다.


가속화된 컴퓨팅

가속화된 컴퓨팅 인스턴스는 하드웨어 액셀러레이터 또는 코프로세서를 사용하여 부동 소수점 수 계산이나 그래픽 처리, 데이터 패턴 일치 등의 기능을 CPU에서 실행되는 소프트웨어보다 훨씬 효율적으로 수행합니다.


스토리지 최적화

스토리지 최적화 인스턴스는 로컬 스토리지에서 매우 큰 데이터 세트에 대해 많은 순차적 읽기 및 쓰기 액세스를 요구하는 워크로드를 위해 설계되었습니다. 이러한 인스턴스는 애플리케이션에 대해 대기 시간이 짧은, 수만 단위의 무작위 IOPS(초당 I/O 작업 수)를 지원하도록 최적화되었습니다.


버스팅 가능 성능 인스턴스

Amazon EC2를 사용할 때는 고정 성능 인스턴스 패밀리(예: M6, C6 및 R6)와 버스트 가능 성능 인스턴스 패밀리(예: T3) 중에서 선택할 수 있습니다. 버스트 가능 성능 인스턴스는 기본 수준의 CPU 성능과 더불어 기본 수준 이상으로 버스트할 수 있는 기능을 제공합니다.

T 무제한 인스턴스는 워크로드가 필요로 하는 한 높은 CPU 성능을 유지할 수 있습니다. 대부분의 범용 워크로드에서 T 무제한 인스턴스추가 비용 없이 충분한 성능을 제공합니다. 시간당 T 인스턴스 요금은 24시간 동안 T 인스턴스의 평균 CPU 사용률이 기본 수준 또는 그 미만일 때 중간의 모든 사용량 스파이크자동으로 보장합니다. 인스턴스 실행에 장기간 높은 CPU 사용률필요한 경우, vCPU-시간당 5센트의 추가 고정 요금으로 인스턴스를 실행할 수 있습니다.

T 인스턴스의 기본 성능순간 성능 기능은 CPU 크레딧에 의해 좌우됩니다. 각 T 인스턴스는 인스턴스 크기를 기반으로 정해진 비율에 따라 지속적으로 CPU 크레딧을 받습니다. T 인스턴스는 유휴 상태일 때 CPU 크레딧을 누적했다가 활성 상태일 때 사용합니다. CPU 크레딧1분 동안 CPU 코어의 전체 성능을 제공합니다.

예를 들어 t2.small 인스턴스시간당 CPU 크레딧 12개라는 비율에 따라 지속적으로 크레딧을 받습니다. 이 기능은 CPU 코어의 20%에 상응하는 기본 성능을 제공합니다(20% x 60분 = 12분). 인스턴스에 제공되는 크레딧을 이 인스턴스에서 사용하지 않는 경우, 최대 288 CPU 크레딧까지 CPU 크레딧 잔액에 저장됩니다. t2.small 인스턴스에서 코어의 20%를 초과하여 성능을 버스트해야 하는 경우 CPU 크레딧 잔액에서 크레딧을 가져와서 순간적인 급증을 원활하게 처리합니다.

T2 무제한 기능이 활성화된 경우 t2.small 인스턴스는 CPU 크레딧 잔액이 0으로 떨어지더라도 기본 성능을 초과하여 버스트할 수 있습니다. 평균 CPU 사용률이 기존 성능 또는 그 미만인 대부분의 범용 워크로드의 경우 t2.small기본 시간당 요금으로 모든 CPU 버스트를 해결할 수 있습니다. CPU 크레딧 잔액이 0으로 떨어진 후에 인스턴스가 24시간 기간을 넘어 평균 25%(기준의 5% 이상)의 CPU 사용률로 실행되는 경우, 추가로 6센트(5센트/vCPU-시간 x 1vCPU x 5% x 24시간)가 부과됩니다.

웹 서버, 개발자 환경, 소규모 데이터베이스 같은 다양한 애플리케이션에서는 높은 수준의 CPU일관적으로 필요하지는 않지만 필요할 경우 매우 빠른 CPU 성능을 전체적으로 활용하면 큰 장점을 얻을 수 있습니다. T 인스턴스는 특별히 이러한 사용 사례를 위해 설계되었습니다. 동영상 인코딩, 대용량 웹 사이트 또는 HPC 애플리케이션과 같이 높은 CPU 성능일관적으로 필요한 애플리케이션의 경우 고정 성능 인스턴스를 사용하는 것이 좋습니다. T 인스턴스는 애플리케이션에서 높은 CPU 성능이 필요할 경우 전용 고속 프로세서 코어가 있는 것처럼 실행되도록 설계되었습니다. 뿐만 아니라 다른 환경에서 과도하게 구독할 경우 일반적으로 겪을 수 있는 일관되지 않은 성능이나 기타 흔한 부작용으로부터 보호해줍니다.


다양한 스토리지 옵션

Amazon EC2를 사용하면 요구 사항에 따라 여러 스토리지 옵션 중 선택할 수 있습니다. Amazon EBS는 실행 중인 단일 Amazon EC2 인스턴스에 연결할 수 있는 내구성이 뛰어난 블록 수준의 스토리지 볼륨입니다. Amazon EBS를 빈번하고 세부적인 업데이트가 필요한 데이터용 기본 스토리지 디바이스로 사용할 수 있습니다. 예를 들어, Amazon EBSAmazon EC2데이터베이스를 실행할 때 권장되는 스토리지 옵션입니다. Amazon EBS 볼륨은 Amazon EC2 인스턴스의 실행 주기와는 독립적으로 유지됩니다. 볼륨이 인스턴스에 연결되면 볼륨을 다른 물리적 하드 드라이브처럼 사용할 수 있습니다. Amazon EBS는 워크로드의 요구 사항을 가장 잘 충족할 수 있도록 범용(SSD), 프로비저닝된 IOPS(SSD), 마그네틱이라는 세 가지 볼륨 유형을 제공합니다. 범용(SSD)은 SSD로 백업되는 새로운 범용 EBS 볼륨 유형으로, 고객에게 기본적으로 추천하는 선택 사항입니다. 범용(SSD) 볼륨은 소규모에서 중간 규모의 데이터베이스, 개발테스트 환경, 부팅 볼륨 등 광범위한 워크로드에 적합합니다. 프로비저닝된 IOPS(SSD) 볼륨일관되고 지연 시간이 짧은 성능을 제공하며 대규모 관계형 또는 NoSQL 데이터베이스처럼 I/O 집약적인 애플리케이션에 맞게 설계되었습니다. 마그네틱 볼륨은 모든 EBS 볼륨 유형 중 기가바이트당 비용이 가장 낮습니다. 마그네틱 볼륨은 데이터 액세스가 드문 워크로드 및 저렴한 스토리지 비용이 중요한 애플리케이션에 이상적입니다.

많은 Amazon EC2 인스턴스에는 호스트 컴퓨터 안에 위치하는 디바이스의 스토리지도 포함될 수 있는데 이를 인스턴스 스토리지라고 합니다. 인스턴스 스토리지는 Amazon EC2 인스턴스에 블록 수준임시 스토리지를 제공합니다. 인스턴스 스토리지의 데이터는 관련 Amazon EC2 인스턴스의 수명 기간 동안만 지속됩니다.
Amazon EBS 또는 인스턴스 스토리지를 통한 블록 수준 스토리지뿐 아니라 또한 내구성가용성이 뛰어난 객체 스토리지에 Amazon S3를 사용할 수 있습니다. Amazon EC2 스토리지 옵션에 대한 자세한 내용은 Amazon EC2 설명서를 참조하세요.


EBS 최적화 인스턴스

고객은 소액의 시간당 요금추가로 지불하고 일부 Amazon EC2 인스턴스 유형을 EBS 최적화 인스턴스로 시작할 수 있습니다. EBS 최적화 인스턴스를 사용하면 EC2 인스턴스에서 EBS 볼륨에 프로비저닝된 IOPS를 충분히 활용할 수 있습니다. EBS 최적화 인스턴스는 Amazon EC2와 Amazon EBS 간에 전용 처리량을 제공하며, 사용하는 인스턴스 유형에 따라 500메가비트/초(Mbps)~80기가비트/초(Gbps) 범위에서 처리량을 선택할 수 있습니다. 전용 처리량 덕분에 Amazon EBS I/O와 EC2 인스턴스의 기타 트래픽 간에 경합이 최소화되어, EBS 볼륨의 성능이 극대화됩니다. EBS 최적화 인스턴스는 모든 EBS 볼륨과 함께 사용하도록 설계되었습니다. 프로비저닝된 IOPS 볼륨EBS 최적화 인스턴스에 연결하는 경우 지연 시간이 10밀리초 미만으로 감소하며, 운영 시간99.9%에 해당하는 기간 동안, 프로비저닝된 IOPS 성능10% 이내를 유지하도록 설계되었습니다. 스토리지 I/O 요구 사항이 많은 애플리케이션에 대해서는 클러스터 네트워킹을 지원하는 인스턴스나 EBS 최적화 인스턴스와 함께 프로비저닝된 IOPS 볼륨을 사용하는 것이 좋습니다.


클러스터 네트워킹

일반 클러스터 배치 그룹에서 시작되면 EC2 인스턴스 지원 클러스터 네트워킹을 선택합니다. 클러스터 배치 그룹클러스터 내 모든 인스턴스 간 지연 시간이 짧은 네트워킹을 제공합니다. EC2 인스턴스가 사용할 수 있는 대역폭은 인스턴스 유형과 네트워킹 성능 사양에 따라 다릅니다. 동일 리전 내의 인스턴스 간 트래픽은 각각의 방향에서 싱글 플로우 트래픽의 경우 5Gbps, 멀티 플로우 트래픽의 경우 100Gbps까지 사용할 수 있습니다(전이중). 동일 리전 내에서 S3 버킷을 왕복는 트래픽 역시 사용 가능한 모든 인스턴스 집계 대역폭을 사용할 수 있습니다. 인스턴스가 배치 그룹에서 시작되면, 싱글 플로우 트래픽최대 10Gbps, 멀티 플로우 트래픽최대 100Gbps까지 사용할 수 있습니다. 인터넷에 대한 네트워크 트래픽은 5Gbps으로 제한되어 있습니다(전이중). 클러스터 네트워킹은 고성능 분석 시스템 및 많은 과학 및 엔지니어링 애플리케이션, 특히 병렬 프로그래밍MPI 라이브러리 표준을 사용하는 애플리케이션에 이상적입니다.


인텔 프로세서 기능

인텔 프로세서를 사용하는 Amazon EC2 인스턴스에서는 다음과 같은 프로세서 기능에 액세스할 수 있습니다.

인텔 AES-NI(AES New Instructions): 인텔 AES-NI 암호화 명령 세트는 더 빠른 데이터 보호와 더 강력한 보안을 제공할 수 있도록 기존 AES(고급 암호화 표준) 알고리즘을 개선합니다. 현재 모든 세대의 EC2 인스턴스에서 이 프로세서 기능을 지원합니다.
인텔 Advanced Vector Extensions(인텔 AVX, 인텔 AVX2 및 인텔 AVX-512): 인텔 AVX 및 인텔 AVX2는 256비트 그리고 인텔 AVX-512는 512비트 명령 세트 확장으로서 FP(부동 소수점) 집약적 애플리케이션을 위해 설계되었습니다. 인텔 AVX Instructions는 이미지 및 오디오/비디오 처리, 과학 시뮬레이션, 재무 분석, 3D 모델링 및 분석과 같은 애플리케이션의 성능을 향상시킵니다. 이 기능은 HVM AMI로 실행된 인스턴스에서만 사용할 수 있습니다.
인텔 터보 부스트 기술: 인텔 터보 부스트 기술은 필요할 때 더 뛰어난 성능을 제공합니다. 프로세서가 기본 동작 주파수보다 더 빠르게 코어를 자동으로 실행하므로 더 빠른 속도로 작업을 완료할 수 있습니다.
인텔 DL 부스트(인텔 딥 러닝 부스트): AI 딥 러닝 사용 사례를 가속화하도록 설계된 새로운 내장 프로세서 기술 세트입니다. 2세대 인텔 제온 확장형 프로세서는 Vector Neural Network Instruction(VNNI/INT8)을 통해 인텔 AVX-512를 확장하므로 이미지 인식/세분화, 객체 감지, 음성 인식, 언어 번역, 추천 시스템, 강화 학습 등의 경우에 이전 세대의 인텔 제온 확장형 프로세서(FP32)보다 딥 러닝 추론 성능을 대폭 강화합니다. VNNI와 호환되지 않는 Linux 배포도 있습니다. 사용하기 전에 설명서를 확인하십시오.
인스턴스 유형에 따라 일부 프로세서 기능은 지원되지 않을 수 있으므로, 인스턴스 유형 매트릭스에서 인스턴스 유형별로 제공하는 기능에 대해 자세히 알아보십시오.


이렇게 알아보면서 EC2에 대해 알면 알 수록 더 알게 많아지는 느낌이 들었다.. 이 와중에도 계속해서 새로운 인스턴스 패밀리는 개발되겠지.. 그래도 조금은 막막했던 EC2에 어느정도 깊이있게 알아보는 시간을 가진 것 같다.

0개의 댓글