kui-vault/02.Volume/AWS/ECS 태스크 vs k8s 파드.md

2.6 KiB

id created tags
ECS 태스크 vs k8s 파드 20260304 2026-03-04 17:22
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보다 설정이 좀 더 유연하고 복잡하게 느껴질 수 있습니다.