ELB?
ELB(Elastic Load Balance)는 간단하게 로드밸런서이다. 트래픽을 여러 대상에 분산시켜 밸런스를 맞춘다라고 이해하면 쉽다. 로드밸런서의 중요한 역할은 트래픽을 분산시켜 애플리케이션에 대한 부하를 처리하는 것이다.
ELB 종류
ELB는 4가지 종류가 존재한다.
- Application Load Balancer
- Network Load Balancer
- Gateway Load Balancer
- Classic Load Balancer
실습 구성도
이전 실습에 이어 게이트웨이에서 인터넷이 들어 올 경우 각 EC2로 로드밸런싱이 되도록 구성해보자.
ELB 구성 방법
1. EC2 콘솔의 왼쪽 메뉴 중 [로드 밸런서] 로 들어가 [로드밸런서 생성]을 클릭한다.
2. 로드 밸런서 유형 중 [Application Load Balancer]의 생성을 클릭한다.
3. 로드 밸런서의 이름을 설정해주고, 네트워크 매핑에선 이전 실습에서 만든 VPC와 sub넷들을 각각 선택해준다.
이를 통해 로드 밸런서에서 선택한 VPC로 들어오는 트래픽을 어디로 라우팅할껀지(어느 쪽으로 분산시킬 건지) 지정할 수 있다.
4. 다음은 보안그룹은 새로 생성해야 한다. [새 보안 그룹을 생성]을 클릭하자.
보안 그룹 이름, 설명을 작성 후 VPC는 이전에 만든 VPC를 선택한다. 인바운드 규칙은 [규칙 추가]를 하여 아래와 같이 HTTP에 대해 [내 IP]를 선택해 규칙을 생성한다.
생성한 보안그룹을 지정한다.
5. 리스너 및 라우팅 지정을 위해 [대상 그룹 생성]을 클릭한다.
기본 구성을 위해 [인스턴스]를 지정한 후 [대상 그룹 이름]을 작성한다. 프로토콜은 HTTP, 포트는 80번을 지정한다.
VPC는 이전 실습에서 만든 VPC를 선택해주면 된다. 여기까지 설정 후, 맨 아래 다음 버튼을 클릭한다.
6. 사용 가능한 인스턴스를 대상 그룹으로 지정해준다.
지정할 인스턴스의 체크박스 클릭 후 [아래에 보류 중인 것으로 포함]을 클릭하여, [대상 그룹 생성]을 한다.
혹시 대상이 보이지 않는다면, EC2의 인스턴스의 상태를 확인 해보자. [중지됨] 상태일 경우 보이지 않으므로, 해당 인스턴스들을 시작해주면 된다.
7. 다시 로드밸런싱 생성 창으로 돌아와서, [리스너 및 라우팅]에서 생성한 대상그룹을 선택해준다. 그리고 맨 아래 [로드밸런서 생성]을 클릭하면 완료!
8. 이제 웹 서버에 생성했던 보안그룹을 수정해야 한다.
EC2 콘솔의 [네트워크 및 보안] - [보안그룹] -> webserver-test-sg 를 선택해 [인바운드 규칙 편집]을 클릭한다.
9. 인바운드 규칙 중, HTTP의 규칙을 삭제한다.
그리고 [규칙 추가]를 눌러 HTTP로 아까 만든 alb 규칙을 선택한 뒤 [규칙 저장]을 클릭한다.
10. 이제 ELB 설정을 확인해보자.
EC2 콘솔의 [로드 밸런서]로 들어가서, 생성한 로드밸런서의 DNS이름을 복사한다.
복사한 DNS를 URL에 입력하면 정상적으로 접속이 된다.
로드 밸런서 대상 상태 확인
생성한 로드 밸런서의 상태를 확인하려면 [대상 그룹] 메뉴에서 생성한 로드 밸런서를 선택 한 후 [대상]을 눌러 상태를 확인할 수 있다. 상태는 [healthy]상태가 되야 정상이다.
'클라우드(AWS+Azure+GCP+etc)' 카테고리의 다른 글
[AWS] Root Account의 엑세스키 사용 제한 확인 방법 (0) | 2024.04.22 |
---|---|
[AWS] AWS Tech camp 기초실습 : AMI 생성 방법 (1) | 2024.04.09 |
[AWS] AWS Tech camp 기초실습 : EC2로 웹서버 생성 (0) | 2024.04.09 |
[AWS] AWS Tech camp 기초실습 : 라우팅 테이블 및 보안그룹 설정 (1) | 2024.04.08 |
[AWS] AWS Tech camp 기초실습 : VPC로 네트워크 구성하기 (1) | 2024.04.07 |