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 |
| g | GPU 탑재 | 그래픽카드가 붙어 있음 |
크기
large에서 한 단계 오를 때마다 vCPU·메모리·가격이 대략 2배입니다.
nano < micro < small < medium < large < xlarge < 2xlarge < 4xlarge ...실제 스펙
| 이름 | vCPU | 메모리 | GPU | 성격 |
|---|---|---|---|---|
| t3.medium | 2 | 4GB | — | 버스터블 |
| t3.large | 2 | 8GB | — | 버스터블. vCPU가 안 늘어남 |
| c7i.large | 2 | 4GB | — | 전용 성능, CPU 빠름 |
| m7i.large | 2 | 8GB | — | 전용 성능 |
| g4dn.xlarge | 4 | 16GB | NVIDIA 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.medium | 2 | 4GB | 예 |
| t3.large | 2 | 8GB | 예 |
메모리가 모자라 프로세스가 죽는 상황이라면 t3.large가 답입니다. 그러나 응답이 느린 문제라면 원인은 vCPU 수와 CPU 크레딧이라, 같은 t 계열 안에서 한 단계 올리는 것으로는 아무것도 달라지지 않습니다.
비용버스터블과 CPU 크레딧이 무엇입니까?
t3는 CPU를 항상 100% 쓸 수 있는 기계가 아닙니다. 데이터 요금제와 구조가 같습니다 — 기본 제공량이 있고, 덜 쓰면 쌓이고, 넘겨 쓰면 까입니다.
| 기본 제공량(baseline) | vCPU당 20% |
| 적립 | 20% 미만으로 쓰면 남은 만큼 크레딧이 쌓임 (시간당 24개, 최대 576개) |
| 소비 | 20%를 넘겨 쓰면 크레딧을 까면서 최대 100%까지 사용 |
| 잔고 0 | 아래 두 갈래로 갈린다 |
크레딧이 바닥났을 때 — 두 가지 모드
| 모드 | 동작 | 비용 |
|---|---|---|
| standard | CPU가 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라 아무 설정도 하지 않으면 이 상태입니다.
측정왜 버스터블에서는 레이턴시 측정이 망가집니까?
측정 대상이 CPU 성능이 아니라 크레딧 잔고가 되기 때문입니다. 같은 코드로 같은 부하를 걸어도 이렇게 나옵니다.
| 시점 | 크레딧 | CPU | p95 |
|---|---|---|---|
| 아침 첫 실행 | 가득 | 100% | 700ms |
| 세 번째 실행 | 소진 | 20%로 제한 | 3,000ms |
코드는 하나도 안 바뀌었는데 숫자가 4배 차이납니다. “여러 번 실행한 값 중 최저치를 기준선으로 고정”하는 방법을 써도, 그 최저치가 CPU 성능을 의미하지 않게 됩니다.
비용온디맨드·스팟·예약 중 무엇을 써야 합니까?
| 방식 | 설명 | 적합성 |
|---|---|---|
| 온디맨드 | 켠 시간만큼 정가. 언제든 끔 | ✅ 기본 선택 |
| 스팟 | AWS 여유분을 60~90% 할인. 단 2분 예고 후 강제 회수 | ⚠ 측정 중 뺏기면 실험이 날아감 |
| 예약 / Savings Plans | 1~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 이상이 나가고, 비용 사고의 단골입니다.
리전 / AZ
리전은 지리적 묶음(서울 = ap-northeast-2), AZ(가용영역)는 그 안의 독립된 데이터센터 동(2a, 2b…)입니다. 같은 AZ 안 인스턴스끼리는 왕복 1ms 수준이고 통신료가 없습니다. 추론 인스턴스를 따로 떼어 놓아도 지연 예산에 영향이 없는 근거가 이것입니다.
추론모델 크기로 필요한 메모리를 어떻게 계산합니까?
파라미터는 모델 내부에 저장된 숫자의 개수입니다(M=백만, B=십억). 계산은 단순합니다 — 파라미터 1개당 몇 바이트를 쓰느냐입니다.
| 정밀도 | 파라미터당 | 0.5B 모델 | 7B 모델 |
|---|---|---|---|
| fp32 (32비트) | 4바이트 | 2GB | 28GB |
| fp16 (16비트) | 2바이트 | 1GB | 14GB |
| 4bit 양자화 | 0.5바이트 | 0.25GB | 약 4GB |
양자화는 숫자의 정밀도를 낮춰 메모리를 줄이는 기법입니다. 품질이 조금 떨어지는 대신 크기가 크게 줍니다.
VRAM은 GPU 전용 메모리입니다. 모델이 VRAM에 안 들어가면 GPU로 돌릴 수 없습니다. g4dn.xlarge의 T4는 16GB이므로 7B 모델까지 여유롭게 들어갑니다.
추론첫 토큰 시간(TTFT)이란 무엇입니까?
LLM이 글을 만드는 과정은 두 단계입니다.
[프리필 prefill] 프롬프트 전체를 한 번에 읽는다
↓ 계산량이 프롬프트 길이에 비례해 늘어남
↓ ★ 여기가 CPU에서 느린 구간
[디코드 decode] 한 글자씩 뱉는다 (토큰 하나마다 모델 전체를 다시 통과)TTFT = 요청부터 첫 글자가 화면에 뜨기까지이고, 대부분이 프리필 시간입니다.
추론임베딩·분류기는 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 (중앙값) | 절반은 이보다 빠르다 |
| p95 | 20번 중 19번은 이 안에 들어온다 |
| p99 | 100번 중 99번은 이 안에 들어온다 |
평균을 쓰지 않는 이유: 100번 중 95번이 0.2초, 5번이 10초라면 평균은 0.7초로 나옵니다. 숫자는 좋아 보이지만 20번에 한 번씩 10초를 기다리는 상담원이 실제 사용자입니다. 평균은 이 고통을 숨깁니다.
용어나머지 용어들은 무슨 뜻입니까?
| 용어 | 뜻 |
|---|---|
| AWS Budgets | 예산 한도를 걸고 초과 시 메일 알림. 알림만 하고 차단은 안 함 |
| Cost Anomaly Detection | 평소 대비 비용이 튀면 알려주는 기능. 역시 알림만 |
| Bedrock | AWS가 제공하는 관리형 LLM API. 서버를 안 띄우고 호출량만큼 과금. 상용 API 도입을 금지한 규칙이 있다면 결정 기록으로 규칙부터 뒤집어야 함 |
| SSM Session Manager | SSH 키와 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를 만들지 않는다 | 시간당 + 트래픽당 이중 과금 | 비용 |
LangTailor