NLB와 ALB 연동을 통한 고정 IP 구현
1단계: ALB 준비
이미 운영 중인 ALB가 있다면 그대로 사용해도 좋습니다.
주의: ALB는 Internal(내부) 타입으로 생성하는 것이 일반적입니다(보안 강화). 물론 인터넷 통신용 ALB여도 상관없습니다.
2단계: 'ALB 타입'의 대상 그룹(Target Group) 생성
이 부분이 가장 핵심입니다. 과거에는 ALB의 IP를 매번 확인해서 등록해야 했지만, 이제는 'ALB 자체'를 대상으로 등록할 수 있습니다.
Target Group 생성으로 이동합니다.
Target type으로 [Application Load Balancer]를 선택합니다.
프로토콜은 보통 TCP 80 또는 TCP 443을 선택합니다.
대상 선택 창에서 앞서 준비한 ALB를 선택합니다.
3단계: 고정 IP를 가진 NLB 생성
Network Load Balancer 생성을 시작합니다.
Network mapping 섹션에서 각 가용 영역(AZ)마다 **[Elastic IP(탄력적 IP)]**를 하나씩 할당합니다. 이것이 외부에서 보게 될 고정 IP가 됩니다.
Listeners 설정에서 2단계에서 만든 'ALB 타입 대상 그룹'으로 트래픽을 전달하도록 설정합니다.
보안 그룹(Security Group) 설정 시 주의사항
NLB는 보안 그룹을 가질 수 있지만(2023년 이후 업데이트), 트래픽을 최종적으로 처리하는 ALB의 보안 그룹 설정이 더 중요합니다.
ALB 보안 그룹: 소스(Source)에 NLB의 사설 IP 대역이나 NLB 전용 보안 그룹을 허용해야 합니다.
Client IP 유지: NLB-to-ALB 구성 시, ALB 로그에 클라이언트의 실제 IP가 찍히게 하려면 NLB의 'Client IP Preservation' 옵션을 확인해야 합니다. (단, ALB 타입 대상 그룹 사용 시 기본적으로 처리됨)
장단점 비교
비교 항목 | ALB 단독 사용 | NLB + ALB 연동 |
IP 주소 | 동적 변경 (DNS 기반) | 고정 IP (Elastic IP) |
보안성 | 방화벽 화이트리스트 등록 불가 | 외부 방화벽 등록 가능 |
복잡도 | 매우 낮음 | 중간 (리소스 2개 관리) |
비용 | ALB 비용만 발생 | ALB + NLB 비용 합산 발생 |
만약 단순히 고정 IP만 필요한 것이 아니라, 전 세계 사용자에게 빠른 응답 속도까지 제공해야 한다면 AWS Global Accelerator를 고려해 보세요. ALB 앞에 붙이면 전 세계 어디서든 접속 가능한 2개의 고정 Anycast IP를 제공하며, 구성이 훨씬 단순해질 수 있습니다
댓글
댓글 0개
이 문서에는 댓글을 달 수 없습니다.