귀염둥이의 메모

[AWS] Amazon EKS(Elastic Kubernetes Service) 본문

Infra & Devops/AWS

[AWS] Amazon EKS(Elastic Kubernetes Service)

겸둥이xz 2021. 10. 12. 23:07
반응형

Amazon EKS(Elastic Kubernetes Service)는 쿠버네티스를 제어하는 컨트롤 플레인(Control-Plane)을 제공하는 관리형 서비스이다.

쿠버네티스에서는 여러 컴포넌트들이 독립적이고 비동기로 동작하며 전체를 구성한다. 그래서 각각의 구성 요소를 정상적으로 동작시키기 위한 설정이나 유지, 운영 장애가 발생했을 때 대처가 까다롭다. EKS는 이러한 유지, 운영을 AWS에서 대신해준다.

  • 쿠버네티스와 완전한 호환성을 갖고 있음
  • 이미 구축된 쿠버네티스 클러스터에서 동작하는 애플리케이션을 수정하지 않고 동작시킬 수 있음
  • AWS 각종 서비스와 통합되고 있어 다른 서비스들과 연결하거나 기존 구조와 같은 환경으로 이용할 수 있다

VPC(Virtual Private Cloud)와 통합

 

일반적인 클러스터에서는 파드 네트워크로 데이터 플레인의 네트워크와는 다른 자체 네트워크 체계를 배치한다. 그래서 클러스터 외부에서 파드에 명시적으로 엔드포인트를 생성하지 않으면 통신이 불가능하다. EKS에서는 VPC 통합 네트워킹을 지원하기 때문에 VPC 내부 주소 대역을 사용할 수 있고 클러스터 외부와의 통신을 쉽게 구현할 수 있다.

IAM을 통한 인증과 인가

클러스터는 kubectl 이라는 도구를 사용하여 조작한다. 이때 해당 조작이 허가된 사용자에 의한 것임을 올바르게 인증해야 한다.

또한, 인증된 사용자에게 어떤 조작을 허가할지에 대한 인가 구조도 필요하다. EKS에서는 IAM과 연결한 인증, 인가 구조를 제공한다.

ELB(Elastic Load Balancer)와 연계

 

클러스터 외부에서 접속할 때는 서비스를 사용하여 엔드포인트를 생성해야 한다. 가장 전형적인 엔드포인트가 로드밸런서이다.

EKS에서는 쿠버네티스의 서비스 타입 중 하나인 LoadBalancer를 설정하면 자동으로 AWS 로드밸런서 서비스인 ELB가 생성된다.

이것으로 HTTPS나 경로기반 라우팅 등의 L7 로드밸런서 기능을 AWS 서비스로 구현할 수 있다.

데이터 플레인(Worker Node) 선택

EKS 클러스터의 유지 관리나 버전을 업그레이드할 때 필요한 EC2 가상 머신 설정을 쉽게 해주는 관리형 노드 그룹 구조와 처음부터 가상 머신을 의식하지 않고 파드를 배포할 수 있는 파게이트(Fargate) 서비스가 있다.

  Amazon EC2 Amazon Fargate
특징 - EKS와 별도로 EC2 관리
- 관리형 노드 그룹
- 데이터 플레인도 완전히 AWS가 관리함
- 사용자는 EC2를 관리하지 않음
관리 부하 높음 낮음
제약 적음 많음

References

https://aws.amazon.com/ko/blogs/korea/amazon-eks-now-generally-available/

https://nearhome.tistory.com/128

 

반응형
Comments