AWS EKS Pod 접근

hwup·2026년 5월 10일

AWS

목록 보기
8/9

1. kubectl exec

bashkubectl exec -it <pod-name> -n <namespace> -- /bin/bash

2. Bastion Host (Jump Server) + kubectl

개발자 → Bastion EC2 (SSM or SSH) → kubectl → Pod
  • Bastion에만 kubeconfig 설치
  • 개발자는 Bastion을 경유해서만 접근
  • SSM으로 Bastion 접근 → Pod는 kubectl exec

3. AWS SSM + kubectl (SSM으로 노드 접근 후 pod exec)

SSM → Worker node → 노드에서 직접 crictl 또는 nsenter로 컨테이너 접근

4. EKS Access Entry + RBAC (권한 제어)

특정 IAM Role에만 kubectl exec 허용

  • IAM Role → EKS Access Entry 매핑
  • 팀/환경별로 RBAC 세분화
  • 개발자는 dev namespace만, 운영팀은 prod namespace만 접근

5. Teleport/Strongdm (PAM 솔루션)

개발자 → Teleport Gateway → Kubernetes API → Pod

  • 접근 로그 자동 기록 (세션 녹화)
  • MFA 강제
  • 임시 권한 발급 (Just-in-Time Access)
  • 컴플라이언스 요구사항 충족에 유리

PAM (Privileged Access Management)

== 권한 있는 접근을 중앙에서 통제 및 감사하는 솔루션

Teleport는 Proxy 서버를 중간에 두는 구조. 개발자는 Kubernetes API Server에 직접 접근하지 않고, 반드시 Teleport Proxy를 경유하게 된다.

Teleport Proxy는 회사 내부 혹은 별도 SaaS로 운영되면서 모든 트래픽이 이 Proxy를 통과한다. Kubernetes 클러스터 안에는 Teleport Agent가 설치되어 있어서 Proxy로부터 오는 요청을 받아 실제 Kubernetes API에 전달하는 역할을 한다. 외부에서 Kubernetes API를 직접 노출하지 않아도 되므로 클러스터 자체의 노출면이 줄어드는 효과가 있다.

  • Teleport에 로그인
  • SSO 인증 후 Teleport가 단기 유효한 인증서를 발급
  • 이후 개발자가 kubectl exec 명령을 실행하면 해당 요청은 Teleport Proxy를 통해 클러스터 내부 Agent로 전달, Agent가 실제 Kubernetes API에 전달

6. kubectl + AWS IAM Identity Center (SSO)

개발자 IAM SSO 로그인 → 임시 자격증명 → kubeconfig 자동 갱신 → kubectl exec

7. Ephemeral Debug Container (kubectl debug)

  • Production distroless 이미지에 shell 없을 때 사용
  • 임시 컨테이너를 붙여서 디버깅

EKS API Server가 Public Access로 열려있어야 함
보안을 위해 Private Access로 설정한 경우엔 EKS API Server 자체가 VPC 내부에서만 접근 가능하므로 VPN이나 Bastion 경유가 필요

AWS PrivateLink + Network Load Balancer


profile
Level up!

0개의 댓글