EKS 소개: 10분 컷 EKS
AWS에서 쿠버네티스(Kubernetes) 환경을 간편하게 운영할 수 있도록 제공하는 아마존 EKS(Elastic Kubernetes Service) 에 대해 소개합니다. 온프레미스에서 직접 쿠버네티스를 설치해 운영하는 것과는 어떤 차이가 있는지, 그리고 EKS를 이용하면 얻을 수 있는 이점은 무엇인지 살펴보겠습니다.
1. EKS란 무엇인가?
EKS(Elastic Kubernetes Service) 는 AWS에서 제공하는 관리형 쿠버네티스 서비스입니다.
- 관리형이라는 의미는 쿠버네티스 클러스터의 Control Plane을 AWS가 대신 운영·관리해 준다는 뜻입니다.
- 사용자는 애플리케이션(컨테이너)들이 동작하는 워커 노드(Data Plane)와 애플리케이션 배포 및 운영에만 집중할 수 있습니다.
온프레미스와의 차이
- 온프레미스에서 쿠버네티스를 운영하려면, 마스터 노드(= Control Plane) 를 직접 설치하고, 고가용성을 위해 여러 대를 관리해야 합니다.
- EKS를 사용하면 이 Control Plane을 AWS가 관리해주므로, 운영 복잡도가 크게 감소합니다.
2. EKS의 주요 특징
2.1 관리형 Control Plane
- AWS에서 API 서버, etcd, 스케줄러, 컨트롤러 등 쿠버네티스의 핵심 구성 요소를 관리합니다.
- 사용자는 워크로드(파드/Deployment 등)를 배포하는 작업에 집중하면 됩니다.
2.2 높은 가용성(High Availability)
- EKS의 Control Plane은 여러 가용 영역(AZ) 에 걸쳐 배포됩니다.
- 온프레미스 환경에서 마스터 노드를 3대 이상 운영하듯이, AWS에서는 EKS가 자동으로 고가용성을 제공합니다.
2.3 손쉬운 업그레이드 및 AWS 서비스 연동
- 클릭 몇 번 혹은 간단한 명령어로 쿠버네티스 버전을 업그레이드할 수 있습니다.
- 쿠버네티스 환경에서 AWS 로드 밸런서(ALB, NLB 등) 와 IAM, 스토리지(EBS, EFS, S3 등) 를 쉽게 연동·통합할 수 있습니다.
3. EKS 네트워크 구조

-
Control Plane(VPC)
- EKS 클러스터 생성 시, AWS 내부에서 자동으로 프로비저닝되는 별도의 VPC(혹은 서브넷)에서 동작합니다.
- 이 영역은 사용자가 직접 접근할 수 없고, AWS가 완전 관리합니다.
-
Data Plane(워크 노드용 VPC)
- 사용자가 지정한 VPC(서브넷) 내에서 EC2 인스턴스 등 워커 노드를 생성합니다.
- Node Group을 통해 여러 워커 노드를 관리하며, 이 워커 노드들은 각각 컨테이너(파드)를 구동합니다.
- Control Plane과 Data Plane은 VPC Peering 혹은 AWS 내부 매커니즘(ENI)으로 연결됩니다.
-
외부 트래픽 흐름
- 최종 사용자는 로드 밸런서(ALB, NLB 등) 를 통해 워커 노드(파드)에 접속하여 애플리케이션 서비스를 이용합니다.
온프레미스와의 주요 차이점
- 파드 IP 대역: EKS에서는 파드 IP가 VPC IP 대역을 그대로 사용합니다.
- 온프레미스에서는 별도의 CNI(예: Calico, Flannel 등)로 파드 전용 IP 대역을 설정하는 것이 일반적입니다.
- EKS에서는 기본적으로 AWS CNI가 적용되어, VPC 대역을 파드 IP로 사용합니다.
- 따라서 VPC를 설정할 때 충분히 넓은 CIDR을 잡아줘야 합니다.
- 인스턴스 타입 제한: EC2 인스턴스 타입에 따라 할당 가능한 파드 수가 제한됩니다.
4. EKS 스토리지 연동
4.1 AWS 스토리지 서비스
- EBS(Elastic Block Store)
- EC2 인스턴스에 블록 스토리지로 연결.
- 쿠버네티스에서 사용하려면 EBS CSI 드라이버가 필요합니다.
- EFS(Elastic File System)
- 여러 인스턴스(가용 영역에 상관없이)에서 공유 가능한 파일 스토리지.
- 쿠버네티스에서 사용하려면 EFS CSI 드라이버가 필요합니다.
- S3(Object Storage)
- 직접 마운트해 사용하는 일반적인 파일시스템은 아니지만, CSI 드라이버를 통해 일부 활용 가능합니다.
4.2 CSI(컨테이너 스토리지 인터페이스)
- 쿠버네티스에서 스토리지를 사용하려면 반드시 해당 스토리지에 맞는 CSI 드라이버를 설치해야 합니다.
- 예:
Amazon EBS CSI Driver
, Amazon EFS CSI Driver
등
4.3 스토리지 클래스
- 쿠버네티스에서는 StorageClass를 통해 EBS, EFS 등을 동적으로 프로비저닝할 수 있습니다.
- 예) EBS를 자동으로 Provision하도록 설정한 StorageClass, EFS를 위한 StorageClass 등
5. EKS 인증과 권한 (IAM 연동)
- AWS는 IAM(Identity and Access Management)을 통해 사용자, 그룹, 역할(Roles)에 대한 권한 부여를 수행합니다.
- 쿠버네티스 RBAC와 AWS IAM을 맵핑하여, 쿠버네티스 내에서도 세분화된 접근 제어가 가능합니다.
- EKS 클러스터에는 기본적으로
aws-auth
라는 ConfigMap이 존재하며, 여기서 ARN(AWS Resource Name)과 쿠버네티스 권한을 연결해줍니다.
apiVersion: v1
kind: ConfigMap
metadata:
name: aws-auth
namespace: kube-system
data:
mapRoles: |
- rolearn: arn:aws:iam::111122223333:role/your-eks-role
username: admin
groups:
- system:masters
- 이처럼 AWS IAM 역할(
rolearn
)이 쿠버네티스 내부 username
, groups
와 매핑되며 접근 권한을 부여받습니다.
6. EKS 과금 정책
-
EKS 클러스터 비용
- 현재(2024년 8월 기준) 클러스터당 시간당 약 $0.10 달러가 청구됩니다.
- EKS 자체는 프리 티어(Free Tier) 가 적용되지 않습니다.
-
EC2 인스턴스 비용
- 워커 노드(EC2)에 대한 과금은 사용한 시간, 인스턴스 타입에 따라 별도로 청구됩니다.
-
스토리지 및 기타 자원 비용
- EBS, EFS, S3 등 스토리지 사용량에 따라 청구됩니다.
- EIP(Elastic IP), 로드 밸런서 등 기타 리소스도 사용 시 과금됩니다.
결국, EKS 클러스터 비용 + EC2 비용 + 스토리지 비용 + 기타 리소스 비용이 모두 합산되어 최종 과금됩니다.
7. 마무리 및 다음 단계
- EKS는 쿠버네티스 환경을 AWS 클라우드에 최적화된 형태로 손쉽게 운영할 수 있도록 돕는 관리형 쿠버네티스 서비스입니다.
- 온프레미스 환경의 복잡한 마스터 노드 구성이나 업그레이드, 네트워크 및 스토리지 연동을 AWS가 도와주므로 운영 편의성이 높아집니다.
- 다음 단계에서는 실제로 EKS 클러스터를 생성하고, 간단한 애플리케이션을 배포해보며 실습을 진행해보시길 추천합니다.
참고 자료
위 내용을 통해 EKS의 개념과 특징, 그리고 온프레미스 쿠버네티스와의 차이점을 이해하셨길 바랍니다. 다음 영상이나 포스트에서 실제 EKS 환경을 구성하고 애플리케이션을 배포해 보며 실습을 진행해 보세요!