AWS 네트워크 환경 구축 (4) - Load Balancer

jonghyukLee·2022년 10월 8일
0
post-thumbnail

드디어 마지막으로 로드 밸런싱입니다.
이것저것 할게 많아서 포스팅이 늦었습니다 ㅠ

구성은 크게 아래와 같습니다.
1. Route53 도메인으로 넘어온 HTTP/HTTPS 요청을 로드밸런서가 Listen
2. 로드밸런서는 SSL 인증이 적용되어 있으며, HTTP 요청의 경우 HTTPS로 리다이렉션 하여 포워딩
3. 타겟 그룹으로 요청이 전달되면, 타겟 그룹에서는 설정한 인스턴스(API Server)에 8080 포트로 전달

타겟그룹

먼저 타겟그룹 입니다.

EC2 인스턴스(API Server)로 요청을 전달할 것이기 때문에, 인스턴스 형태를 선택합니다.
포트는 HTTP, 나머지 설정은 변경하지 않습니다.


나열된 인스턴스 목록에서, 타겟으로할 인스턴스를 선택한 후, 전달할 포트 번호를 입력합니다. 제가 연결할 인스턴스는 8080포트를 listen하고 있기 때문에, 8080을 적어주었습니다.
입력이 끝났다면, Include as pending below 버튼을 눌러주고,create 해주면 됩니다.

로드 밸런서

다음은 로드 밸런서 입니다.

Application Load Balancer를 선택합니다.

저는 public 요청을 받는 로드밸런서를 생성할 것이기 때문에 Internet-facing을 그대로 사용합니다.

이제 가용영역을 매핑하는데, 사용할 vpc 내에서 두개의 가용영역의 public subnet을 선택해줍니다.

보안그룹은 HTTP/HTTPS 요청을 인바운드 규칙에 추가합니다.


위와 같이 HTTPS 요청을 추가하고, 원하는 타겟 그룹으로 요청이 전달되도록 설정해줍니다. 저는 이미 생성이 완료되었기 때문에 위와같이 보입니다.

타겟그룹 선택이 완료됐다면, 로드밸런서를 생성해줍니다.

마지막으로, HTTP 요청을 HTTPS 요청으로 포워딩해주는 리스너를 추가해주어야 합니다.

생성된 로드밸런서를 체크하고, 위의 이미지처럼 리스너 탭에서 리스너 추가를 클릭해줍니다.

위와 같이 HTTP로 들어온 요청을 HTTPS 로 redirect 해주면 로드 밸런서에 대한 모든 설정이 완료되었습니다.

Route 53

마지막으로, 생성한 로드밸런서를 도메인에 붙여주어야 합니다.
Route53 서비스에서, 사용할 호스팅 영역의 레코드를 생성해줍니다.

위와 같이 별칭을 클릭하면, 로드밸런서를 선택할 수 있게 되고, 방금 생성한 로드밸런서를 선택해주면 해당 도메인의 요청을 로드밸런서가 받게됩니다.

마무리

이렇게 AWS의 모든 구성을 완료했습니다.
처음에는 검색 없이는 아무것도 하지 못했었는데, 계속 하다보니 각 서비스의 연결 흐름을 알게되어 테스트 서버까지 위와 동일한 환경으로 구성할 수 있었습니다.
감사합니다!

profile
머무르지 않기!

0개의 댓글