Amazon EKS란 무엇인가요?

Amazon EKS란 무엇인가요?

Amazon EKS는 Kubernetes 클러스터 운영의 복잡성을 제거해 주는 완전 관리형 Kubernetes 서비스입니다. EKS를 사용하면 운영 부담 없이 더 빠르게 애플리케이션을 배포하고, 변화하는 워크로드 수요에 맞춰 매끄럽게 확장하며, AWS 통합과 자동 업데이트를 통해 보안을 강화할 수 있습니다. 표준 EKS와 완전 자동화된 EKS Auto Mode 중에서 선택할 수도 있어요.

Amazon Elastic Kubernetes Service(Amazon EKS)는 AWS 클라우드와 고객의 자체 데이터 센터(EKS Anywhere, Amazon EKS Hybrid Nodes) 양쪽에서 Kubernetes 클러스터를 실행하기 위한 최고의 플랫폼입니다. EKS는 Kubernetes 클러스터를 구축·보안·유지 관리하는 작업을 단순화해 줍니다. 피크 수요를 충족할 만큼의 리소스를 자체 데이터 센터로 유지하는 것보다 비용 효율적일 수도 있어요. Amazon EKS를 사용하는 두 가지 주요 방식은 다음과 같습니다.

  • EKS 표준(standard): EKS로 클러스터를 생성하면 AWS가 Kubernetes 컨트롤 플레인을 관리합니다. 노드를 관리하고 워크로드를 스케줄링하며 AWS 클라우드와 통합하고 컨트롤 플레인 정보를 저장·확장해 클러스터를 계속 가동시키는 구성 요소들은 자동으로 처리됩니다.
  • EKS Auto Mode: EKS Auto Mode 기능을 사용하면 EKS가 관리 범위를 확장해 Node(Kubernetes 데이터 플레인)까지 관리합니다. 인프라 자동 프로비저닝, 최적의 컴퓨트 인스턴스 선택, 리소스 동적 확장, 비용 지속 최적화, 운영 체제 패치, AWS 보안 서비스 통합을 자동으로 처리해 Kubernetes 관리를 단순화합니다.

다음 다이어그램은 선택한 클러스터 생성 방식에 따라 Amazon EKS가 사용자의 Kubernetes 클러스터를 AWS 클라우드와 어떻게 통합하는지 보여 줍니다.

Amazon EKS는 마찰을 없애고 프로덕션 도달 시간을 앞당기며, 성능·가용성·복원력을 개선하고 시스템 보안을 강화하는 데 도움을 줍니다. 자세한 내용은 Amazon Elastic Kubernetes Service를 참고하세요.

Kubernetes로 구축하고 확장하기: Amazon EKS Capabilities

Amazon EKS는 클러스터를 구축·관리하는 것뿐 아니라 Kubernetes로 애플리케이션 시스템을 구축하고 확장하는 데도 도움을 줍니다. Amazon EKS Capabilities는 클러스터의 기능을 확장해 주는 완전 관리형 클러스터 서비스로, 손대지 않아도 되는 Kubernetes 네이티브 도구를 제공합니다.

  • Argo CD: Argo CD는 워크로드, AWS 리소스, 클라우드 인프라에 대해 선언적(declarative) GitOps 기반의 지속적 배포를 제공합니다.
  • AWS Controllers for Kubernetes(ACK): ACK는 AWS 리소스의 Kubernetes 네이티브 생성과 수명 주기 관리를 가능하게 하여, 워크로드 오케스트레이션과 Infrastructure-as-code 워크플로우를 하나로 통합합니다.
  • kro(Kube Resource Orchestrator): kro는 기본 Kubernetes 기능을 확장해 커스텀 리소스 생성·오케스트레이션·구성(composition)을 단순화하며, 나만의 맞춤형 클라우드 빌딩 블록을 만들 수 있는 도구를 제공합니다.

EKS Capabilities는 이러한 기반 플랫폼 구성 요소를 클러스터에 설치·유지·확장하는 운영 부담을 최소화해 주는 클라우드 리소스로, 클러스터 플랫폼 운영이 아닌 소프트웨어 구축에 집중할 수 있게 해 줍니다. 자세한 내용은 EKS Capabilities를 참고하세요.

Amazon EKS의 기능

Amazon EKS는 다음과 같은 상위 수준의 기능을 제공합니다.

관리 인터페이스

EKS는 클러스터를 프로비저닝·관리·유지하기 위한 여러 인터페이스를 제공합니다. AWS Management Console, Amazon EKS API/SDK, CDK, AWS CLI, eksctl CLI, AWS CloudFormation, Terraform 등이 있어요. 자세한 내용은 Get started with Amazon EKS와 Amazon EKS cluster lifecycle and configuration을 참고하세요.

접근 제어 도구

EKS는 사용자와 워크로드의 접근을 관리하기 위해 Kubernetes와 AWS Identity and Access Management(AWS IAM) 기능을 모두 사용합니다. 자세한 내용은 Grant IAM users and roles access to Kubernetes APIs와 Grant Kubernetes workloads access to AWS using Kubernetes Service Accounts를 참고하세요.

컴퓨트 리소스

컴퓨트 리소스의 경우 EKS는 모든 Amazon EC2 인스턴스 유형과 Nitro, Graviton과 같은 AWS 혁신을 지원하므로 워크로드에 맞게 컴퓨트를 최적화할 수 있습니다. 자세한 내용은 Manage compute resources by using nodes를 참고하세요.

스토리지

EKS Auto Mode는 EBS 볼륨을 사용하는 스토리지 클래스를 자동으로 생성합니다. Container Storage Interface(CSI) 드라이버를 사용하면 애플리케이션 스토리지 요구에 Amazon S3, Amazon S3 Files, Amazon EFS, Amazon FSx, Amazon File Cache도 활용할 수 있어요. 자세한 내용은 Use application data storage for your cluster를 참고하세요.

보안

Amazon EKS의 보안에는 공동 책임 모델(shared responsibility model)이 적용됩니다. 자세한 내용은 Security best practices, Infrastructure security, Kubernetes security를 참고하세요.

모니터링 도구

observability 대시보드를 사용해 Amazon EKS 클러스터를 모니터링할 수 있습니다. 모니터링 도구에는 Prometheus, CloudWatch, CloudTrail, ADOT Operator가 있어요. 대시보드, 메트릭 서버 및 기타 도구에 대한 자세한 내용은 EKS cluster costs와 Kubernetes Metrics Server를 참고하세요.

클러스터 기능(Capabilities)

EKS는 오픈 소스 혁신을 기반으로 하는 지속적 배포, 클라우드 리소스 관리, 리소스 구성(composition)을 위한 관리형 클러스터 기능을 제공합니다. EKS는 클러스터에 Kubernetes API를 설치하지만, 컨트롤러와 기타 구성 요소는 EKS에서 실행되며 완전히 관리되어 자동 패칭·확장·모니터링을 제공합니다. 자세한 내용은 EKS Capabilities를 참고하세요.

Kubernetes 호환성 및 지원

Amazon EKS는 인증된 Kubernetes 호환(Kubernetes-conformant) 서비스이므로 애플리케이션을 리팩토링하지 않고도 Kubernetes 호환 애플리케이션을 배포하고, Kubernetes 커뮤니티 도구와 플러그인을 사용할 수 있습니다. EKS는 Kubernetes에 대해 표준 지원(standard support)과 확장 지원(extended support)을 모두 제공합니다. 자세한 내용은 Understand the Kubernetes version lifecycle on EKS를 참고하세요.

관련 서비스

Amazon EKS로 배포한 클러스터에는 다른 AWS 서비스를 함께 사용할 수 있어요.

  • Amazon EC2: Amazon EC2로 온디맨드·확장 가능한 컴퓨트 용량을 확보합니다.
  • Amazon EBS: Amazon EBS로 확장 가능하고 성능이 뛰어난 블록 스토리지 리소스를 연결합니다.
  • Amazon ECR: Amazon ECR로 컨테이너 이미지를 안전하게 저장합니다.
  • Amazon CloudWatch: Amazon CloudWatch로 AWS 리소스와 애플리케이션을 실시간 모니터링합니다.
  • Amazon Prometheus: Amazon Managed Service for Prometheus로 컨테이너화된 애플리케이션의 메트릭을 추적합니다.
  • Elastic Load Balancing: Elastic Load Balancing으로 여러 대상에 걸쳐 수신 트래픽을 분산합니다.
  • Amazon GuardDuty: Amazon GuardDuty로 EKS 클러스터에 대한 위협을 탐지합니다.
  • AWS Resilience Hub: AWS Resilience Hub로 EKS 클러스터의 복원력을 평가합니다.

Amazon EKS 요금

Amazon EKS는 Kubernetes 클러스터 버전 지원에 따른 클러스터별 요금, Amazon EKS Auto Mode 요금, 그리고 Amazon EKS Hybrid Nodes의 vCPU당 요금으로 구성됩니다.

Amazon EKS를 사용할 때는 Kubernetes 워커 노드에서 애플리케이션을 실행하는 데 사용하는 AWS 리소스 비용을 별도로 지불해요. 예를 들어 Kubernetes 워커 노드를 Amazon EC2 인스턴스로, Amazon EBS 볼륨과 공용 IPv4 주소와 함께 실행한다면 인스턴스 용량은 Amazon EC2로, 볼륨 용량은 Amazon EBS로, IPv4 주소는 Amazon VPC로 각각 과금됩니다.

Amazon EKS 컨트롤 플레인과 클러스터의 워커 노드 간 통신은 VPC의 requester-managed 네트워크 인터페이스를 사용합니다. 이 연결의 고객 쪽 트래픽, 즉 컨트롤 플레인에서 워커 노드로의 인그레스와 워커 노드에서 컨트롤 플레인으로의 이그레스에는 표준 AWS 데이터 전송 요금이 부과됩니다. 연결의 컨트롤 플레인 쪽 데이터 전송 비용은 Amazon EKS가 부담해요. 데이터 전송 요금에 대한 자세한 내용은 Data Transfer pricing을 참고하세요.

Kubernetes 애플리케이션과 함께 사용하는 AWS 서비스의 상세 요금은 각 서비스의 요금 페이지를 방문해 확인하세요.

  • Amazon EKS 클러스터, Amazon EKS Auto Mode, Amazon EKS Capabilities, Amazon EKS Hybrid Nodes 요금은 Amazon EKS Pricing을 참고하세요.
  • Amazon EC2 요금은 Amazon EC2 On-Demand Pricing과 Amazon EC2 Spot Pricing을 참고하세요.
  • AWS Fargate 요금은 AWS Fargate Pricing을 참고하세요.

Amazon EKS 클러스터의 컴퓨트에는 Auto Savings Plans(절감형 플랜)을 사용할 수 있어요. 자세한 내용은 Pricing with Savings Plans를 참고하세요.

출처: 문서

본문

Amazon Elastic Kubernetes Service(Amazon EKS)는 AWS 환경에서 Kubernetes 클러스터를 실행·관리하기 위한 완전 관리형 Kubernetes 서비스입니다. 컨트롤 플레인과 데이터 플레인 관리를 AWS에 맡기고, 애플리케이션 배포 속도를 높이면서 운영 부담을 줄일 수 있어요.

더 알아보기 (Learn more)