AWS

AWS ALB에 고정 IP 할당 (NLB + ALB)

moonganzi 2023. 5. 16. 17:16

AWS ALB 사용 중 Webhook 기능을 사용하거나, 외부 방화벽 장비에서 ALB를 소스로 등록하고자 하는 경우와 같이 고정 IP 가 필요한 경우가 있다.

ALB는 기본 적으로 고정 IP 기능을 지원하지 않기 때문에, 크게 2가지 방식으로 ALB에 고정 IP를 할당한다.

1) Global Accelator 사용하기

2) ALB 앞에 고정 IP 할당이 가능한 NLB 배치하기 (권장)

 

그 중 아래의 방식을 실습을 통해 알아보자.


1. EC2 웹서버 준비하기

  - 테스트를 위한 웹서버를 한대 준비하자. nginx가 실행 중인 EC2를 생성했다. 

nginx가 실행 중인 프라이빗 EC2

2. ALB 생성

  - ALB를 생성한다. 타겟그룹은 1 에서의 EC2를 설정하고, 보안그룹은 우선 80,443 포트 Any로 오픈하였다. ALB 리스너는 80,443 포트로 등록했으며, 80포트로 ALB에 요청이 들어올시 443으로 리다이렉션 해준다.

- ALB 확인

유동 퍼블릭 IP 확인

3. NLB 생성

  - 2 에서 생성한 ALB를 타겟으로 하는 타겟 그룹을 만든다. 80포트와 443포트로 각각 만든다.

80, 443 각각 생성한 타겟 그룹

  - NLB에 고정 IP를 할당해야하기 때문에 미리 EIP를 발급받아둔다.

  - NLB를 아래와 같이 생성한다.

인터넷 경계, 단일 AZ, 리스너는 TCP 80, 443 등록

4. NLB 접속 테스트

  - 80포트로 사용자 접속 요청 시 443 포트로 리다이렉션되게 설정했기에, Route53의 도메인과 연결하여 접속 테스트를 해보겠다.

  - Route53에 등록된 호스팅 영역에서 NLB를 A레코드 별칭으로 등록하자.

Route53은 A레코드로 AWS DNS 값 등록 가능

  - 접속 테스트


이상 빠르게 ALB 앞에 NLB를 배치하여 ALB에 고정 IP 할당하는 법을 알아봤다.

 

생각보다 ALB에 고정 IP 할당해야하는 경우가 많기에 해당 글을 참고하여 잘 적용하길 바란다.

 

- 참조 : https://repost.aws/ko/knowledge-center/alb-static-ip