46 lines
2.6 KiB
Markdown
46 lines
2.6 KiB
Markdown
---
|
|
id: ECS 태스크 vs k8s 파드 20260304
|
|
created: 2026-03-04 17:22
|
|
tags:
|
|
- ecs
|
|
- container
|
|
---
|
|
## 💡 생각
|
|
결국 태스크와 파드는 같다고 보면된다. 태스크는 ECS에서 쓰고 파드는 EKS에서 쓴다.
|
|
|
|
## 🤝 ECS 태스크 vs K8s 포드: 공통점
|
|
|
|
1. **컨테이너의 집합체:** 두 개념 모두 하나 이상의 컨테이너를 포함할 수 있습니다. (예: 메인 앱 + 로그 수집기)
|
|
|
|
2. **네트워크 공유:** 태스크/포드 내의 컨테이너들은 동일한 IP 주소를 공유하며 `localhost`를 통해 서로 통신합니다.
|
|
|
|
3. **스토리지 공유:** 태스크/포드 수준에서 정의된 볼륨을 내부 컨테이너들이 함께 마운트해서 쓸 수 있습니다.
|
|
|
|
4. **생명 주기:** 태스크나 포드가 죽으면 그 안의 컨테이너들도 운명을 같이 합니다.
|
|
|
|
|
|
|
|
## 🧐 굳이 차이점을 찾자면? (한 끗 차이)
|
|
|
|
개념은 같지만, 그것을 **관리하는 방식**에서 이름표가 달라집니다.
|
|
|
|
- **ECS ([[파게이트(Fargate)]] 기준):** AWS가 서버를 대신 관리해주기 때문에, 사용자가 "난 이만큼의 자원이 필요해"라고 **태스크 단위로 주문서**를 써야 합니다. 그래야 AWS가 그에 딱 맞는 가상 머신을 뒤에서 빌려줄 수 있으니까요.
|
|
|
|
- **[[쿠버네티스(Kubernetes)]]:** 보통 이미 떠 있는 **노드(Node/서버) 덩어리**가 있고, 파드는 그 안에서 자원을 조금씩 나눠 쓰는 '세입자' 같은 느낌입니다. 그래서 리소스 설정이 '실행 기준'이라기보다 '최대/최소 가이드라인'처럼 느껴질 수 있습니다.
|
|
|
|
### ECS 태스크 (Task)
|
|
|
|
ECS는 특히 **Fargate** 모드를 쓸 때, 태스크 전체가 사용할 CPU와 메모리를 **태스크 수준**에서 딱딱하게 결정해야 합니다.
|
|
|
|
- 예: "이 태스크는 무조건 0.5 vCPU와 1GB 메모리를 점유한다."
|
|
|
|
- 이 기준이 틀리면 아예 실행이 안 되거나 설정 오류가 납니다. 그래서 질문자님 말씀처럼 "태스크 = 리소스 기준이 명확히 박힌 단위"라는 인상이 강합니다.
|
|
|
|
|
|
### 쿠버네티스 파드 (Pod)
|
|
|
|
파드도 YAML 설정(Spec) 안에 각 컨테이너가 사용할 `requests`(최소 보장)와 `limits`(최대 제한)를 적습니다.
|
|
|
|
- 예: "이 컨테이너는 최소 256MB, 최대 512MB 메모리를 쓴다."
|
|
|
|
- **차이점:** 쿠버네티스는 여러 컨테이너의 합산 리소스를 보고 노드(서버)의 남는 자리에 파드를 '스케줄링'하는 데 집중합니다. ECS보다 설정이 좀 더 유연하고 복잡하게 느껴질 수 있습니다. |