진짜 개발자
본문 바로가기

AWS/Elasticity & Management

AWS - LoadBalncer 이용 WebServer Loadbalancing하기

728x90

LoadBalncer 이용 WebServer Loadbalancing하기


시나리오

1. 목표

- Load Balancer를 통해 Private Subnet에 존재하는 웹서버들에게 Load balancing을 제공한다

- 웹서버 구축시 Bastion Host를 이용한다


2. 목표 인프라



실습

1. VPC생성 및 EC2 생성 (Bastion Host구성)

http://galid1.tistory.com/365



2. NAT Gateway이용 Private Subnet 인터넷 연결

NAT Gateway이용 방법 - http://galid1.tistory.com/367



3. WebServer 구축

https://galid1.tistory.com/264

- bastion 호스트를 통해 private subnet에 존재하는 인스턴스에 접근한 뒤, 위 링크를 참조하여 간단히 WebServer들을 구축.




4. LoadBalancer 구축

1. Target Group 생성

1) EC2서비스의 좌측메뉴 하단의 LOAD BALANCING의 Target Groups탭을 클릭한뒤 Create Taget Group을 클릭한다


2) VPC는 LoadBalaning할 인스턴스들이 존재하는 곳으로 지정한다

    나머지는 기본값으로 진행한다


3) LoadBalancing할 대상들을 지정하기위해 생성된 Target Group을 선택한 다음 Targets탭을 클릭한 뒤 Edit을 클릭한다


4) Private Subnet에 존재하는 Webserver들을 모두 선택한뒤 Add to registered를 클릭한다


5) 인스턴스들이 추가된것을 확인하고 Save를 클릭한다


6) Targets탭에서 인스턴스들에 대한 Status가 healthy로 나타나면 잘 설정된 것이다


*Unhealthy로 나타난 경우

1. 대상 인스턴스에 http 서버가 실행중인지 확인한다

2. ACL과 SecurityGroup을 확인한다.


2. LoadBalancer 생성

1) EC2 서비스의 하단의 LOAD BALANCING 메뉴의 Load Balancers 탭을 클릭한뒤 Create Load Balancer를 클릭한다


2) HTTP, HTTPS 타입으로 생성한다


3) LoadBalancer 설정

Listeners : Loadbalancer에서 요청을 수신하는 Process이다

Availability Zones : LoadBlanacer가 활성화될 가용영역을 지정한다 외부에서 접근이 가능해야하므로 

    서로다른 가용영역에 존재하는 Public Subnet을 지정한다


4) Routing 설정

- Load Balcner가 사용자의 요청을 수신했을때 라우팅할 곳을 설정한다

Target Group : Private Subnet에 존재하는 웹서버들로 로드밸런싱하기 위해 이전에 생성한 Target Group을 지정한다.


5. Load Balancing 테스트

1. Load Balancer endpoint 확인

- Load Blanacers 탭을 클릭한뒤 확인할 LoadBalancer를 클릭한다음 Description탭을 누른다

  DNS name을 복사한다


2. 웹브라우저에서 복사한 DNS를 입력한다

3. 새로고침하여 다른곳으로 부하분산이 되는지 확인한다.