Web/TIL

[AWS] Amazon EC2 인스턴스 패밀리와 인스턴스 유형

wjdwwidz 2024. 8. 1. 14:00
  • 서로 다른 EC2 인스턴스와 각 패밀리의 목표 워크로드 파악
  • 가성비를 최적화하는 EC2 인스턴스 유형 선택 방법
  • 최신 인스턴스 유형 이해의 장점에 대한 논의

Intro

이 과정에는 Amazon EC2의 기능, 인스턴스 유형, 요금을 이해하고 구분하는 데 도움이 되는 시나리오가 실려 있습니다. 본 시나리오는 가상의 인물 John Stiles가 Amazon EC2에 대한 지식을 쌓아 가면서 이 서비스를 이용해서 어떻게 온프레미스 워크로드를 AWS 클라우드로 옮길 수 있는지 배우는 과정을 그렸습니다.

 

 

워크로드

가장 기본적으로 컴퓨터에서 실행할 수 있는 모든 작업, 처리 작업, 프로그램 또는 애플리케이션을 설명하는 용어

일반적인 컴퓨팅에서 워크로드 관리는 컴퓨팅 리소스를 특정 작업에 할당하는 것


 

오늘은 John이 Amazon EC2를 중심으로 워크로드를 AWS로 이동할 때 Amazon EC2 인스턴스를 결정하는 법을 배우려 한다. 

애플리케이션에 알맞은 서비스를 고르고 싶지만, 아직 Amazon EC2에 대해 잘 모르기 때문에 제공되는 요금제 모델과 인스턴스 유형을 이해하고 마이그레이션할 워크로드에 적절한 옵션을 선택하는 법을 알아야 한다. 

 

 

Amazon EC2 인스턴스 패밀리

Amazon EC2 는 500개가 넘는 인스턴스 유형을 제공한다. 워크로드 요구 사항에 맞도록 최신 프로세서, 스토리지, 네트워킹, 운영 체제를 선택할 수 있다. John은 인스턴스가 인스턴스 패밀리로 분류되며, 거기서 또 하위 패밀리로 나뉜다는 사실을 배우고 있다. 또한 각 인스턴스 이름은 해당 인스턴스에 제공된 기본 기능과 하드웨어 리소스를 참조한다. 용량에 따라 하나의 인스턴스 패밀리로 그룹화

 

 

인스턴스 패밀리 유형

AWS 인스턴스는 현재 5개의 개별 패밀리로 분류된다.

  1. 범용 : 컴퓨팅, 메모리 및 네트워킹 리소스를 균형 있게 제공하며 다양한 워크로드에 사용할 수 있다. 웹 서버 및 코드 리포지토리와 같이 이러한 리소스를 동등한 비율로 사용하는 애플리케이션에 적합하다.
    • 버스트란 워크로드에 일시적으로 스파이크가 발생하는 등 짧은 기간 동안 인스턴스 활동이 평소보다 높아지는 것을 의미
    • 버스트 가능 인스턴스 옵션 제공 : 대부분의 워크로드가 항상 바쁜 것은 아니므로 CPU 성능을 계속 유지하지 않아도 된다. 큰 인스턴스를 낮거나 보통인 워크로드에 사용하면 자원이 낭비되고 불필요한 비용이 발생한다. 이러한 워크로드에는 "T패밀리 인스턴스"와 같은 저렴한 버스트 가능 범용 인스턴스를 사용하면 좋다. 
    •  "T 인스턴스 패밀리"는 베이스라인 CPU 성능과 함께 베이스라인 이상의 성능으로 버스트할 수 있는 기능을 언제든지 필요한 만큼 제공한다.
  2. 컴퓨팅 최적화 : 고성능 프로세서를 활용하는 컴퓨팅 집약적인 애플리케이션에 적합
    • 기계학습 (ML) 추론
    • 게임 전용 서버와 광고 서버 엔진
  3. 메모리 최적화
    • 메모리에서 대규모 데이터 세트를 처리하는 워크로드를 위함
  4. 스토리지 최적화
    • 로컬 스토리지의 매우 큰 데이터 세트에 순차적 읽기 및 쓰기 액세스가 많이 필요한 워크로드를 위해 설계되었다.
    • 지연 시간이 짧은 수만 단위의 무작위 초당 입출력(I/O) 작업 수(IOPS)를 애플리케이션에 제공하는 데 최적화.
  5. 가속 컴퓨팅
    • 하드웨어 액셀러레이터 또는 코프로세서를 사용하여 일부 기능을 CPU에서 실행되는 소프트웨어에서 보다 더 효율적으로 수행
    • 워크로드에서 병렬화를 촉진해 처리량(throughput)을 높임
    • 부동 소수점 수 계산, 그래픽 처리, 데이터 패턴 일치 등

 

인스턴스 유형

특정 패밀리 내에서 제공되는 다양한 인스턴스 크기와 구성을 인스턴스 유형이라 한다.

EC2 인스턴스는 AWS 클라우드에서 실행되는 가상 머신(VM)이며, 인스턴스 유형을 선택하여 가상 하드웨어 구성을 결정하게 된다.

 

  • 인스턴스는 VM 이다.
  • 인스턴스 유형은 CPU, 메모리와 같이 인스턴스를 만드는 가상 하드웨어 구성 요소의 조합
  • 인스턴스 유형은 인스턴스 패밀리로 그룹화된다. == 각 인스턴스 유형(하위)은 특정한 인스턴스 패밀리(상위)에 속한다
  • 인스턴스 패밀리는 사용되는 프로세서와 스토리지 조합에 따른 그룹인 하위 패밀리를 가지고 있다.
  • 가상 중앙 처리 장치(vCPU)는 처리 능력의 척도. 대부분의 인스턴스 유형에서 vCPU는 기본 물리적 CPU 코어의 한 스레드를 나타낸다. 예를 들어 인스턴스 유형이 CPU 코어를 가지고 있고, 한 코어당 2개의 스레드가 있다면 vCPU는 4개가 된다.

 

인스턴스 이름 디코딩 

 

  • m : 인스턴스 패밀리
    • 대부분의 경우 M은 범용인스턴스 하위 패밀리이다. (Main, Many, Most등의 목적에 사용되는 인스턴스로 기억하면 쉽다.)
  • 5 : 인스턴스 세대
    • 프로세서의 세대. 숫자가 높을수록 최신 세대
  •  z : 속성 (모든 인스턴스가 가져야 하는 요소는 X)
    • 속성은 인스턴스 기능에 대한 추가 정보를 제공한다. z의 경우 높은 빈도(고성능 최적화) 를 나타내어 높은 싱글 스레드 성능에 적합한 인스턴스라는 것을 알 수 있다.
  • n : 추가 정보 (모든 인스턴스가 가져야 하는 요소는 X)
    • n은 네트워크. 낮은 네트워크 지연 시간에 최적화 되어있다는 뜻. 앞서 고성능 컴퓨팅을 뜻하는 z속성과 함께 있으므로, 이 인스턴스는 게임, 모델링 등의 워크로드에 적합한 고성능 인스턴스이다.
  • xlarge : 크기 
    • 인스턴스 크기를 나타낸다. 크기가 클 수록 CPU 와 메모리 등의 리소스가 많다. 크기는 이 인스턴스에 사용된 하드웨어 리소스 조합에 따라 달라진다.

 

인스턴스 크기 조정

인스턴스 크기 : 

  • vCPU, 메모리, 스토리지, 네트워킹의 총 구성 용량
  • 인스턴스 유형이 소비하는 하드웨어 리소스 조합에 따라 결정된다. 
  • 나노(nano), micro , small , medium, large ... 32xlarge까지 존재

 

기타 특성 

  • a – AMD 프로세서
  • g – AWS Graviton 프로세서
  • i – Intel 프로세서
  • d – 인스턴스 스토어 볼륨
  • n – 네트워크 최적화
  • b – 블록 스토리지 최적화
  • e – 추가 스토리지 또는 메모리
  • z – 높은 빈도

 

AMAZON MACHINE IMAGE (AMI)— AWS Solution Architect Associate Series — Part 7

When bringing up an Instance on AWS, we do it through EC2 when bringing up an AMI. If you’ve noticed, you’ll see a pattern like…

erdemir-ata.medium.com