AWS EKS

조민철·2025년 4월 29일

AWS

목록 보기
19/21
post-thumbnail

EKS

EKS (Elastic Kubernetes Service)는 쿠버네티스를 AWS에서 실행할 수 있는 서비스이다. 완전관리형 Kubernetes 인 만큼 사용자는 바닥부터 서버를 구매하고 쿠버네티스 클러스터를 구축하기 위한 인프라를 구축할 필요가 없다. 그냥 딸깍 버튼이면 EKS는 쉽게 생성된다.

EKS 핵심 구성 요소


EKS의 구성요소는 기본 바닐라 쿠버네티스랑은 다를게없다 단지 사용자는 만들어지는 과정 및 내부를 들여다 보지 못하는 블랙박스 형식의 서비스이다. EKS-managed-VPCAWS에서 자동으로 만들어지며 3개의 Muti-AZAPI 서버etcd 로 구성되어 고가용성을 챙기게된다.

  • 컨트롤 플레인
    • AWS가 관리하는 부분임
    • API 서버, 노드 등으로 구성됨
    • 쿠버네티스의 핵심 컴포넌트를 관리하며 조율
    • API, etcd, 스케줄러 등등 기본 바닐라 쿠버네티스랑은 아키텍처가 비슷함
  • 워커 노드
    • 사용자가 워커노드를 추가하거나 제거 가능
    • 유형은 EC2, Fargate
    • 관리형 노드 그룹(AWS가 자동으로 관리), 자체 관리형 노드(사용자가 관리) 로 나눔

EKS 핵심 기능

쿠버네티스는 단순하지 않은데 EKS를 사용하게 된다면 사용자는 관리부분에서 신경쓸필요가 없어지기 때문에 단순해진다.

  • 완전 관리형 컨트롤 플레인
    • EKS는 핵심 컨트롤 플레인을 AWS가 자동으로 관리함
    • 컨트롤 플레인은 Muti-AZ로 분산되어 가용성을 보장하며 장애 발생시 자동으로 교체됨 (사용자는 확인이 불가능)
  • EKS Auto Mode
    • Auto Mode는 클러스터 인프라를 자동화함 (노드 프로비저닝, 확장, 패치, 업그레이드, 비용 최적화)
    • Karpenter파드 스케줄링 및 노드 증설/축소를 자동화하고, 21일 최대 노드 수명 정책으로 항상 최신 상태를 유지
    • GPU 워크로드 지원, 노드 SSH 차단, SELinux 적용, 읽기 전용 루트 파일 시스템 등 보안성을 높힘
    • 로드밸런서, 스토리지, 네트워크 등도 자동으로 구성
  • 인스턴스 및 스토리지 유연성
    • EC2, Fargate, Graviton(ARM), Nitro 등 다양한 인스턴스 옵션 지원
    • EBS,EFS,FSx,S3 등 자양한 스토리지와 연동 및 스토리지 클래스 불륨 관리도 자동화 가능
    • CSI 드라이버를 통해 외부 스토리지와 연동 가능
  • 네트워킹 및 로드밸런싱
    • VPC와 통합되어 파드 네트워킹 지원, IPv4/6 지원
    • ALB,NLB와 연동하여 서비스 및 인그레스 리소스 로드밸런싱 자동화
  • 보안 및 접근 제어
    • IAM와 통합하여 사용자 및 워크로드 접근제어 가능
    • KMS를 통해 암호 키 관리 및 VPC 격리, SELinix, 읽기 전용 루트 등 다양한 보안 기능 제공
  • 모니터링 및 운영 자동화
    • Prometheus, CloudWatch, Container Insights, CloudTrail, ADOT Operator 등 다양한 모니터링 및 로깅 도구 통합
    • EKS 관찰성 대시보드, 메트릭 서버, 비용 분석 도구 등 운영 효율성을 높이는 기능 제공
  • 호환성 및 확장성
    • 온프레미스 쿠버네티스 서비스를 EKS로 마이그레이션 가능(호환 가능)
  • 관리 인터페이스 및 자동화
    • AWS Management Console, CLI, eksctl, CloudFormation, Terraform, CDK 등 다양한 관리 인터페이스 지원
    • 자동화된 배포 확장, 롤링 업데이트, Blue-Green 배포DevOpsCI/CD 파이프 라인 구축 최적화
  • 서비스 디스커버리 및 서비스 메시
    • AWS Cloud Map, 외부 DNS 연동 등으로 서비스 디스커버리를 지원
    • Istio 등 서비스 메시 솔루션과 연동 가능
  • 하이브리드 및 멀티클라우드 지원
    • AWS Outposts, EKS Anywhere 등을 통해 온프레미스 또는 하이브리드 클라우드 환경에서도 EKS 기능 사용
    • 자체 관리형 노드, 하이브리드 노드 등 다양한 배포 옵션 제공

EKS 이점

  • 완전 관리형 서비스로 운영 부담 감소
  • 고가용성 및 안정성
  • 확장성
  • AWS와 통합
  • 바닐라 Kubernetes와 완벽 호환
  • 보안 및 규정 준수

등 더 많은 장점이 있다.

ECS vs EKS

ECS는 AWS에서 컨터이너를 이용한 서비스이고 EKS는 기존의 바닐라 Kubernetes완전관리형으로 서비스하고 있다. 이러한 이유때문에 ECS는 사용하기 쉽고 EKSKubernestes를 알고 있어야 한다.

항목ECS (Elastic Container Service)EKS (Elastic Kubernetes Service)
오케스트레이션 엔진AWS 자체 엔진 (ECS)오픈소스 Kubernetes
관리 복잡도간단 (AWS가 많은 부분 자동 관리)복잡 (Kubernetes 클러스터 직접 관리 필요)
학습 곡선완만함 (AWS 콘솔 및 API 중심)가파름 (Kubernetes 개념 필요)
멀티 클라우드 지원불가 (AWS 전용)가능 (EKS Anywhere 사용 시)
네트워킹 구성AWS에 최적화된 기본 제공세밀한 네트워킹, CNI 플러그인 관리 필요
커스텀 확장성제한적 (ECS가 제공하는 범위 내)매우 높음 (Kubernetes 에코시스템 활용)
자동화 지원강력 (Fargate와 쉽게 통합 가능)가능하지만 복잡 (Helm, ArgoCD 등 필요)
요금 체계ECS 자체는 무료, 사용한 리소스 비용만 부과EKS 클러스터당 추가 관리 요금 발생 ($0.10/시간)
Fargate 지원지원 (Fargate launch type 사용 가능)지원 (EKS on Fargate 가능)
적합한 경우단순한 컨테이너 워크로드, AWS 내에서 빠른 배포대규모, 복잡한 워크로드, 멀티 클라우드 전략
profile
기록의 힘은 대단하다

0개의 댓글