[AWS SAA] 컨테이너 서비스: ECS vs EKS 정리

시훈·2025년 4월 15일

AWS SAA

목록 보기
35/43

AWS에서는 Docker 기반의 컨테이너를 관리할 수 있는 두 가지 대표 서비스인 ECS(Elastic Container Service)EKS(Elastic Kubernetes Service) 를 제공한다. 두 서비스 모두 컨테이너의 배포, 확장, 관리 기능을 제공하지만 사용하는 방식과 유스케이스는 다르다.


🧱 Docker와 컨테이너 개념

  • Docker: 애플리케이션을 컨테이너라는 독립된 환경에 패키징하여 실행하는 플랫폼
  • OS와 하드웨어에 독립적으로 실행 가능 (언제 어디서나 예측 가능한 환경)
  • Docker 이미지는 Docker Hub, Amazon ECR 등에 저장 가능

AWS와 도커 컨테이너 관리

1. Amazon ECS:

  • 도커 관리를 위한 Amazon의 전용 플랫폼입

2. Amazon EKS:

  • Kubernetes의 관리형 버전으로 오픈 소스 프로젝트

3. AWS Fargate:

  • Amazon의 서버리스 컨테이너 플랫폼으로 ECS와 EKS 둘 다 함께 작동

4. Amazon ECR:

  • 컨테이너 이미지를 저장

🔹 Amazon ECS (Elastic Container Service)

✅ 특징

  • AWS가 자체 개발한 완전 관리형 컨테이너 오케스트레이션 서비스
  • Docker 컨테이너 실행에 최적화
  • EC2 또는 Fargate 모드로 실행 가능

🛠️ 실행 모드

  • EC2 모드: 인프라를 직접 프로비저닝하고 EC2 인스턴스에서 컨테이너 실행
  • Fargate 모드: 서버리스. 인프라 관리 필요 없음. 태스크 정의만으로 실행 가능

🔁 오토스케일링

  • ECS 서비스 오토 스케일링(Task 단위)
  • CloudWatch 지표(CPU, 메모리, ALB 요청 수)에 따라 확장/축소

📦 볼륨 마운트

  • EFS 파일 시스템을 마운트하여 태스크 간 데이터 공유 가능

⚙️ IAM 역할

  • EC2 인스턴스 역할, 태스크 역할을 분리하여 보안과 권한 제어 가능

🔗 통합

  • EventBridge: 이벤트 기반으로 ECS 태스크 자동 실행 가능
  • SQS: 대기열에 따라 태스크 자동 확장

🔷 Amazon EKS (Elastic Kubernetes Service)

✅ 특징

  • Kubernetes 오픈소스 플랫폼을 AWS에서 관리형으로 제공
  • 컨테이너를 Kubernetes 방식으로 배포, 관리

🛠️ 실행 모드

  • EC2 모드: 워커 노드를 EC2로 직접 관리
  • Fargate 모드: 서버리스로 컨테이너 실행

🧱 노드 유형

  • Managed Node Group: AWS가 EC2 인스턴스 자동 관리
  • Self-managed Node: 사용자가 직접 EC2 관리 및 등록
  • Fargate: 인프라 전혀 신경 쓸 필요 없음 (서버리스)

💾 스토리지 지원

  • EBS, EFS, FSx 등 다양한 Kubernetes CSI(Storage Interface) 드라이버 지원

🌐 유스케이스

  • 온프레미스 Kubernetes와의 하이브리드 운영
  • 쿠버네티스를 이미 사용하는 기업에 적합

🆚 ECS vs EKS 비교 요약

항목ECSEKS
관리 주체AWS 전용오픈소스 Kubernetes 기반
오케스트레이션AWS ECS 자체 엔진Kubernetes 엔진
실행 모드EC2, FargateEC2, Fargate
러닝 커브낮음 (간단함)높음 (Kubernetes 이해 필요)
사용 유스케이스AWS 내 빠른 배포, 간단한 컨테이너멀티 클라우드, 쿠버네티스 연동 필요 시
확장성ECS 오토스케일링K8s Horizontal Pod Autoscaler

📦 Amazon ECR (Elastic Container Registry)

  • Docker 이미지 저장소로, ECS와 EKS 모두에서 사용 가능
  • IAM을 통한 세밀한 권한 제어
  • 이미지 스캐닝 및 라이프사이클 정책 지원

🧾 마무리 요약

  • ECS는 간편하고 빠르게 컨테이너를 배포하고 싶은 AWS 중심 유저에게 적합
  • EKS는 Kubernetes에 익숙하고 멀티 클라우드 전략이 필요한 경우에 적합
  • 둘 다 Fargate와 통합하여 서버리스 환경을 구축할 수 있음
profile
Backend Developer / Cloud Engineer

0개의 댓글