top of page

ECS vs EKS vs Fargate | 한눈에 비교하는 AWS 컨테이너 서비스

ECS vs EKS vs Fargate | 한눈에 비교하는 AWS 컨테이너 서비스

한눈에 비교하는 AWS 컨테이너 서비스

Written By Eunjin Ryu AWS 컨테이너 서비스를 선택할 때 주로 ECS와 EKS를 고려합니다. 그러나 두 서비스는 이름도 기능도 비슷하여 선택에 어려움을 겪는 경우가 많습니다.

이런 어려움을 해소하고자, 본 글에서는 AWS의 대표적인 컨테이너 서비스인 ECS와 EKS를 비교 분석하고, 이와 함께 자주 언급되는 Fargate에 대해서도 살펴보고자 합니다. 각 서비스의 특징을 확인해봄으로써 우리 조직에 맞는 컨테이너 서비스가 무엇인지 확인해가시길 바랍니다.

 
 

1. 컨테이너 서비스란?

AWS 컨테이너 서비스 표 정리

우선 컨테이너가 무엇인지부터 살펴보겠습니다. 컨테이너는 애플리케이션과 그 실행에 필요한 모든 것을 하나로 묶은 패키지입니다. 컨테이너를 사용하면 애플리케이션을 어디서나 일관되게 실행할 수 있습니다. 예를 들어, 개발자가 만든 애플리케이션을 컨테이너에 넣으면, 개발 환경, 테스트 환경, 실제 운영 환경 어디서든 동일하게 실행됩니다.

ECS, EKS, Fargate는 AWS에서 제공하는 컨테이너 서비스이며, 이 중 ECS와 EKS는 애플리케이션을 쉽게 배포하고 관리하는데 도움을 주는 '컨테이너 오케스트레이션에', Fargate는 애플리케이션 실행에 필요한 컴퓨팅 자원을 선택하는 '컴퓨팅 옵션'에 해당합니다.


+번외) 추가로, 또 다른 AWS 컨테이너 서비스인 Lightsail과 EC2를 다룬 블로그글이 있으니, 궁금하시다면 아래 링크에서 확인해주시길 바랍니다. 아마존 라이트세일(Amazon Lightsail)이란 : EC2 vs Lightsail 비교 | SmileShark BLOG


 

2. Amazon ECS란?


ECS 아이콘

Amazon ECS(Elastic Container Service)는 AWS에서 제공하는 컨테이너 오케스트레이션 서비스로, AWS 상에서 Docker 컨테이너를 쉽게 실행하고 관리할 수 있는 서비스입니다.


a. Amazon ECS의 특징

ECS 작동 원리
출처 : https://aws.amazon.com/ko/ecs/
  • AWS 최적화를 통한 단순함

AWS 서비스를 활용하여 손쉽게 배포 및 운영이 가능합니다. 그렇기에 복잡한 설정을 하지 않고도 신속하고 간편하게 애플리케이션을 실행할 수 있습니다.

  • 컨테이너 런타임 지원

컨테이너 런타임은 애플리케이션을 실행하기 위한 소프트웨어이며, 대표적으로 Docker와 containerd가 있습니다. ECS를 EC2 서버에서 사용하는 때는 Docker와, Fargate와 결합할 때는 containerd를 사용할 수 있습니다.


b. Amazon ECS는 언제 사용하나요?

그러므로 ECS는 간단한 설정 및 손쉬운 관리가 필요한 경우, 컨테이너 구축 및 배포에 대한 경험이 부족한 경우, 그리고 AWS 서비스를 적극 활용하고 싶은 경우에 추천드립니다.

이는 ECS가 AWS에 의해 완전히 관리되어 간편하게 컨테이너를 실행할 수 있기 때문입니다. 또한, 앞서 말씀드렸다시피 AWS에 최적화된 서비스이기 때문에, AWS의 다양한 기능들을 최대한 활용해보실 수도 있습니다.


 

3. Amazon EKS란?


EKS 아이콘

Amazon EKS(Elastic Kubernetes Service)는 이름에서 확인할 수 있다시피 'Kubernetes'를 쉽게 배포, 실행, 스케일링할 수 있게 해주는 컨테이너 서비스입니다. 주로 대규모의 컨테이너 애플리케이션을 다룰 때 사용됩니다.


a. Amazon EKS의 특징

EKS 작동 원리
출처 : https://aws.amazon.com/ko/eks/
  • 확장성

EKS는 대규모의 복잡한 애플리케이션을 관리하고 자동으로 스케일링할 수 있습니다. Kubernetes의 특성상 여러 대의 서버에 걸쳐 애플리케이션을 배포 및 관리할 수 있기 때문에, 갑작스러운 트래픽 증가에도 안정적인 애플리케이션 동작을 지원합니다.

  • Kubernetes 지원

K8s로 도 알려진 Kubernetes는 애플리케이션을 컨테이너화하여 여러 대의 서버에서 자동으로 배포, 스케일링, 관리해주는 오픈 소스 플랫폼입니다. 많은 지식과 소스 코드가 공유되는 오픈 소스 플랫폼인 만큼, 활발한 생태계와 커뮤니티를 활용할 수 있습니다. 또한, Kubernetes의 다양한 도구를 활용할 수 있으며, 특정 클라우드에 종속되지 않기 때문에 하이브리드 클라우드 환경에서도 용이하게 쓰일 수 있습니다.


b. Amazon EKS는 언제 사용하나요?

그러므로 Kubernetes의 특성을 활용하며, 대규모의 복잡한 아키텍처를 필요로 하거나, Kubernetes를 운영할 수 있는 전문 인력이 있는 경우, 그리고 여러 클라우드 환경에서의 이식성(Portability)이 높은 서비스가 필요한 경우에 사용하시는 것을 추천드립니다.




4. 한눈에 비교하기

: 'Amazon ECE' vs 'Amazon EKS'

그럼 이제, 컨테이너 오케스트레이션 서비스인 ECS와 EKS를 표로 비교해보겠습니다.


Amazon ECS

Amazon EKS

하위 범주

컨테이너 오케스트레이션

컨테이너 오케스트레이션

관리 형태

완전 관리형

관리형 Kubernetes

주요 기술

Docker 컨테이너

Kubernetes

사용 난이도

쉬움

중간~어려움

애플리케이션 규모

중소~대규모

중소~대규모

커뮤니티 지원

AWS 커뮤니티 지원

Kubernetes 커뮤니티 및 AWS 커뮤니티 지원

이식성(Portability)

제한적

Kubernetes 표준 기반으로 좋은 이식성


 

5. AWS Fargate란?


AWS Fargate 아이콘

AWS Fargate는 서버나 클러스터를 관리할 필요 없이 컨테이너를 실행할 수 있게 해주는 서버리스 컴퓨팅 엔진입니다. Fargate는 단독으로 사용할 수 없으며, ECS나 EKS와 같은 컨테이너 오케스트레이션 서비스와 결합하여 사용됩니다. Fargate는 ECS, EKS와 자주 비교되지만, 사실상 다른 범주에 속하는 서비스이므로 별도로 설명드리겠습니다.


a. AWS Fargate의 특징

AWS Fargate 작동 원리
출처 : https://aws.amazon.com/ko/fargate/
  • 서버리스

Fargate를 사용하면 서버나 클러스터를 직접 관리하지 않고도 컨테이너를 실행할 수 있기에, 인프라 관리의 부담을 줄이고 사용자가 애플리케이션 코드에만 집중할 수 있는 환경이 마련됩니다.

  • 확장성

워크로드의 필요에 따라 자동으로 확장하거나 축소할 수 있습니다

  • 보안

서버리스 아키텍처를 통해 리소스 격리가 더 강력하게 이루어질 수 있으며, AWS 보안 서비스와 통합하여 보안성을 높일 수 있습니다.


b. AWS Fargate는 언제 사용하나요?

Fargate는 단독으로 사용하지 않고 ECS, EKS와 함께 사용되며, 이 경우 Fargate의 '서버리스'라는 강점을 통해 더욱 시너지를 낼 수 있습니다.


(1) Amazon ECS + AWS Fargate

ECS의 단순함, 높은 AWS 서비스 활용성 등의 이점을 간직하면서 서버리스로 컨테이너를 관리할 수 있습니다.

(2) Amazon EKS + AWS Fargate

EKS의 Kubernetes와 서버리스 컴퓨팅의 이점을 경합하여 서버 관리를 최소화하면서, Kubernetes의 유연성과 확장성을 활용할 수 있습니다.


하지만 무작정 서버리스를 도입하시는 것보단, 워크로드를 분석하여 서버를 사용해야 하는 부분과 서버리스를 사용해야 하는 부분을 분리하는 것을 고려하시는 것이 좋습니다. 또한, Fargate를 함께 사용하는 경우 비용이 증가할 수 있으며, 초기 설정 및 운영에서 전문 기술 인력이 필요하다는 점을 참고해주시길 바랍니다.


 

6. 한줄 요약 : 어떤 컨테이너 서비스를 사용해야 할까요?

  • AWS 서비스와의 높은 활용성 및 간편한 설정과 관리가 필요할 때 → ECS

  • 대규모의 복잡한 애플리케이션에서 Kubernetes의 강력한 생태계와 유연성을 활용하고자 할 때 → EKS

  • ECS 또는 EKS와 결합하여 서버나 클러스터 관리를 최소화하고 인프라 관리 부담을 줄이고자 할 때 → Fargate

 

7. 마치며

이번 글에서는 AWS의 대표적인 컨테이너 서비스인 ECS, EKS 그리고 Fargate에 대해 알아보았습니다. 각 서비스는 고유한 장점과 특징을 가지고 있으므로, 조직의 환경과 필요에 맞게 선택하시면 됩니다. 각 서비스의 특성을 고려하여 우리 회사에 가장 적합한 서비스를 선택하시길 바랍니다.

 

관련 링크


조회수 260회댓글 0개

관련 게시물

전체 보기

Comments


bottom of page