본문 바로가기
CSP (Cloud Service Provider)/AWS

[AWS] ALB에 EIP를 부여하는 방법

by 알 수 없는 사용자 2023. 8. 18.

안녕하세요. 이쁜이와 멋쟁이의 "BTC_준호" 입니다.
오늘은 ALB에 EIP를 부여하는 방법에 대해 이야기해보겠습니다.


ALB + EIP 

NLB는 고정 IP 기능을 지원하지만,

ALB는 기본적으로 고정 IP 기능을 지원하지 않습니다.

(2023년 8월 18일 기준)

 

NLB는 각 사용 가능한 영역에 고정 IP 주소를 할당하여 사용합니다. 이 IP 주소들은 변하지 않아서 방화벽의 허용 목록에 추가할 수 있습니다. 그러나 NLB는 TCP 통신만을 지원하여 HTTPS 트래픽을 다루지 못하고, ALB의 7계층에 관한 기능도 없습니다. 따라서 이전에는 NLB 또는 ALB의 각각의 장점 중 하나만을 선택해야 했으며, 두 가지의 이점을 동시에 적용할 수는 없었습니다.

 

이제까지는 NLB 또는 ALB의 이점 중에 하나만을 선택해야 했으나 ALB에 EIP를 적용하여 두 가지 장점을 모두 가지는 방법을 알려드리겠습니다.

이 문제를 해결하기 위한 방법으로는 대표적으로 2가지가 있습니다.

1. Global Accelator 사용
2. ALB 앞단에 EIP 할당이 가능한 NLB 배치 (권장)

AWS Global Accelerator 방법보다 설정이 더 간편하고 비용 효율적인 NLB 사용 방식을 이번 시간에 서술하겠습니다.


ALB에 EIP를 적용하는 방법

결론부터 말하자면, ALB 앞단에 NLB를 배치하고, NLB에 EIP를 연결하여 고정 IP를 사용할 수 있습니다.

이렇게 하면 ALB의 뒷단에 있는 서비스들도 고정 IP를 통해 접근할 수 있게 됩니다.

NLB 생성 및 EIP 할당에 대한 자세한 과정을 아래에 작성해두었습니다.


1. Elastic IP(EIP) 생성

AWS Console에 로그인하고, 서비스 메뉴에서 "EC2"를 선택합니다.
왼쪽 패널에서 "탄력적 IP"를 선택합니다.
"탄력적 IP 주소 할당"을 클릭하여 EIP를 생성합니다.
 


2. Network Load Balancer(NLB) 생성

 
서비스 메뉴에서 "EC2"를 선택합니다.
왼쪽 패널에서 "로드 밸런서"를 선택합니다.
"로드 밸런서 생성"을 클릭하고, "Network Load Balancer"를 선택한 후 "생성"을 클릭합니다.
필요한 정보를 입력하고, "탄력적 IP 주소 사용" > "IP 주소" 항목에서 위에서 생성한 EIP를 선택합니다.
 

설정을 마친 후 "로드 밸런서 생성"을 클릭하여 NLB를 생성합니다.
 
 

3. ALB 앞단에 NLB 연결

 
NLB 생성 과정에서 "대상 그룹"을 설정할 때, "대상 유형"을 설정하는 부분에서 “Application Load Balancer”을 타겟으로 설정합니다. 이렇게 하면, NLB가 받는 트래픽이 ALB로 전달되게 됩니다.
 
 
 

4. 보안 그룹 설정

 
NLB와 ALB 모두 적절한 보안 그룹을 설정해야 합니다. NLB의 보안 그룹은 인바운드 트래픽을 허용해야 하며, ALB의 보안 그룹은 NLB에서 오는 트래픽을 허용해야 합니다.
 
이러한 방식으로 설정하면, EIP는 NLB에 연결되어 있고, NLB는 모든 트래픽을 ALB로 라우팅하여, 최종적으로 뒷단의 서비스에 도달하게 됩니다.

끝으로

해당방법은 정말 직접적으로 ALB에 EIP를 적용하는 것이 아닌 EIP가 적용된 NLB를 ALB 앞단에 두어 ALB에 EIP가 적용된 것 처럼(?)하는 방법입니다. 실제적으로 ALB에 EIP를 적용하는 방법은 아직까지 없습니다.(2023-08-18 기준)
또한 모든 트래픽은 두 개의 로드밸런서를 통과한다는 점과 ALB, NLB 두 로드밸런서에서 데이터 처리에 따른 비용이 발생하는 점을 명심해야합니다.

이해가 어려운 부분이 있거나 추가로 알아보고 싶은 내용이 있다면 댓글로 언제든 질문해주시면 감사하겠습니다. 

'CSP (Cloud Service Provider) > AWS' 카테고리의 다른 글

[AWS] AWS Autoscaling Refresh  (0) 2023.08.21
[AWS] EIP 복원  (0) 2023.08.21
AWS IAM과 리소스 기반 정책의 비교  (0) 2023.08.18
[AWS] RDS snapshot 공유  (0) 2023.08.18
AWS SigV4와 JWT  (0) 2023.08.18

댓글