본문으로 건너뛰기

AWS · EC2

EC2 인스턴스·크레딧·요금 문답

판단에 필요한 것들만 골라, 결정에 걸리는 순서대로 정리했습니다. 특히 CPU 크레딧과 프리필 두 개만 확실히 잡으면 나머지 권고는 스스로 판단하실 수 있습니다.

생성 수정

인스턴스t3.medium 같은 인스턴스 이름은 어떻게 읽습니까?

네 부분으로 되어 있습니다. 앞의 두 글자가 성격을, 점 뒤가 크기를 결정합니다.

t     3     i(생략)   .   medium
│     │     │             │
│     │     │             └─ 크기
│     │     └─ CPU 제조사 (i=Intel, a=AMD, g=Graviton/Arm)
│     └─ 세대 (숫자가 클수록 최신·저렴·빠름)
└─ 패밀리 (용도)

패밀리(첫 글자) — 성격을 결정한다

글자뜻특징
t버스터블 범용싸다. 대신 CPU를 계속 100%로 못 쓴다
m범용CPU:메모리 = 1:4. 항상 100% 성능
c컴퓨팅 최적화CPU:메모리 = 1:2. CPU가 빠름
r메모리 최적화CPU:메모리 = 1:8
gGPU 탑재그래픽카드가 붙어 있음

크기

large에서 한 단계 오를 때마다 vCPU·메모리·가격이 대략 2배입니다.

nano < micro < small < medium < large < xlarge < 2xlarge < 4xlarge ...

실제 스펙

이름vCPU메모리GPU성격
t3.medium24GB—버스터블
t3.large28GB—버스터블. vCPU가 안 늘어남
c7i.large24GB—전용 성능, CPU 빠름
m7i.large28GB—전용 성능
g4dn.xlarge416GBNVIDIA T4 (16GB)GPU

vCPU란 물리 CPU 코어를 하이퍼스레딩으로 둘로 쪼갠 논리 단위입니다. 2 vCPU ≈ 물리 1코어로 생각하면 됩니다. 노트북이 8~16 vCPU인 걸 생각하면 t3.medium은 상당히 작은 기계입니다.

인스턴스t3.large로 한 단계 올리면 느린 게 해결되지 않습니까?

해결되지 않습니다. t3.medium과 t3.large는 vCPU가 둘 다 2개입니다. 바뀌는 건 메모리(4GB → 8GB)뿐이고 계산 속도는 그대로입니다.

vCPU메모리버스터블
t3.medium24GB예
t3.large28GB예

메모리가 모자라 프로세스가 죽는 상황이라면 t3.large가 답입니다. 그러나 응답이 느린 문제라면 원인은 vCPU 수와 CPU 크레딧이라, 같은 t 계열 안에서 한 단계 올리는 것으로는 아무것도 달라지지 않습니다.

비용버스터블과 CPU 크레딧이 무엇입니까?

t3는 CPU를 항상 100% 쓸 수 있는 기계가 아닙니다. 데이터 요금제와 구조가 같습니다 — 기본 제공량이 있고, 덜 쓰면 쌓이고, 넘겨 쓰면 까입니다.

기본 제공량(baseline)vCPU당 20%
적립20% 미만으로 쓰면 남은 만큼 크레딧이 쌓임 (시간당 24개, 최대 576개)
소비20%를 넘겨 쓰면 크레딧을 까면서 최대 100%까지 사용
잔고 0아래 두 갈래로 갈린다

크레딧이 바닥났을 때 — 두 가지 모드

모드동작비용
standardCPU가 20%로 강제 제한된다. 느려진다추가 요금 없음
unlimited (T3 기본값)느려지지 않는다잉여 vCPU-시간당 $0.05 추가 과금

t3.medium을 2 vCPU 100%로 계속 돌리면 이렇게 됩니다.

시간당 적립      24 크레딧
시간당 소비     120 크레딧
잉여             96 크레딧 = 1.6 vCPU-시간
추가 요금        1.6 × $0.05 = 시간당 $0.08
인스턴스 요금                  시간당 $0.052

인스턴스 값보다 크레딧 값이 더 나옵니다. 기본값이 unlimited라 아무 설정도 하지 않으면 이 상태입니다.

m·c 패밀리에는 크레딧 개념 자체가 없습니다. 항상 100%입니다.
측정왜 버스터블에서는 레이턴시 측정이 망가집니까?

측정 대상이 CPU 성능이 아니라 크레딧 잔고가 되기 때문입니다. 같은 코드로 같은 부하를 걸어도 이렇게 나옵니다.

시점크레딧CPUp95
아침 첫 실행가득100%700ms
세 번째 실행소진20%로 제한3,000ms

코드는 하나도 안 바뀌었는데 숫자가 4배 차이납니다. “여러 번 실행한 값 중 최저치를 기준선으로 고정”하는 방법을 써도, 그 최저치가 CPU 성능을 의미하지 않게 됩니다.

내부 처리 p95 ≤ 1,000ms 같은 기준선을 재야 한다면 측정만 전용 성능 인스턴스(예: c7i.large)로 분리하십시오. 운영은 t3로 두더라도, 숫자를 만드는 자리에는 버스터블을 쓰지 않는 것이 맞습니다.
비용온디맨드·스팟·예약 중 무엇을 써야 합니까?
방식설명적합성
온디맨드켠 시간만큼 정가. 언제든 끔✅ 기본 선택
스팟AWS 여유분을 60~90% 할인. 단 2분 예고 후 강제 회수⚠ 측정 중 뺏기면 실험이 날아감
예약 / Savings Plans1~3년 약정 할인❌ 몇 주짜리 프로젝트에 부적합

짧은 프로젝트에서 약정 할인은 회수할 시간이 없고, 스팟은 회수 위험이 측정 신뢰도를 직접 깎습니다. 온디맨드로 두고 안 쓸 때 끄는 쪽이 총액이 낮습니다.

비용인스턴스를 끄면 요금이 0이 됩니까? (중지 vs 종료)

되지 않습니다. 끄는 것과 지우는 것은 다르고, 둘 다 저장소·IP 요금은 따로입니다.

컴퓨팅 요금EBS 요금EIP 요금되돌리기
중지(Stop)멈춤 ✅계속 나감계속 나감가능
종료(Terminate)멈춤멈춤별도 해제 필요불가

30GB EBS(월 약 $2.7) + EIP(월 약 $3.6)는 인스턴스를 꺼 둔 동안에도 계속 나갑니다. 종료했더라도 EIP를 따로 해제하지 않으면 IP 요금은 남습니다.

비용요금이 붙는 항목에는 어떤 것들이 있습니까?

EBS / gp3

EC2에 붙는 가상 하드디스크입니다. gp3는 SSD 계열 표준 타입이고, 용량만큼 월 단위로 과금됩니다. 30GiB면 월 약 $2.7입니다.

EIP(탄력적 IP) / 공인 IPv4

인터넷에서 접근 가능한 고정 IP입니다. 2024-02-01부터 연결 여부와 무관하게 시간당 $0.005(월 약 $3.6)입니다. 인스턴스를 종료해도 EIP를 별도로 해제하지 않으면 계속 나갑니다.

데이터 전송(이그레스)

AWS 밖 인터넷으로 나가는 트래픽입니다. 모든 서비스·리전 합산 매달 100GB까지 무료이고, 초과분은 서울 기준 GB당 약 $0.126입니다. 들어오는 트래픽은 무료입니다. 자막·JSON 위주 규모라면 100GB를 넘길 일이 없습니다.

NAT Gateway

인터넷에서 직접 접근할 수 없는 서버(프라이빗 서브넷)가 밖으로 나갈 때 쓰는 관문입니다. 시간당 요금 + 트래픽당 요금이 동시에 붙어 월 $35 이상이 나가고, 비용 사고의 단골입니다.

EC2에 퍼블릭 IP를 직접 붙인 구성에는 NAT Gateway가 없고, 없는 게 맞습니다. 나중에 누가 “보안상 프라이빗 서브넷으로 옮기자”고 하면 그 순간 월 $35가 추가된다는 걸 알고 결정하십시오.

리전 / AZ

리전은 지리적 묶음(서울 = ap-northeast-2), AZ(가용영역)는 그 안의 독립된 데이터센터 동(2a, 2b…)입니다. 같은 AZ 안 인스턴스끼리는 왕복 1ms 수준이고 통신료가 없습니다. 추론 인스턴스를 따로 떼어 놓아도 지연 예산에 영향이 없는 근거가 이것입니다.

추론모델 크기로 필요한 메모리를 어떻게 계산합니까?

파라미터는 모델 내부에 저장된 숫자의 개수입니다(M=백만, B=십억). 계산은 단순합니다 — 파라미터 1개당 몇 바이트를 쓰느냐입니다.

정밀도파라미터당0.5B 모델7B 모델
fp32 (32비트)4바이트2GB28GB
fp16 (16비트)2바이트1GB14GB
4bit 양자화0.5바이트0.25GB약 4GB

양자화는 숫자의 정밀도를 낮춰 메모리를 줄이는 기법입니다. 품질이 조금 떨어지는 대신 크기가 크게 줍니다.

VRAM은 GPU 전용 메모리입니다. 모델이 VRAM에 안 들어가면 GPU로 돌릴 수 없습니다. g4dn.xlarge의 T4는 16GB이므로 7B 모델까지 여유롭게 들어갑니다.

추론첫 토큰 시간(TTFT)이란 무엇입니까?

LLM이 글을 만드는 과정은 두 단계입니다.

[프리필 prefill]  프롬프트 전체를 한 번에 읽는다
                  ↓ 계산량이 프롬프트 길이에 비례해 늘어남
                  ↓ ★ 여기가 CPU에서 느린 구간
[디코드 decode]   한 글자씩 뱉는다 (토큰 하나마다 모델 전체를 다시 통과)

TTFT = 요청부터 첫 글자가 화면에 뜨기까지이고, 대부분이 프리필 시간입니다.

여기서 RAG의 구조적 불리함이 나옵니다. RAG는 검색된 근거 문서를 프롬프트에 통째로 집어넣습니다. 그래서 프롬프트가 수백~수천 토큰으로 길고, 프리필이 무겁습니다. vCPU 2개로는 첫 토큰 500ms가 나오지 않습니다.
추론임베딩·분류기는 CPU로 되는데 왜 생성만 GPU가 필요합니까?
임베딩·분류기생성
모델 크기~110M (0.2GB)최소 0.5B~
통과 횟수1번 — 문장 넣고 결과 받으면 끝토큰 수만큼 — 30글자면 30번
CPU 소요수십 ms수 초

차이는 반복 횟수입니다. 분류기는 “이 문장이 위반인가”를 한 번 판정하고 끝이지만, 생성은 글자 하나 만들 때마다 모델 전체를 다시 통과시킵니다.

프리필은 거대한 행렬 곱셈입니다. GPU는 그 계산을 수천 개 코어로 동시에 처리하고, vCPU 2개는 순차적으로 처리합니다. 이 구조 차이는 인스턴스 등급을 한두 단계 올려서 메울 수 있는 게 아닙니다.

측정p50 / p95 / p99는 무엇이고, 왜 평균을 쓰지 않습니까?

100번 측정해서 빠른 순으로 줄을 세웠을 때 몇 번째 값이냐입니다.

느린 순 ────────────────────────────────────→
 p50            p95      p99
  │              │        │
  ▼              ▼        ▼
[========================][==][=]
 절반은 여기보다 빠름   상위 5%  상위 1%
지표읽는 법
p50 (중앙값)절반은 이보다 빠르다
p9520번 중 19번은 이 안에 들어온다
p99100번 중 99번은 이 안에 들어온다

평균을 쓰지 않는 이유: 100번 중 95번이 0.2초, 5번이 10초라면 평균은 0.7초로 나옵니다. 숫자는 좋아 보이지만 20번에 한 번씩 10초를 기다리는 상담원이 실제 사용자입니다. 평균은 이 고통을 숨깁니다.

“내부 처리 p95 ≤ 1,000ms”는 “트리거가 걸린 뒤 카드가 뜨기까지, 20번 중 19번은 1초 안에 끝난다”는 뜻입니다.
용어나머지 용어들은 무슨 뜻입니까?
용어뜻
AWS Budgets예산 한도를 걸고 초과 시 메일 알림. 알림만 하고 차단은 안 함
Cost Anomaly Detection평소 대비 비용이 튀면 알려주는 기능. 역시 알림만
BedrockAWS가 제공하는 관리형 LLM API. 서버를 안 띄우고 호출량만큼 과금. 상용 API 도입을 금지한 규칙이 있다면 결정 기록으로 규칙부터 뒤집어야 함
SSM Session ManagerSSH 키와 22번 포트 없이 서버에 접속하는 AWS 기능. 키 분실·IP 변경 문제가 사라짐
IAM 역할인스턴스에 부여하는 권한 묶음. SSM을 쓰려면 AmazonSSMManagedInstanceCore 역할이 필요
OOM Killer메모리가 바닥나면 리눅스 커널이 프로세스를 강제로 죽이는 기능. 메모리를 가장 많이 쓰는 놈을 고르므로 보통 Elasticsearch가 죽음
mem_limit도커 컨테이너별 메모리 상한. 걸어 두면 어느 컨테이너가 먼저 죽을지 통제 가능
스왑(swap)메모리가 모자랄 때 디스크를 메모리처럼 쓰는 것. 수백 배 느림. ES는 스왑을 타면 검색 지연이 튐
스냅샷EBS나 RDS의 특정 시점 백업본. 인스턴스를 지워도 데이터를 남길 수 있고, 보관료(GB당)가 붙음

어떤 권고가 어느 개념에 걸려 있는가

권고근거 개념분류
t3를 standard 모드로 바꾼다CPU 크레딧, unlimited 과금비용
측정만 c7i.large로 분리한다버스터블 vs 전용 성능, p95측정
t3.large로는 해결되지 않는다t3.large의 vCPU가 2개 그대로인스턴스
생성만 GPU가 필요하다프리필, 통과 횟수 차이추론
추론 인스턴스를 분리해도 지연 영향이 없다같은 AZ 내 왕복 1ms비용
마감 후에도 월 $60가 나간다중지해도 EBS·EIP는 계속 과금비용
NAT Gateway를 만들지 않는다시간당 + 트래픽당 이중 과금비용