EKS Cluster 엔드포인트 엑세스

신동수·2024년 2월 29일
0

K8S

목록 보기
2/14

개요

  • EKS 구축 시 엔드포인트 엑세스란 것을 이해하지 못하여 이해를 돕고, 추후 다시 확인하기 위해 포스팅을 작성한다. 아키텍처는 직접 그렸으며 내용은 복사하였다.

엔드포인트 엑세스란?

쿠버네티스의 엔트포인트 액세스란 쿠버네티스 API 서버에 대한 접근 방식이다.
쉽게 말해, 사용자가 쿠버네티스 API 서버에 kubectl로 명령을 내릴 때, 어떤 방식으로 클러스터와 상호 작용하는 지를 정의한다.
공식문서 - 액세스 제어

Public EndPoint Access

kubectl → API 서버 통신

사용자가 kubectl 명령을 외부 인터넷을 통해 AWS Managed VPC 내 API 서버에 요청을 보낸다.

API 서버 → kubelet 통신

API 서버에서 kubelet으로 통하는 트래픽은 퍼블릭, 퍼블릭 프라이빗, 프라이빗 모두 동일하다.
사용자 명령을 받은 API 서버는 EKS owned ENI를 통해서 워커노드의 kubelet에 명령을 내리게 된다.

kubelet → API 서버통신

명령을 받은 kubelet은 작업을 수행하고, 워커노드의 상태를 다시 API 서버로 보고한다.
이때 API 앤드포인트가 현재 NLB의 퍼블릭 IP주소로 되어있으므로, 해당 요청은 인터넷 게이트웨이를 통해서 외부로 빠져나가 API 서버에 전송된다.

Public + Private EndPoint Access

kubectl → API 서버 통신

API 서버에서 kubelet으로 통하는 트래픽은 퍼블릭, 퍼블릭 프라이빗, 프라이빗 모두 동일하다.

API 서버 → kubelet 통신

퍼블릭, 퍼블릭 프라이빗, 프라이빗 모두 동일하다.

kubelet → API 서버통신

AWS 내부의 프라이빗 호스팅 존을 통해서 EKS owned ENI를 통과해 나가게 된다.

Private EndPoint Access

kubectl → API 서버 통신

사용자에서 API 서버에 kubeclt 요청을 보낼 때, 사용자가 사용자 VPC(Custom VPC) 내부에 있기 때문에 EKS owned ENI를 통해서 API 서버로 요청을 보낸다. (예: DX, VPN 을 통한 네트워크 연결로 API 호출)

API 서버 → kubelet 통신

퍼블릭, 퍼블릭 프라이빗, 프라이빗 모두 동일하다.

kubelet → API 서버통신

프라이빗 호스팅 존을 통해서 들어왔던 문인 EKS owned ENI를 통해서 API로 응답이 전송된다.

참고
EKS Cluster Endpoint Access

profile
조금씩 성장하는 DevOps 엔지니어가 되겠습니다. 😄

0개의 댓글

관련 채용 정보