EKS는 접근유형에 따라 pubic, public and private, prviate EKS로 구분합니다. 이 글은 이 의미가 무엇인지 설명합니다.
1. EKS 접근유형이란?
EKS 접근유형은 쿠버네티스 API서버 접근유형을 의미합니다. EKS 생성할 때 접근유형을 선택하거나 또는 실행 중에 접근유형을 수정 할 수 있습니다.
EKS접근 유형은 public, public and private, private유형 3가지가 있는데, 바로 이 유형을 이해하기 어렵습니다. 따라서 이 유형을 이해하기 위한 지식을 이 글에서 설명하려고 합니다.
2. EKS VPC 구성
EKS는 AWS가 직접 관리하는 Control plane VPC와 Data plane VPC가 있습니다. Control plane은 API서버, 스케쥴러, 컨트롤러매니저, Etcd가 있고 Data plane은 worker node가 있습니다.
쿠버네티스 클러스터를 구성하려면 Control plane VPC와 Data plane VPC가 서로 통신이 가능해야 합니다. EKS를 생성하면 AWS가 Control plane과 Data plane을 연결하는 엔드포인트를 자동으로 생성합니다. 이 엔드포인트는 AWS콘솔에서 보이지 않습니다. 자세한 내용은 공식문서를 참고해주세요.
3. EKS 접근유형=쿠버네티스 API서버 접근유형
EKS VPC가 어떻게 구성되었는지 알았으니 EKS접근 유형을 살펴볼까요?
EKS를 접근한다는 것은 쿠버네티스 API서버에 접근한다는 의미와 같습니다. 그래서 EKS 엔드포인트가 API server endpoint로 표기됩니다. 따라서 EKS접근유형=쿠버네티스 API서버 접근유형입니다.
쿠버네티스 API서버에 접근하는 유형은 단순히 생각했을 때 인터넷망과 내부망으로 접근할 수 있겠죠? 인터넷망으로 접근하는 유형을 public유형, 인터넷망이 아닌 내부망으로 접근하는 유형을 private유형이라고 합니다. 그리고 public접근, private접근을 혼합해서 사용하는 것을 public and private유형이라고 합니다.
단순하게 생각하면 접근유형에 public이 들어가면 쿠버네티스 API서버 접근을 인터넷망으로 접근을 허용하겠다입니다. 반대로 private만 있으면 인터넷망으로 쿠버네티스 API서버에 접근하지 못합니다.
3.1 public EKS
public EKS는 쿠버네티스 API를 인터넷망으로 접근할 수 있다는 의미입니다. kubectl명령어를 사용하면 인터넷망으로 EKS에 접근합니다. worker node도 EKS에 접근할 때 인터넷망으로 접근합니다. 쿠버네티스 API서버에서 worker node접근은 private access를 사용합니다.
3.2 public and private EKS
public and private EKS는 인터넷망을 사용할 때는 public access유형으로 쿠버네티스 API서버에 접근합니다. 나머지 유형은 전부 private access유형으로 API서버에 접근합니다.
3.3 private EKS
private EKS는 인터넷망으로 쿠버네티스 API서버접근을 허용하지 않다는 의미입니다. 그러므로 오직 쿠버네티스 API서버 접근은 privtae access만 가능합니다. kubectl를 사용하려면 VPC peering 등을 사용하여 worker node VPC를 연결해야 합니다.
4. EKS 엔드포인트와 Route53 관계
EKS 엔드포인트는 아래 그림처럼 도메인을 관리됩니다. 그리고 도메인은 AWS가 직접관리합니다. 따라서 AWS콘솔에서 Route53 hostzone은 우리 눈에 보이지 않습니다.
AWS에서는 EKS에 접근할 때 현재 사용하는 네트워크 환경에 따라 public access접근 주소, private access접근 주소를 DNS응답으로 사용합니다. private access는 Route53 private hostzone을 사용합니다.
'전공영역 공부 기록' 카테고리의 다른 글
IPv6를 도입하기 위해 확인해야 할 기술 (0) | 2024.03.10 |
---|---|
EKS security group 톺아보기 (0) | 2024.03.09 |
AWS VPC IPv6->IPv4 통신 방법 (0) | 2024.03.02 |
AWS에서 IPv6를 private IP로 설정하는 방법 (0) | 2024.02.26 |
쿠버네티스 Admission controller (1) | 2024.02.17 |