우리는 다양한 유형의 EC2 인스턴스를 사용할 수 있으며 그것들의 최적화 유형도 각기 다르다.(https://aws.amazon.com/ko/ec2/instance-types/)
AWS는 다음과 같은 명명 규칙이 있다.
m5.2xlarge 라는 유형의 인스턴스를 예로 들어보면,
- m : 인스턴스 클래스, 이 경우에는 범용 클래스
- 5: 인스턴스의 세대
- 2xlarge : 인스턴스 클래스 내에서의 크기, small, large, 2xlarge, 4xlarge 등이 있다.
- 크기가 클 수록 더 많은 메모리와 CPU를 가지게 된다.
- 범용 인스턴스
- 주로 웹 서버나 코드 저장소와 같은 다양한 작업에 적합
- 컴퓨팅, 메모리, 네트워킹 간의 균형도 잘 맞는다.
- 컴퓨팅 최적화 인스턴스
- 주로 컴퓨터 집약적인 작업(고성능 프로세서를 활용)에 최적화된 인스턴스
- 일부 데이터의 일괄 처리, 미디어 트랜스코딩 작업, 고성능 웹 서버가 필요한 작업, 고성능 컴퓨팅 작업(HPC), 머신러닝, 전용 게임 서버 등..
- 고성능 CPU와 컴퓨팅을 요구하는 작업에 주로 사용됨.
- 모두 C로 시작하는 이름을 가지고 있다.
- 메모리 최적화 인스턴스
- 메모리(RAM)에서 대규모 데이터셋을 처리하는 유형의 작업에 빠른 성능을 제공
- 고성능의 관계형 및 비관계형 데이터베이스, 대규모 비정형 데이터의 실시간 처리를 실행하는 어플리케이션 등등에 사용된다.
- 대부분 R로 시작하지만 X1,Z1이나 대용량 메모리(U-1) 라는 이름도 사용된다.
- 스토리지 최적화 인스턴스
- 로컬 스토리지에서 대규모 데이터셋에 액세스할 때 적합한 인스턴스다
- 고주파 온라인 트랜잭션 처리(OLTP 시스템), 관계형 DB 및 NoSQL에 사용된다.
- Redis 같은 메모리 데이터베이스의 캐싱이나, 분산 파일 시스템에도 사용된다.
- 이름이 I, D 또는 H1로 시작한다.