notes
인스턴스 유형 조사
AWS 인스턴스 유형별 성능·용도와 선택 기준 조사.
- 타입 이름은 패밀리, 세대, 옵션, 크기 순서로 읽으면 된다.
- 개발 서버는 t 계열로 시작하고, 상시 서버는 m 계열 최신 세대를 먼저 본다.
- CPU가 먼저 차면 c, 메모리가 먼저 차면 r로 옮기고, ARM 빌드가 되면 Graviton이 같은 성능에 더 싸다.
EC2 인스턴스 타입 이름은 패밀리(시리즈, 세대, 옵션) 뒤에 점을 찍고 크기를 붙인 모양이다. 예: c7g.xlarge면 C(컴퓨팅) · 7세대 · g(Graviton) · xlarge 크기. 시리즈 한 글자(또는 몇 글자)가 용도를 말하고, 숫자가 세대, 뒤에 붙는 옵션 글자가 CPU·스토리지·네트워크 특성을 가리킨다.
자주 보는 시리즈만 짧게 잡으면 M(범용), C(컴퓨팅), R/X(메모리), T(버스트), I/D(스토리지), G/P(GPU), Inf/Trn(추론·학습) 정도다. 옵션 예시로는 a(AMD), g(Graviton), i(Intel), d(로컬 인스턴스 스토어), n(네트워크·EBS 최적화), e(여분 스토리지/메모리), z(고주파 CPU), flex(유연 기준선)가 있다. 최신 세대일수록 같은 성능 대비 단가가 나아지는 경우가 많다.
1. 인스턴스 유형 표기법
처음엔 c7g.xlarge 같은 이름이 암호처럼 보였는데, 네 조각으로 끊어 읽으니 바로 들어왔다. 아래 캡처는 조사할 때 붙여 둔 표기법 그림이다.
2. 용어 설명
- 인스턴스 패밀리 : M, T, C, X, R, IO, I, D, G, P, F
- 인스턴스 세대 : 처음 조사할 땐 5세대까지만 봤는데, 지금은 Graviton4 기반 m8g, c8g, r8g와 인텔 m8i까지 8세대가 나와 있다. 최신 세대가 성능 대비 비용이 대체로 낫다.
- 인스턴스 크기 : 패밀리와 세대마다 고를 수 있는 크기가 다르다. 한 단계 올라갈 때마다 vCPU와 메모리가 대략 두 배가 된다.
패밀리는 이렇게 용도로 묶어 두면 헷갈리지 않는다. 웹이나 API 서버는 거의 범용에서 끝나고, 나머지는 지표가 한쪽으로 쏠릴 때 찾게 된다.
3. 예시
c5.xlarge: CPU를 많이 쓰는 작업용. vCPU당 가격이 싸서 배치나 인코딩처럼 계산이 몰리는 서버에 맞다.
m5.xlarge: 인텔 제온 플래티넘 8175M 기반 범용 인스턴스. 조사할 땐 최신이었지만 지금은 m7i, m8g 같은 후속 세대가 있다.
R5.xlarge: R4보다 vCPU당 메모리가 5% 많고, 제일 큰 크기는 768GiB까지 간다. R4보다 GiB당 요금은 10% 싸고 CPU는 20% 빠르다.
t2.small: 평소엔 기본 수준 CPU로 돌다가 필요할 때 잠깐 버스트하는 인스턴스. 크레딧을 다 쓰면 다시 기본 수준으로 떨어진다.
t3.small: t2 후속. 같은 크기에서 더 싸고, 기본이 언리미티드 모드라 크레딧이 바닥나도 버스트는 계속된다. 대신 그만큼 추가 요금이 붙는다.
4. 내가 고르는 기준
개발 서버는 t 계열로 띄우고, 실제 트래픽이 붙는 서버는 m 계열 최신 세대에서 시작한다.
2주쯤 CloudWatch 지표를 보다가 CPU가 먼저 차면 c, 메모리가 먼저 차면 r로 옮긴다. 메모리 지표는 CloudWatch 에이전트를 깔아야 보인다.
앱이 ARM에서 빌드되면 g 옵션(Graviton)을 먼저 본다. 같은 성능이면 이쪽이 더 싸게 나왔다.