티스토리 뷰

안녕하세요

 

저는 On-premise 환경에서의 쿠버네티스 경험만 있었습니다

 

처음 EKS로 쿠버네티스를 구성할때 On-premise환경보다 더 많은 옵션이 생겨 이것저것 고민을 한 경험이 있어 공유하고자 글을 남깁니다

 

가장 많이 사용하는 Ingress Controller가 뭐냐고 묻는다면 대부분의 사용자들께서 nginx-controller라고 대답 하실 겁니다

 

저 또한 nginx-ingress-contoller가 제일 익숙합니다 해서 처음에는 당연히 이것을 사용하려고 했습니다

 

alb를 잘 모르기도 했었고 nginx컨트롤러는 이미 잘 사용할수 있으니까요..

 

그러나 alb에 대해 매뉴얼을 읽어보고 알아볼수록 장점들이 눈에 보였습니다 해서 조금더 알아보다가 결국 alb-ingress를 선택하게 되었습니다

 

먼저 제일큰 장점은 관리 포인트가 줄어든다는 것 입니다

 

nginx-controller 에 트래픽이 몰리면 어떻게 처리하시나요?? hpa를 설정하거나 수동으로 replicas를 늘리거나 controller를 ds로 배포하는등 많은 방법들이 있겠지만 결국 관리자가 관리를 해야하죠...

 

ALB를 사용한다면  ingress 오브젝트만 생성하면 끝입니다

 

nginx 컨트롤러를 사용하여도 해당 컨트롤러 파드들의 앞단에 CLB나 NLB를 사용하여야 하는데

 

nginx 컨트롤러 파드 + 앞단에 로드밸런서 가 하는일을 ALB가 다 해준다고 보시면 될것 같습니다

 

ALB는 AWS가 관리합니다 트래픽이 많아지면 자동으로 확장되고 관리자는 실제 서비스 pod의 스케일링만 신경 쓰면 됩니다

 

 

두번째 장점은 ALB하나로 처리하기 때문에 네트워크 홉이 줄어듭니다

 

사용자 -> LB -> node(nginx-controller-pod) -> node(servicepod)

 

순으로 가던 트래픽이

 

elb+aws cni 라면

사용자 -> ALB -> pod 로 바로 전달 됩니다

 

ALB 타겟이 바로 pod가 됩니다

 

* aws cni를 사용하면 pod에 eni가 직접 붙는 형태라 위에 구조가 가능합니다 타 cni사용시는 다를 수 있습니다

 

 

 

다음은 단점입니다

 

단점은 사실 하나밖에 모르겠어요 바로 비용입니다 시간당 비용은 alb나 nlb나 똑같지만 사용량당 과금인 LCU에서 큰 차이가 납니다

 

ALB LCU

  • 초당 25개의 새로운 연결.
  • 분당 3,000개의 활성 연결.
  • Amazon Elastic Compute Cloud(EC2) 인스턴스, 컨테이너 및 IP 주소를 대상으로 하는 경우 시간당 1GB, Lambda 함수를 대상으로 하는 경우 0.4GB.
  • 초당 1,000개의 규칙 평가

 

 

NLB LCU(TCP만 비교 하겠습니다)

 

  •  초당 800개의 새 TCP 연결.
  •  Amazon Elastic Compute Cloud(EC2) 인스턴스, 컨테이너, IP 주소 및 Application Load Balancer를 대상으로 할 때 시간당 1GB.
  • 100,000개의 활성 TCP 연결(분당 샘플링됨). 

 

 

 

위 조건들 중 가장많은 사용량을 나타내는 값으로 1LCU를 계산하며  1LCU당 가격은 ALB는 0.008 USD 이며 NLB는 0.006 USD 입니다

 

LCU차이가 많이 나죠?? 가격은 비슷한것 같아도 LCU차이가 30배가 넘게 차이가 납니다 

 

예를들어 초당 800개의 연결이라고 치면 nlb는 1LCU값만 내면 되지만 alb는 32LCU값을 지불해야 합니다

 

사용량이 많아지면 많아질수록 가격차이가 많이 나게 됩니다

 

 

장단점을 잘 비교하여 EKS에서의 인그레스 컨트롤러를 선택하는데 도움이 되었으면 좋겠습니다
 
저는 비용 때문에 마지막까지 고민하다가 정말 많은 비용이 청구되거나 하면 다시 nginx로 가면 된다는 생각에 일단 ALB선택하였고 현재 잘 사용 중입니다
 
 
 
 

 

 
 

 

 

 

 

 

'클라우드 > 쿠버네티스' 카테고리의 다른 글

Internal LoadBalancer 생성하기  (0) 2022.05.24
엘라스틱 서치 security 설정  (0) 2022.05.24
자원 관리  (0) 2022.05.24
Probe 설정  (0) 2022.05.10
alb-ingress 생성시 특정 sg적용하는 방법  (0) 2022.05.09
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함