1. Amazon EKS 란?
: Amazon EKS(Elastic Kubernetes Service)는 쿠버네티스 컨트롤 플레인 또는 노드 영역에 대해 AWS에서 유지 관리하는 관리형 쿠버네테스 서비스입니다.
주요 기능
•
AWS 관리형 서비스
◦
쿠버네티스 컨트롤 플레인 영역을 AWS 관리 VPC에 구성하고 관리
•
고가용성 구성
◦
다수의 AWS 가용 영역에 배치되어 고가용성 보장
•
다양한 AWS 서비스와 통합
◦
AWS 서비스와 통합되어 포괄적인 플랫폼을 제공
[Caption] Amazon EKS와 AWS 서비스 통합
•
쿠버네티스 최신 버전 사용
◦
쿠버네티스 최선 버전을 적용하며 손쉬운 마이그레이션 가능
2. Amazon EKS 아키텍처
Amazon EKS 컨트롤 플레인 아키텍처
•
쿠버네티스를 제어하기 위한 컨트롤 플레인 컴포넌트가 AWS 관리형으로 동작합니다.
◦
AWS Managed VPC에 구성
◦
컨트롤 플레인 컴포넌트: API 서버, 컨트롤러, 스케쥴러, ETCD 등
[Caption] Amazon EKS 컨트롤 플레인 아키텍처
Amazon EKS 데이터 플레인 아키텍처
•
쿠버네티스 노드를 구성하기 위한 데이터 플레인 컴포넌트가 사용자 영역에서 동작합니다.
◦
Custom VPC에 구성
◦
EKS Owned ENI를 통해 컨트롤 플레인 영역과 연결
◦
데이터 플레인 컴포넌트: 컨테이너 런타임, kubelet, kube-proxy 등
[Caption] Amazon EKS 데이터 플레인 아키텍처
3. Amazon EKS 작업 단계
[Caption] Amazon EKS 작동 원리 → 참조 이미지: 링크
1.
Amazon EKS Cluster 프로비저닝
•
쿠버네티스 컨트롤 플레인을 AWS 관리형으로 배포
2.
Amazon EKS 컴퓨팅 자원 배포
•
쿠버네티스 데이터 플레인을 위한 워커 노드를 사용자 영역에 배포
3.
Amazon EKS Cluster 연결
•
쿠버네티스 관리 도구를 통해 Amazon EKS 클러스터에 연결
4.
쿠버네티스 애플리케이션 배포
•
애플리케이션을 쿠버네티스 네이티브 리소스를 사용해서 Amazon EKS 클러스터에 배포
4. Amazon EKS Cluster 배포
1.
관리 콘솔을 통한 방법
•
AWS 관리 콘솔에 접근해서 Amazon EKS Cluster를 배포
[Caption] AWS 관리 콘솔 - Amazon EKS
2.
eksctl 도구를 통한 방법
•
Amazon EKS Cluster를 생성하고 관리하는 명령어 기반의 CLI 도구
eksctl create cluster --name myeks --region=ap-northeast-2
================= output =================
...
2023-05-23 01:32:22 [▶] setting current-context to admin@myeks.ap-northeast-2.eksctl.io
2023-05-23 01:32:22 [✔] saved kubeconfig as "/root/.kube/config”
...
Bash
복사
[Caption] eksctl을 통한 Amazon EKS Cluster 배포 예시
3.
IaC 도구를 통한 방법
•
코드 기반으로 Amazon EKS Cluster를 정의해서 배포
◦
AWS CDK, AWS CloudFormation, Terraform 등
...
module "eks" {
source = "terraform-aws-modules/eks/aws"
cluster_name = myeks
cluster_version = 1.30
...
Bash
복사
[Caption] Terraform을 통한 Amazon EKS Cluster 배포 예시
5. Amazon EKS 요금
Amazon EKS Cluster 요금
•
Amazon EKS Cluster 생성하면 시간당 $0.10 청구
Amazon EKS 컴퓨팅 리소스 요금
•
Amazon EC2 인스턴스
◦
EKS 클러스터의 워커 노드로 사용되는 EC2 인스턴스에 대한 요금은 EC2 요금에 따라 별도로 부과
•
AWS Fargate
◦
Fargate를 사용할 경우 vCPU와 메모리 사용량에 따라 요금이 부과됩니다.
◦
서울 리전에서는 시간당 $0.04656의 요금이 청구
데이터 전송 요금
•
동일한 가용 영역 내에서의 데이터 전송은 무료
•
다른 가용 영역 간의 데이터 전송은 송신 및 수신 방향 각각에 대해 GB당 $0.01의 요금이 부과
Amazon EKS 요금 정책은 변경될 수 있으니 아래 참고 링크 확인 바랍니다.
참고 링크: https://aws.amazon.com/ko/eks/pricing/