Cloud/AWS
EKS Hybrid Nodes 네트워크 및 구축 아키텍처 가이드
지기(ZIGI)
2026. 8. 21. 09:22
Today Key : hybrid, node, eks, network, gateway, control, plane, architecture, 아키텍처, cluster
1. EKS Hybrid Nodes 핵심 개념 및 컨트롤 플레인 통신 구조
- 개념 요약
- AWS 관리를 받는 EKS Control Plane에 온프레미스 베어메탈/가상 서버를 워커 노드로 연결하여 제어면 관리 부담을 줄인 하이브리드 클러스터 솔루션입니다.
- Control Plane 통신 매커니즘
- 온프레미스 노드 레벨:
kubelet이 OS 내systemd서비스로 실행되며, 온프레미스 사설 IP를 출발지(Source IP)로 사용합니다. - Cross-Account ENI: EKS 클러스터 생성 시 Private Access를 활성화하면 사용자 VPC 내부 서브넷에 AWS 관리 전용 네트워크 인터페이스(Cross-Account ENI)가 자동 생성됩니다.
- 통신 경로:
온프렘 kubelet$\rightarrow$Direct Connect / IPsec VPN$\rightarrow$사용자 VPC 내 Cross-Account ENI$\rightarrow$AWS Managed VPC 내 EKS Control Plane(kube-apiserver)
- 온프레미스 노드 레벨:
- Cluster DNS (CoreDNS) 동작
- Control Plane이 단일하므로 Cloud/On-Prem 상관없이 모든 Pod는 동일한 CoreDNS ClusterIP(예: 10.100.0.10)를 참조합니다.
- 지연 시간 단축 및 고가용성을 위해 CoreDNS Pod는 AWS EC2 노드와 온프레미스 노드에 분산 배치(Pod Anti-Affinity)하는 것이 권장됩니다.
2. 네트워크 요건 및 Pod 통신 아키텍처
- 기본 네트워크 연결 조건
- AWS VPC 대역과 온프레미스 노드 IP 대역 간 Direct Connect 또는 IPsec VPN 사설 연결 필수.
- IP 대역 중복 금지: VPC CIDR과 온프레미스 Node CIDR 간 IP 충돌이 없어야 합니다.
- Pod 통신 방식 (2가지)
- Direct Routing (Non-Overlay):
- AWS VPC, TGW, 온프레미스 라우터에 Cloud Pod CIDR 및 On-Prem Pod CIDR에 대한 양방향 L3 라우팅 설정 필수.
- Overlay Network (EKS Hybrid Nodes Gateway 사용):
- 중간 네트워크 장비에 Pod CIDR 라우팅을 등록하지 않고, VXLAN 터널링(UDP 8472)을 통해 Cloud Pod와 On-Prem Pod 간 직접 통신 구현.
- Direct Routing (Non-Overlay):
3. EKS Hybrid Nodes Gateway 아키텍처 및 동작 원리
| 구분 | AWS VPC (Cloud) | On-Premises (Hybrid Node) |
|---|---|---|
| VTEP 역할 주체 | EKS Hybrid Nodes Gateway Pod | Cilium CNI (Node 레벨) |
| CNI 구성 | AWS VPC CNI | Cilium CNI for EKS Hybrid Nodes |
| 주요 역할 | VPC Pod 트래픽 $\leftrightarrow$ VXLAN 패킷 상호 변환 | Pod 트래픽을 Node IP 기반 VXLAN 패킷으로 SNAT/캡슐화 |
- AWS Gateway Pod 동작 방식
- Deployment 형태 배포: VPC 내부 EC2 노드 위에서 Pod로 구동됩니다.
- Active-Standby HA 구동: Kubernetes Lease 기반 Leader Election으로 1개의 Active Pod만 모든 VXLAN 트래픽을 처리하며, 나머지는 대기(Standby)합니다.
- 3개 이상 Replica 구성 가능 여부: Multi-AZ 내결함성은 향상시킬 수 있으나, Active-Standby 특성상 스루풋/대역폭 분산 효과는 없습니다. (대역폭 확장은 Gateway EC2 인스턴스 사양 Upgrading 필요)
- AWS Gateway 전용 노드(Node Group) 분리 필수 사유 (Best Practice)
- Source/Destination Check Disabled: Gateway 노드는 중계기(VTEP) 역할을 수행하므로 EC2 ENI의
Source/Destination Check속성을 비활성화해야 패킷이 드랍되지 않습니다. - I/O 병목 방지: 하이브리드 간 모든 Cross-Domain 트래픽이 집중되므로 일반 애플리케이션 Pod와의 리소스 경합을 격리해야 합니다.
- Source/Destination Check Disabled: Gateway 노드는 중계기(VTEP) 역할을 수행하므로 EC2 ENI의
4. 구성요소별 전제조건 및 기술 요건
- AWS 노드 요건
- AWS VPC CNI 사용 필수.
- Gateway 전용 EC2 Node Group 구성 (
Source/Destination Check: False적용).
- 온프레미스 노드 요건
- Cilium CNI for EKS Hybrid Nodes 사용 필수 (Amazon ECR Public Gallery 제공 공식 이미지 사용).
- Cilium 설정 값 규칙:
- Cilium VTEP 기능 활성화 (
vtep.enabled=true). - L7 프록시 기능 비활성화 (
l7Proxy=false). - 클러스터를 이탈하는 Pod 트래픽의 Source IP를 Node IP로 변환(Masquerade)하도록 설정.
- Cilium VTEP 기능 활성화 (
- 주요 사용 사례 (Use Cases)
- AWS Control Plane에서 온프레미스 노드 내 Webhook Pod(OPA, cert-manager 등)로의 직접 호출.
- AWS EKS Pod와 온프레미스 Pod 간 사설 IP 통신.
- AWS ALB/NLB에서 온프레미스 Pod로의 직접 트래픽 타겟팅 및 Health Check.
5. 온프레미스 노드 등록 프로세스 (nodeadm)
nodeadm개요- AWS가 제공하는 온프레미스 노드 전용 부트스트랩 CLI 도구로, OS 상에
kubelet,containerd, 인증 종속성을 설치 및 초기화합니다.
- AWS가 제공하는 온프레미스 노드 전용 부트스트랩 CLI 도구로, OS 상에
- 설치 및 구동 스텝
- 바이너리 수급: AWS 제공 S3/CloudFront 경로에서
nodeadm바이너리 다운로드. - 환경 설치 (
nodeadm install): 쿠버네티스 버전 및 인증 제공자(SSM 또는 IAM Roles Anywhere) 지정 후 패키지 설치. - 노드 설정 파일 생성 (
nodeConfig.yaml): EKS 클러스터 이름, 리전, 온프레미스 인증 정보(SSM Activation Code/ID 등) 작성. - 노드 초기화 (
nodeadm init): 작성한 설정 파일을 전달하여kubelet구동 및 EKS Control Plane 바인딩 완료.
- 바이너리 수급: AWS 제공 S3/CloudFront 경로에서
6. EKS 노드 관리 개념 정리
- Managed Node Group
- AWS EC2 Auto Scaling Group(ASG) 기반으로 동작하는 노드 집합.
- 인프라 프로비저닝 단계에서 정적으로 사전에 할당하여 관리.
- Node Class (
EC2NodeClass)- Karpenter 또는 EKS Auto Mode에서 사용되는 AWS 인프라 전용 템플릿.
- 서브넷 선택, 보안 그룹, AMI, IAM Role, EBS 디스크 크기 등 하드웨어 및 AWS 속성 정의.
- Node Pool (
NodePool)- Karpenter의 쿠버네티스 논리적 스케줄링 정책 (아키텍처, 인스턴스 타입 범위, Spot/On-Demand 비율 등).
NodePool선언 시 내부nodeClassRef필드로NodeClass를 참조하여 구동.