이 페이지 개선에 도움 주기
이 사용자 설명서에 기여하고 싶으신가요? 이 페이지 하단으로 스크롤하여 GitHub에서 이 페이지 편집을 선택하세요. 여러분의 기여는 모두를 위한 더 나은 사용자 설명서를 만드는 데 도움이 됩니다.
Amazon EKS 아키텍처
Amazon EKS는 Kubernetes의 일반 클러스터 아키텍처와 일치합니다. 자세한 내용을 알아보려면 Kubernetes 설명서의 Kubernetes 컴포넌트
컨트롤 플레인
Amazon EKS는 모든 클러스터가 고유한 Kubernetes 컨트롤 플레인을 보유하도록 보장합니다. 이 설계는 각 클러스터의 인프라를 분리하여 클러스터 또는 AWS 계정 간에 중복이 발생하지 않도록 합니다. 설정에는 다음이 포함됩니다.
- 분산 구성 요소
-
컨트롤 플레인은 AWS 리전 내 3개의 AWS 가용 영역 전반에 2개 이상의 API 서버 인스턴스와 3개의
etcd
인스턴스를 배치합니다. - 최적의 성능
-
Amazon EKS는 컨트롤 플레인 인스턴스를 능동적으로 모니터링 및 조정하여 최고의 성능을 유지합니다.
- 복원력
-
컨트롤 플레인 인스턴스가 불안정해지면 Amazon EKS는 필요한 경우 다른 가용 영역을 사용하여 신속하게 이를 대체합니다.
- 일관적인 가동 시간
-
여러 가용 영역에서 클러스터를 실행함으로써 안정적인 API 서버 엔드포인트 가용성 서비스 수준에 관한 계약(SLA)
을 달성합니다.
Amazon EKS는 Amazon Virtual Private Cloud(Amazon VPC)를 사용하여 단일 클러스터 내의 컨트롤 플레인 구성 요소 간 트래픽을 제한합니다. 클러스터 구성 요소는 Kubernetes 역할 기반 액세스 제어(RBAC) 정책에 따라 권한을 부여받지 않은 경우를 제외하면 다른 클러스터 또는 AWS 계정의 통신을 보거나 수신할 수 없습니다.
컴퓨팅
컨트롤 플레인 외에 Amazon EKS 클러스터에는 노드라고 하는 작업자 컴퓨터 세트가 있습니다. 특정 요구 사항을 충족하고 리소스 사용률을 최적화하려면 적절한 Amazon EKS 클러스터 노드 유형을 선택하는 것이 중요합니다. Amazon EKS는 다음 프라이머리 노드 유형을 제공합니다.
- AWS Fargate
-
Fargate는 기본 인스턴스를 관리할 필요가 없는 컨테이너용 서버리스 컴퓨팅 엔진입니다. Fargate를 사용하면 애플리케이션의 리소스 요구 사항을 지정하고, AWS에서 인프라를 자동으로 프로비저닝, 규모 조정 및 유지 관리합니다. 이 옵션은 사용 편의성을 우선시하고 인프라 관리보다는 애플리케이션 개발 및 배포에 집중하고자 하는 사용자에게 적합합니다.
- Karpenter
-
Karpenter
는 유연한 고성능 Kubernetes 클러스터 자동 규모 조정기로 애플리케이션 가용성과 클러스터 효율성 개선에 도움이 됩니다. Karpenter는 변화하는 애플리케이션 로드에 대응하여 적절한 크기의 컴퓨팅 리소스를 시작합니다. 이 옵션은 워크로드의 요구 사항을 충족하는 적시 컴퓨팅 리소스를 프로비저닝할 수 있습니다. - 관리형 노드 그룹
-
관리형 노드 그룹은 Amazon EKS 클러스터 내 Amazon EC2 인스턴스 컬렉션 관리에 대한 자동화와 사용자 지정을 결합합니다. AWS는 노드 패치, 업데이트 및 규모 조정과 같은 작업을 처리하여 운영상의 부담을 덜어줍니다. 동시에 사용자 지정
kubelet
인수가 지원되므로 고급 CPU 및 메모리 관리 정책을 사용할 수 있습니다. 또한 클러스터별 별도 권한의 필요성을 우회하면서 서비스 계정에 대한 AWS Identity and Access Management(IAM) 역할을 통해 보안을 강화합니다. - 자체 관리형 노드
-
자체 관리형 노드를 통해 Amazon EKS 클러스터 내에서 Amazon EC2 인스턴스를 완벽하게 제어할 수 있습니다. 사용자는 노드 관리, 규모 조정 및 유지 관리를 담당하므로, 기본 인프라를 완전히 제어할 수 있습니다. 이 옵션은 노드를 세밀하게 제어하고 사용자 지정해야 하며 인프라 관리 및 유지 관리에 시간을 투자할 준비가 된 사용자에게 적합합니다.