각각의 서브넷A와 서브넷C에 인스턴스를 생성해 둔 상태이니 로드 밸런서를 사용하여 트래픽을 분산시켜보자.
AWS의 ELB(Elastic Load Balancing)은 들어오는 애플리케이션 트래픽을 Amazon EC2 인스턴스, 컨테이너, IP주소, Lambda 함수와 같은 여러 대상에 자동으로 분산시켜준다. 이 덕분에 여러 가용 영역에서 애플리케이션의 부하를 처리할 수 있다. ELB가 제공하는 로드 밸런서는 Application Load Balancer, Network Load Balancer, Gateway Load Balancer, Classic Load Balancer 네 가지로 모두 애플리케이션의 내결함성에 필요한 고가용성, 자동 조정, 보안성을 갖추고 있다. 각각의 로드밸런서에 대한 설명은 아래 블로그를 참고하면 좋을 듯 하다.
https://blog.naver.com/pwhaha1004/223057639467
로드 밸런서 생성
Load balancer 생성 섹션 중 application load balancer 생성 카드를 눌러 생성을 진행하였다. 로드 밸런서에서 트래픽을 라우팅할 vpc와 서브넷을 모두 지정해주면 된다. 보안 그룹은 내 ip에서 http로만 접근 가능한 인바운드 규칙을 가지게끔 하나 생성해준 뒤 연결해주었다.
다음으로는 라우팅 대상 그룹을 지정할 차례이다. 생성한 인스턴스 2개를 다음과 같은 과정을 거쳐 대상 그룹으로 생성한 뒤, 다시 로드 밸런서 설정 화면으로 돌아가서 리스너 및 라우팅 대상 그룹으로 연결해주면 된다.
이제 로드 밸런서의 생성이 끝났으니 웹 서버에 연결된 보안 그룹을 수정하여 웹서버가 로드 밸런서의 트래픽만 받게끔 설정해주면 된다. 기존 내 ip 주소로 설정되어있던 소스를 생성한 alb로 변경해주었다.
이후 Load balance 페이지로 돌아가 생성한 alb를 클릭하면 하단에 DNS 주소가 뜬다. 주소 클릭 시, 웹 화면이 보이면 성공적으로 구축을 완료한 것이다. ALB에서 기본으로 제공하는 라운드 로빈 알고리즘에 따라 할당된 서버 주소가 다르게 뜨는 것을 확인할 수 있다.
이로써 아래와 같은 아키텍처 구성을 완료하였다.
'Dev Tool > AWS' 카테고리의 다른 글
[AWS]간단한 웹 애플리케이션 서버 구축하기(2) (1) | 2024.09.11 |
---|---|
[AWS]간단한 웹 애플리케이션 서버 구축하기(1) (0) | 2024.09.11 |
[AWS]서버리스로 간단한 웹 애플리케이션 구축하기(2) (0) | 2024.09.03 |
[AWS] 서버리스로 간단한 웹 애플리케이션 구축하기(1) (5) | 2024.09.03 |
[AWS] VPC와 서브넷 (0) | 2024.05.07 |