클라우드/쿠버네티스
NLB LoadBalancer에 ip제한 하는법
ybchoi
2022. 5. 24. 20:52
NLB에는 Security Group적용 불가
아래와 같이 Service Spec에 loadBalancerSourceRanges 를 선언하여 제한 할수 있다
loadBalancerSourceRanges:
- "143.231.0.0/16"
다만 위 방법을 사용하려면 SNAT가 걸리면 안되는데
기본적으로는 nlb에 SNAT가 걸리게 되어있음
서비스에 아래의 어노테이션을 추가하여 SNAT가 안걸리도록 설정한다
service.beta.kubernetes.io/aws-load-balancer-target-group-attributes: preserve_client_ip.enabled=true
위와같이 2가지 설정을하면 nlb오브젝트 자체에 sourceranges제한을 걸어줌으로써 sg와 동일한 효과를 낼 수 있음
정확히 이야기하면 해당 설정을 하면 클러스터에서 사용하는 공통 SG에 정책(해당 아이피와 서비스에 사용하는 PORT Allow 정책)이 들어가게된다
(매뉴얼내용 참고)
“NLB ip 모드를 사용하는 경우 기본적으로 .spec.loadBalancerSourceRanges필드가 무시됩니다. ”