10분컷 EKS

김남우 ·2025년 3월 1일
0

AWS

목록 보기
7/13
post-thumbnail

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 네트워크 구조

  1. Control Plane(VPC)

    • EKS 클러스터 생성 시, AWS 내부에서 자동으로 프로비저닝되는 별도의 VPC(혹은 서브넷)에서 동작합니다.
    • 이 영역은 사용자가 직접 접근할 수 없고, AWS가 완전 관리합니다.
  2. Data Plane(워크 노드용 VPC)

    • 사용자가 지정한 VPC(서브넷) 내에서 EC2 인스턴스 등 워커 노드를 생성합니다.
    • Node Group을 통해 여러 워커 노드를 관리하며, 이 워커 노드들은 각각 컨테이너(파드)를 구동합니다.
    • Control Plane과 Data Plane은 VPC Peering 혹은 AWS 내부 매커니즘(ENI)으로 연결됩니다.
  3. 외부 트래픽 흐름

    • 최종 사용자는 로드 밸런서(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)과 쿠버네티스 권한을 연결해줍니다.
# aws-auth ConfigMap 예시
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 과금 정책

  1. EKS 클러스터 비용

    • 현재(2024년 8월 기준) 클러스터당 시간당 약 $0.10 달러가 청구됩니다.
    • EKS 자체는 프리 티어(Free Tier) 가 적용되지 않습니다.
  2. EC2 인스턴스 비용

    • 워커 노드(EC2)에 대한 과금은 사용한 시간, 인스턴스 타입에 따라 별도로 청구됩니다.
  3. 스토리지 및 기타 자원 비용

    • EBS, EFS, S3 등 스토리지 사용량에 따라 청구됩니다.
    • EIP(Elastic IP), 로드 밸런서 등 기타 리소스도 사용 시 과금됩니다.

결국, EKS 클러스터 비용 + EC2 비용 + 스토리지 비용 + 기타 리소스 비용이 모두 합산되어 최종 과금됩니다.


7. 마무리 및 다음 단계

  • EKS는 쿠버네티스 환경을 AWS 클라우드에 최적화된 형태로 손쉽게 운영할 수 있도록 돕는 관리형 쿠버네티스 서비스입니다.
  • 온프레미스 환경의 복잡한 마스터 노드 구성이나 업그레이드, 네트워크 및 스토리지 연동을 AWS가 도와주므로 운영 편의성이 높아집니다.
  • 다음 단계에서는 실제로 EKS 클러스터를 생성하고, 간단한 애플리케이션을 배포해보며 실습을 진행해보시길 추천합니다.

참고 자료

위 내용을 통해 EKS의 개념과 특징, 그리고 온프레미스 쿠버네티스와의 차이점을 이해하셨길 바랍니다. 다음 영상이나 포스트에서 실제 EKS 환경을 구성하고 애플리케이션을 배포해 보며 실습을 진행해 보세요!

profile
✨A.I로 0에서 1을 만드는 법✨ - woo;D

0개의 댓글