[EKS] external ELB -> internal ELB 변경

Hyun-Sung Kim·2025년 2월 17일

Kubernetes

목록 보기
23/24
post-thumbnail

EKS cluster에서 ingress를 생성하면, LB 컨트롤러에 의해 ELB가 자동으로 배포됩니다.

이 때, ELB를 external로 만들 지, internal로 만들 지 모드를 선택해야 하는데, external로 만들면 ELB에 public sunet이 매핑되고
internal로 만들면 private subnet이 매핑됩니다.

external로 배포한 inress를 internal로 변경한 경우 어떤 결과가 나오는지 살펴 보겠습니다.


< internet-facing ingress >

ingress를 internal로 만들기 위해선 ALB의 scheme을 'internet-facing'으로 작성해야 합니다.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ing-nginx
  namespace: hs
  annotations:
    kubernetes.io/ingress.class: alb
    alb.ingress.kubernetes.io/scheme: internet-facing

그 결과 ALB가 Public 서브넷에 매핑되고 'internet-facing' Scheme으로 생성됩니다.


< internal ingress >

ingress를 internal로 만들기 위해선 ALB의 scheme을 'internal'로 작성해야 합니다.

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ing-nginx
  namespace: hs
  annotations:
    kubernetes.io/ingress.class: alb
    alb.ingress.kubernetes.io/scheme: internal

external -> internal로 변경 시 고려사항

annotation 내용이 변경되어 수정된 yaml을 kubectl apply 명령으로 배포하면,
ingress 리소스는 그대로지만, ingress의 address가 다른 값으로 다시 할당됩니다.

ELB 콘솔에서도 기존 ALB가 삭제되고, internal용 신규 ALB가 생성됐음을 확인할 수 있습니다.

따라서 기존 ALB를 참조하는 구성이 있다면, 신규 ALB 정보로 치환해 주는 작업이 별도로 필요합니다.

profile
Cloud Engineer

0개의 댓글