베하 ~~!
오늘도 수 지 타 산 입니다.
곧 설날이 다가오네요!
계묘년 건강과 행복, 두 마리 토끼 다 잡으시길 기원합니다.
이때까지 AWS의 기본 서비스들을
다루어 보았어요.
이제는 본격적으로 EKS에 대하여 알아볼게요.
팔로팔로팔로미 ~~~~
AWS 공식사이트 - 작동방식
AWS에서 제공하는 완전관리형 Kubernetes 서비스
Kubernetes 제어 플레인을 설치하고 운영할 필요 없이 AWS에서 Kubernetes를 손쉽게 실행하도록 하는 관리형 서비스로 특징은 아래와 같다고 한다.
- 여러 가용 영역 배포
- 비정상 제어 플레인 인스턴스를 자동으로 감지하고 교체
- 자동화된 버전 업그레이드
- 서비스 통합 제공
EKS 아키텍쳐
AWS에서 제공하는 아키텍처와 Kubernetes 아키텍처를 함께 확인해보자.
쿠버네티스 클러스터 다이어그램 - https://kubernetes.io/
AWS EKS
먼저, EKS VPC와 Customer VPC가 나뉘어져 있는 점이 눈에 띈다.
이는 사용자가 별도로 VPC를 나눌 필요 없이 쿠버네티스 다이어그램처럼 컨트롤 플레인과 노드를 나눠놓는다.
EKS의 컨트롤 플레인(Master)는 EKS VPC에 위치하며, 앞단에 Static IPs를 가지는 Endpoint를 가지고 있다.
Endpoint에 대한 설명은 아래 Document를 참조해야 한다.
새 클러스터를 생성할 때 Amazon EKS에서는 클러스터와 통신하는 데 사용하는 관리형 Kubernetes API 서버에 대한 엔드포인트를 생성합니다(kubectl과 같은 Kubernetes 관리 도구 사용). 기본적으로 이 API 서버 엔드포인트는 인터넷에 공개되어 있으며, API 서버에 대한 액세스는 AWS Identity and Access Management(IAM) 및 기본 Kubernetes RBAC(역할 기반 액세스 제어)의 조합을 통해 보호됩니다. - AWS Document
또한, 실제 Worker 노드들은 모두 EC2로 구성되어 Customer VPC에 위치하게 된다.
즉,
- 노드는 퍼블릭/프라이빗 Endpoint를 통해 컨트롤 플레인에 API Access를 하게되고
- Control Plane은 AWS Managed VPC내에 구성이 되며
- Customer VPC에 ENI를 생성하며, 이 구간을 통해 Customer VPC의 Worker node에 접근하게 된다.
- 워커 노드의 앞단에는 AWS LB(NLB/ELB)를 제공한다.
ALB도 ingress 형태로 제공하는 것 같은데, 추가적인 내용은 좀더 공부를 해봐야 할 것 같다.
참고
Amazon EKS creates an elastic network interface in your private subnets to facilitate communication to your worker nodes. This communication channel supports Kubernetes functionality such as kubectl exec and kubectl logs.
(https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/network_reqs.html)
그래서 왜 EKS를 써야하나?
EKS 공식홈페이지의 두 번째 단락을 보면, 다양한 이유를 들어 EKS가 가장 좋은 솔루션임을 어필하고 있다.
EKS는 여러 이유로 Kubernetes를 실행하는 가장 좋은 솔루션입니다. 첫째로 컨테이너를 위한 서버리스 컴퓨팅인 AWS Fargate를 사용하여 EKS 클러스터를 실행하도록 선택할 수 있습니다. Fargate에서는 서버를 프로비저닝하고 관리할 필요가 없어 애플리케이션별로 리소스를 지정하고 관련 비용을 지불할 수 있으며, 애플리케이션을 격리하도록 설계되었기 때문에 보안 성능을 향상시킬 수 있습니다. 두 번째로 EKS는 Amazon CloudWatch, Auto Scaling Groups, AWS Identity and Access Management(IAM) 및 Amazon Virtual Private Cloud(VPC)와 같은 서비스와 긴밀하게 통합되어 애플리케이션을 모니터링하고 확장하고 로드 밸런싱하는 데 원활한 환경을 제공합니다. 세 번째로 EKS는 AWS App Mesh와 통합되어 Kubernetes 기본 환경을 제공합니다. 이를 통해 서비스 메시 기능을 사용하고 풍부한 관찰력을 도입하고 제어와 보안 기능을 애플리케이션에 전달합니다. 또한 EKS는 여러 가용 영역에서 실행되는 확장 가능하고 가용성이 높은 제어 플레인을 제공하여 단일 장애 지점을 제거합니다.
EKS 개념을 보았어요.
여기까지 기본 개념들을 보았고
다음 시간에는 조금 더 자세히 알아볼게요!
오늘도 수고하셨습니다.
설 잘 보내세요
베빠 ~~~~~~~~~
'CSP (Cloud Service Provider) > AWS' 카테고리의 다른 글
[AWS] 쿠버네티스 (1) | 2023.02.03 |
---|---|
[AWS]도커란? (0) | 2023.01.28 |
Github (1) | 2023.01.15 |
[AWS] Lambda - 실습 (1) | 2023.01.05 |
[AWS]GuardDuty (0) | 2023.01.04 |
댓글