[AWS] 부하분산과 고가용성을 위한 ELB 구성하기



이번 포스팅에서는 AWS 에서 제공하는 ELB 서비스에 대해 알아보겠습니다.

ELB 란 ?
AWS 에서 부하분산 및 고가용성을 위해 제공하는 서비스로  Elastic Load Balancer 의 약자 입니다.


ELB 서비스 구성

EC2 인스턴스 생성
ELB 구성을 위해서 먼저 2개의 EC2 인스턴스를 생성 하도록 하겠습니다.
고가용성 구성이 목적이므로 각각의 AZ (Availability Zone)에 하나씩 인스턴스를 생성합니다.

image



로드밸런서 생성

Instance가 준비되면 Load Balancer 생성을 진행합니다.
좌측 메뉴에서 Load Balancers 를 선택하고  상단 Create Load Balancer 를 선택합니다.
image


로드 발란서 형식 선택 화면이 표출됩니다.
Classic Load Balancer  의 Create를 선택합니다.
image


Load Balancer Name 에 이름을 입력하고
Protocol 과 Port 정보를 입력합니다.
Load Balancer Port 와 Instance Port 를 다르게 설정하면  EC2 인스턴스 서비스 포트를 외부에 노출하지 않고 ELB 를 통해서만 접속이 가능하도록 구성할 수 있습니다.
아래  그림과 같이 설정하게 되면
ELB 80 포트로 접속된 서비스를 Instsnce 3000 포트의 서비스로 연결합니다.
image
입력이 완료되면 Next 를 선택합니다.


Security Group 을 설정합니다.
새로운 Security Group을 생성하여 Load Balancer Port  접속을 허용하도록 구성합니다.
image
입력이 완료되면 Next 를 선택합니다.


HTTPS를 사용하지 않는 경우 아래와 같은 경고가 표출됩니다.
HTTPS 구성 및 SSL 인증서 설정은 따로 포스팅 하도록 하겠습니다.
image
우선은  Next 를 선택합니다.



Health Check 설정 화면이 표출됩니다.
Load Balancer 에 연결된 EC2 인스턴스가 정상적으로 동작하는 확인하기 위해 사용됩니다.
Instance Port 가 3000 번으로 설정되어 있으므로
Ping Port 에 3000번을 설정합니다.
Ping Path 에 /index.html 을 설정합니다. (웹서버의 기본 경로파일을 입력합니다.)
image
두개의 Instance 중 하나의 인스턴스가 Health Check 에 실패하면 ELB 는 해당 인스턴스로의 트래픽 전달을 중단하게 됩니다.
입력이 완료되면 Next 를 선택합니다.


Load Balancer 에 연결할 Instance 를 선택합니다.
image
Next 를 선택합니다.
Tag 입력 후  Create 버튼을 선택하면 ELB 생성이 완료 됩니다.


생성된 ELB 가 표출되는 것을 확인 할수 있습니다.
ELB 로드 밸런서 목록에 ELB 로드 밸런서가 생성되었습니다.
아래 ELB 세부 내용에 이 로드밸런서의 DNS NAME이 표시됩니다.
앞으로 서비스에 접속할 때는 EC2 인스턴스에 바로 접속하지 않고
ELB DNS의 URL로 접속할 수 있습니다.
image

간략하게 ELB 설정 방법에 대해 알아 보았습니다.
DNS 서비스 연결을 위한 Route53 설정방법 및 HTTPS 사용을 위한 SSL 적용 방법은 별도로 포스팅 하도록 하겠습니다.


댓글

주간 인기글

[정보] 인스타그램은 당신의 소리를 '듣고' 있을 수도 있습니다

남산 케이블카 이야기

[Angular] 모델, 값이 바뀌었는데 화면 template 이 업데이트 되지 않을 때 조치 팁

안드로이드에서 당겨서 새로고침(SwipeRefreshLayout) 쉽게 구현하기

Java8 Stream 가이드