Amazon EKS에서 Topology Aware Hint 기능을 활용하여 Cross-AZ 통신 비용 절감하기

thumbnail

Amazon EKS에서 Cross-AZ 통신 비용 절감하기

개요

이 문서에서는 Amazon EKS에서 Pod 간 통신 시 Cross-AZ 통신 비용을 절감하기 위한 방법으로 Topology Aware Hint 기능을 소개합니다. 이 기능을 활용하면 쿠버네이티스 컨트롤러 매니저에서 각 Availability Zone별 Pod의 개수를 고려하여 패킷을 전송하므로, Cross-AZ 통신이 발생하지 않도록 할 수 있습니다. 이를 통해 비용을 절약하고 네트워크 성능을 향상시킬 수 있습니다.

Topology Aware Hint 기능

Topology Aware Hint 기능을 사용하면 쿠버네이티스 컨트롤러 매니저에서 각 Availability Zone 별로 Pod의 개수를 고려하여 패킷을 전송합니다. 따라서, Cross-AZ 통신이 발생하지 않도록 설정할 수 있습니다. 컨트롤러 매니저는 각 Availability Zone마다 필요한 최소한의 Pod 개수를 충족시키는 조건이 필요합니다.

Topology Aware Hint 기능 활용

Topoloty Aware Hint 기능을 적용하기 위해서는 쿠버네이티스 서비스에 service .kubernetes .io /topology-aware -hints: auto 어노테이션을 추가해야 합니다. 또한, 각 AZ에 필요한 최소한의 Pod 개수를 충족시켜야 하며, Karpenter와 같은 경우 Topology Spread Constraints 설정을 통해 각 AZ에 골고루 Pod를 배포할 수 있습니다.

다른 서비스에서의 Topology Aware Hint 기능 활용

Istio나 AWS NLB, ALB, Ingress-nginx에서도 Topology Aware Hint 기능을 활용할 수 있습니다. Istio의 경우 사이드카 프록시와 Istiod 사이의 통신에 대해 적용할 수 있습니다. AWS NLB, ALB는 대상 유형을 인스턴스로 설정할 때 적용할 수 있으며, Ingress-nginx는 v1.6.8 버전부터 Topology Aware Hint 기능을 지원합니다. Topology Aware Hint 기능을 활용함으로써, Cross-AZ 통신을 최소화하고 성능을 향상시킬 수 있습니다.