본문 바로가기
Operation/Alibaba cloud

[Alibaba cloud] 알리 클라우드에 Load balancer 설정하기

by SpiralMoon 2021. 2. 14.
반응형

알리 클라우드에 Load balancer 설정하기

알리바바 클라우드에 로드 밸런서(SLB, Server Load Balancer)를 생성하고 타 인스턴스에 라우팅 하는 방법을 알아보자.

사전 지식

로드 밸런싱(부하분산)의 정의

 

부하분산 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 위키미디어 일래스틱서치 서버 클러스터로의 사용자 요청들이 부하 분산을 통해 라우팅되고 있다. 부하분산 또는 로드 밸런싱(load balancing)[1]은 컴퓨터 네트워

ko.wikipedia.org


선행 작업

이 글에서 다루는 주제는 알리 클라우드 환경의 ECS가 필요하므로 ECS 인스턴스를 만들지 않았다면 아래 링크에서 먼저 작업을 수행해야 한다.

 

ECS 생성하기

 

[Alibaba cloud] ECS 생성하기

ECS 생성하기 알리바바 클라우드 환경에서 ECS(Elastic compute service) 인스턴스를 생성해보자. 참고로 ECS란, AWS의 EC2와 동일한 역할을 하는 서비스이다. 작성 환경 2019년 10월 31일 작성. 알리바바가 웹

spiralmoon.tistory.com


작업 순서

1. 로드 밸런서 만들기

2. 리스너를 만들고 ECS 연결하기


로드 밸런서 만들기

알리 클라우드에서는 로드 밸런서를 SLB라고 부른다. SLB를 구축해보자.

 

SLB 메뉴로 가서 Create Instance를 클릭

 

로드 밸런서를 설치할 지역을 골라야 한다. 로드 밸런싱이 필요한 ECS가 있는 지역에 설치하는 것이 올바르다.

 

로드 밸런서의 유형을 선택해야 한다.

Internet : 외부에서 접근 가능한 로드 밸런서. Public IP가 할당되며 트래픽 사용량에 따른 요금이 청구된다.

Intranet : 내부망에서만 접근 가능한 로드 밸런서. 내부망 IP만 할당되며 트래픽 요금이 발생하지 않는다.

 

SLB는 Pay-As-You-Go 방식만 지원하므로 사용량에 따라 요금이 청구된다.

 

유형이 Internet 일 경우 청구되는 요금은 대략 위 사진과 같다. 1GB당 한국돈으로 약 77원 정도...

Intranet 인 경우는 요금이 청구되지 않는다.

 

설정을 완료했으면 Buy Now 클릭

 

설치가 정상적으로 끝났다면 해당 지역의 SLB 목록에 방금 만든 로드 밸런서가 표시된다.


리스너를 만들고 ECS 연결하기

로드 밸런서를 사용하기 위해서는 특정 포트를 열어주고, 어느 ECS로 request를 라우팅 할 것인지 지정해야 한다.

가장 많이 쓰는 프로토콜인 HTTP, HTTPS에 대해서만 알아보도록 하자.

 

설정하고 싶은 로드 밸런서를 선택한다.

 

리스너 탭에서 Add Listener 를 클릭

 

 

HTTP 프로토콜을 3000 포트로 연 모습

열고 싶은 포트 번호프로토콜을 지정한다.


HTTPS 포트를 열 경우

HTTPS 포트를 여는 경우엔 SSL 인증서를 등록하는 작업이 추가로 필요하다. Select Server Certificate 클릭

 

알리 클라우드에 미리 등록한 인증서를 선택한다. 등록한 인증서가 없다면 Create Server Certificate를 눌러 인증서를 등록한 후 다시 진행하면 된다.


리스너를 만들었으니 라우팅 대상인 ECS를 연결해야 한다.

 

Default Server Group를 선택하고 Add More를 클릭한다.

 

 

해당 리전에 위치한 ECS 인스턴스 목록이 표시된다. 라우팅을 하고 싶은 ECS를 최소 2개 이상 선택한다.

 

Weight를 지정한다. Weight는 로드 밸런서에 의해 트래픽이 라우팅 되는 비중을 의미한다.

예를 들어 A 인스턴스의 Weight가 50이고 B 인스턴스의 Weight가 100이라면 로드 밸런서로 들어오는 트래픽은 A 1 : 2 B의 비중으로 라우팅 된다.

 

ECS가 request를 전달 받을 포트도 지정해준다. ECS 마다 다르게 설정해도 된다.

 

 

마지막으로 Enable Health Check를 활성화 해주면 웹 콘솔에서 로드 밸런서가 정상적으로 동작중인지 확인할 수 있다. 활성화 해주도록 하자.

해당 옵션을 활성화 하면, 로드 밸런서에 연결한 모든 ECS 인스턴스의 "/" 주소로 2초에 한 번씩 health checking request가 들어간다. (Modify 클릭해서 수정 가능)

 

HTTP를 3000포트로 받아서 하위 ECS의 4000포트로 전달하는 로드 밸런서

최종 확인 화면에서 다시 한 번 검토후 Submit 버튼을 클릭하면 된다.

 

 

조금 기다리면 로드 밸런서가 최종적으로 완성된다!

이제부터 로드 밸런서로 요청하는 request는 ECS으로 골고루 라우팅 될 것이다.

반응형

댓글