본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
Amazon Elastic Kubernetes Service; Amazon EKS; 아마존 EKS
쿠버네티스 컨트롤 플레인을 AWS가 운영해 주는 관리형 쿠버네티스 서비스

아마존 EKS는 쿠버네티스 클러스터의 두뇌에 해당하는 컨트롤 플레인(API 서버, etcd 등)을 AWS가 설치·패치·확장·복구해 주는 서비스이다. 이용자는 표준 쿠버네티스 API와 kubectl, 헬름 같은 기존 도구를 그대로 쓰면서 워커 노드와 애플리케이션에 집중한다. 이미 쿠버네티스로 운영 중인 시스템을 AWS로 옮기거나, 여러 환경에서 같은 쿠버네티스 방식을 유지하려 할 때 고른다. 컨테이너 개념은 도커, 컨테이너 가상화 문서를 참고한다.

아마존 EKS 표준 모드와 EKS Auto Mode의 관리 범위
항목 설명
컨트롤 플레인 AWS가 관리. 한 리전 안 3개 가용 영역에 API 서버 인스턴스 2개 이상과 etcd 인스턴스 3개를 분산 배치하고, 비정상 인스턴스는 자동 교체한다.
데이터 플레인(노드) 파드가 실제로 실행되는 컴퓨팅. 아래 노드 옵션 중에서 고른다.
파드 쿠버네티스의 배포 단위. 하나 이상의 컨테이너 묶음
파드용 IAM 권한 EKS Pod Identity 또는 서비스 계정용 IAM 역할(IRSA)로 파드마다 다른 IAM 역할을 준다.
네트워킹 아마존 VPC CNI 플러그인이 파드에 VPC IP 주소를 할당한다. 서비스 노출은 AWS Load Balancer Controller로 ALB·NLB를 만든다.
요금 클러스터당 시간 요금(쿠버네티스 버전 지원 단계에 따라 다름) + 노드로 쓰는 EC2·Fargate·EBS 등 자원 요금
옵션 누가 관리하나 특징 적합한 경우
EKS Auto Mode AWS가 노드 프로비저닝, 인스턴스 선택, 확장, OS 패치까지 관리 컴퓨팅·스토리지·네트워킹 인프라 관리를 AWS에 위임. SSH 접속과 커스텀 AMI는 불가 쿠버네티스 전문 인력이 적고 운영 부담을 최소화하려는 경우
관리형 노드 그룹 AWS가 노드 생성·업데이트·종료를 자동화, 이용자가 설정 결정 EKS가 관리하는 EC2 Auto Scaling 그룹으로 만들어지며 여러 AZ에 분산. 노드 자동 복구 선택 가능 일반적인 EC2 노드. 커스텀 AMI·시작 템플릿 필요 시
자체 관리형 노드 이용자 노드를 직접 만들고 클러스터에 등록, 패치·업그레이드도 직접 완전한 제어가 필요하거나 Local Zones·Outposts 등 특수 환경
AWS Fargate AWS 파드마다 격리된 서버리스 실행. DaemonSet, 특권 컨테이너, GPU 미지원. Fargate Spot 미지원 노드 관리 없이 소규모·변동 워크로드 실행
EKS 하이브리드 노드 이용자(온프레미스 장비) AWS 리전의 EKS 컨트롤 플레인에 온프레미스·엣지 서버를 노드로 연결 데이터가 현장에 있어야 하는 하이브리드 워크로드

노드 확장은 Auto Mode가 자동으로 하고, 관리형 노드 그룹에서는 Karpenter나 Cluster Autoscaler를 붙인다. 파드 수 확장은 Horizontal Pod Autoscaler가 맡는다.

구분 아마존 ECS 아마존 EKS
오케스트레이터 AWS 고유 업스트림 쿠버네티스(인증 적합성 유지)
호환성·이식성 AWS 전용 API와 태스크 정의 표준 쿠버네티스 매니페스트·헬름 차트를 다른 클라우드나 온프레미스와 공유 가능
학습 곡선 낮음 높음(쿠버네티스 개념, 애드온, 업그레이드 주기 관리)
컨트롤 플레인 요금 없음 클러스터당 시간 요금
버전 관리 이용자가 관리할 버전 없음 쿠버네티스 버전을 주기적으로 올려야 함. 표준 지원 기간이 끝난 버전은 추가 비용의 연장 지원 단계로 넘어감
생태계 AWS 서비스와 간단히 통합 쿠버네티스 오픈소스 도구(Argo CD, Prometheus 등) 활용
서버리스 실행 Fargate, Fargate Spot Fargate(Spot 없음), Auto Mode
  • 쿠버네티스 경험이 없고 AWS 안에서만 운영한다면 ECS가 단순하다.
  • 이미 쿠버네티스를 쓰고 있거나 멀티클라우드·하이브리드에서 같은 도구 체계를 유지해야 하면 EKS가 맞다.

아마존 EKS Anywhere

편집 원본 편집

EKS Anywhere는 이용자의 데이터 센터나 엣지 환경에 쿠버네티스 클러스터 전체(컨트롤 플레인 포함)를 만들고 운영하도록 돕는 소프트웨어이다.

  • EKS와 달리 이용자가 관리하는 제품이다. 클러스터 수명 주기 작업과 유지 보수 책임이 이용자에게 있다.
  • VMware vSphere, 베어메탈, Nutanix, Apache CloudStack, AWS Snow를 지원하고, 인터넷이 끊긴 에어갭(air-gapped) 환경에서도 운영할 수 있다.
  • AWS 지원과 애드온이 필요하면 EKS Anywhere 엔터프라이즈 구독을 구매한다.

온프레미스와 함께 쓰는 선택지는 다음과 같이 구분한다.

방식 컨트롤 플레인 위치·관리 노드
EKS 하이브리드 노드 AWS 리전, AWS 관리 이용자의 온프레미스 서버
EKS on AWS Outposts AWS 리전 또는 Outposts, AWS 관리 Outposts의 EC2 자체 관리형 노드
EKS Anywhere 이용자 데이터 센터, 이용자 관리 이용자의 온프레미스 서버

AWS 리전과 안정적으로 연결할 수 있으면 하이브리드 노드, 연결이 없거나 끊길 수 있는 환경이면 EKS Anywhere를 고른다.

아마존 EKS Distro

편집 원본 편집

EKS Distro는 아마존 EKS가 내부적으로 쓰는 것과 같은 오픈소스 쿠버네티스 배포판이다. AWS가 검증하고 보안 패치한 쿠버네티스 구성 요소를 묶어 공개하며, AWS뿐 아니라 온프레미스나 다른 클라우드에서도 쓸 수 있다. 클러스터를 설치·운영하는 도구는 아니며, 배포판만 가져다 직접 클러스터를 꾸리는 경우에 쓴다. EKS Anywhere도 EKS Distro를 기반으로 한다.

  • "기존 쿠버네티스 워크로드를 AWS로 이전", "쿠버네티스 호환 유지", "오픈소스 도구 재사용"이면 EKS이다. 그런 조건이 없고 운영 단순화가 목표면 ECS가 정답인 경우가 많다.
  • 노드 관리까지 줄이려면 EKS Auto Mode나 Fargate를 고른다. DaemonSet·GPU가 필요하면 Fargate는 오답이다.
  • 파드별 AWS 권한은 노드 인스턴스 프로파일이 아니라 EKS Pod Identity나 IRSA로 준다.
  • 온프레미스에서 AWS 연결 없이 쿠버네티스를 운영하면 EKS Anywhere, 리전의 컨트롤 플레인에 현장 서버를 붙이면 하이브리드 노드이다.
  • 컨트롤 플레인은 AWS가 여러 AZ에 분산해 운영하므로, 이용자가 챙길 고가용성은 노드 그룹을 여러 AZ에 걸치는 것이다.