반응형
EKS 내부 서비스 간 통신 방식을 비교하기 위해 AWS Domain(ALB 경유) 방식과 EKS Service DNS(ClusterIP) 방식을 대상으로 성능 테스트를 진행했다.
일반적으로 클러스터 외부(ALB)로 나가는 것보다 내부 DNS(Service) 경로가 더 빠를 것이라고 예상할 수 있지만, 실제 결과는 반대였다.
| 구분 | 테스트 유저 수 | 테스트 시간 | 총 요청 수 | 요청률 (req/s) |
| ALB | 20 | 120초 | 228 | 1.90 |
| ALB | 20 | 120초 | 229 | 1.92 |
| DNS | 20 | 120초 | 218 | 1.84 |
| DNS | 20 | 120초 | 219 | 1.83 |
1) 평균 응답 시간
EKS Service DNS는 ALB 대비 약 380~500ms 느림
2) 최대 응답 시간(Max)
EKS DNS 경로는 ALB 대비 최대 3,000ms 이상 지연 발생
3) 요청 처리량(req/s)
EKS DNS: 1.83 ~ 1.84 req/s
테스트 결과를 분석해보면,
- ALB가 응답 속도·안정성 모두에서 더 우수한 성능을 보였다.
- 최대 응답 시간(Max) 차이가 큰 것으로 보아, 레이지 요청 처리나 내부 네트워크 큐잉에서 더 큰 지연이 발생한 것으로 추정된다.
- EKS DNS는 클러스터 내부 DNS 라우팅을 거치며, 이 과정에서 추가적인 네트워크 홉과 큐잉 지연이 발생할 수 있다.
결론적으로는 EKS 내부 서비스 간 통신에서 단순히 내부 DNS가 더 빠를 것이라고 기대하기 어려웠다.
오히려 ALB(도메인 경유) 방식이 응답 속도와 안정성 모두에서 더 우수하게 나타났다.
이를 통해 서비스 환경마다 네트워크 구조와 트래픽 패턴이 다를 수 있으므로, 실제 환경에서 직접 테스트를 통해 최적의 통신 방식을 검증하는 것이 중요하다는 점을 느낄 수 있었다.
| 항목 | ALB | EKS DNS |
| 네트워크 경로 | VPC 내부 ENI를 통해 서비스 파드에 직접 연결 | CoreDNS → 서비스 IP → kube-proxy → 파드 |
| 요청 분산 방식 | AWS ALB의 최적화된 로드 밸런싱 | iptables 기반 Round-Robin(kube-proxy) |
| 병목 및 큐잉 가능성 | 낮음 | CoreDNS, iptables, 큐잉 등 병목 및 레이턴시 증가 가능성 |
| 최대 응답 시간 차이 | 비교적 낮게 유지 (레이지 요청 영향 적음) | 레이지 요청 및 경로 지연 영향으로 Max latency 증가 가능 |
| 응답 속도 및 안정성 | 전반적으로 빠르고 안정적, 지연 최소화 | 내부 DNS 라우팅 영향으로 ALB 대비 느리고 변동성 있음 |
반응형
'MSA > 쿠버네티스' 카테고리의 다른 글
| [Kubernetes] RBAC 설정 (0) | 2025.12.05 |
|---|---|
| [Kubernetes] Fluentbit 로그 수집 방법(Sidecar vs DaemonSet) (0) | 2025.09.16 |
| [Kubernetes] HPA 설정 커스터마이징(hpa behavior) (1) | 2025.08.07 |
| [Kubernetes] zookeeper 역할 확인 (0) | 2025.07.21 |
| [Kubernetes] docker hub에 이미지 안올리고 로컬 이미지 사용하는 방법 (0) | 2025.04.25 |