-
AWS ELB 로드밸런서 간단 설치Linux 2018. 7. 31. 12:03
AWS에서 SSL을 지원하는 로드밸런서를 설치해보자.
의외로 많은 사람들이 단일포트의 여러 인스턴스로는 로드밸런싱이 가능하다고 알고있으나
같은 인스턴스의 여러 포트로도 로드밸런싱이 가능하다는 사실을 모르는 분들이 많다.
< 설치 요구 조건 >
1. 다른 인스턴스 뿐만 아니라 같은 인스턴스의 다른 포트에도 트래픽이 분산이 되어야 한다.
2. 유저는 https(ssl) 연결로 접속하며, 내부트래픽은 http로 처리한다.
위 조건과 다른 부분은 과정을 빼고 진행하면 된다.
1. EC2 메뉴를 선택 -> 좌측 로드밸런서 클릭 -> 상단 로드밸런서 생성 클릭
2. 왼쪽 Application load balancer 선택
3. 로드밸런서 기본정보 설정
4. 인증서 정보 입력
만약 https가 아닌 http로만 사용할경우엔, 바로 아래 [다음:보안그룹구성]을 클릭하여 넘어가자.
(보안구성을 사용하지 않았다고 경고메시지가 뜨지만 무시하자.)
5. 보안 그룹 구성
보안그룹(포트개방)을 선택해주자. (이 과정은 EC2와 동일하므로 생략한다.)
6. 라우팅 구성
라우팅 대표 포트와 상태검사에 관한 정보를 설정해준다.
#5번 Live check 사항을 주의하여 처리해야 한다.
(웹서버가 아니고 http프로토콜만 사용하는경우, 상태검에서 지정한 '경로'에서 http 200 응답을 해줘야 한다.)
7. 라우팅을 받을 노드 서버 추가
private ip를 사용하여 각 라우팅을 받을 서버들을 추가하자.
물론 같은 인스턴스의 다른 포트로도 전달이 가능하다.
8. 동작 테스트
정상적으로 설정하였다면, 해당 서버들에서 다음과 같이 하트비트 요청을 받게 된다.
::ffff:172.xx.xx.xx - - [Tue, 31 Jul 2018 03:16:31 GMT] "GET / HTTP/1.1" 200 15 "-" "ELB-HealthChecker/2.0"
약 1분정도 지나면 초기화가 완료되고 라우팅이 되기 시작한다.
각 노드의 활성화 상태는 로드밸런싱->대상그룹을 선택하면 확인이 가능하다.
한 노드를 껐을때, 정상 노드로 접속이 가능한지 테스트 해본다.
테스트시 주의사항은 요청 URL을 로드밸런서 정보에 표시되어있는
test-xxxxxx.ap-northeast-2.elb.amazonaws.com 형식의 할당 주소를 사용하거나
ELB에 전용 도메인을 연결한경우 해당 도메인을 사용하여 연결하여야 한다.
(보통 습관저처럼 노드 서버 주소로 직접 연결 테스트를 하는경우가 많다.)
'Linux' 카테고리의 다른 글
mysql memory table 크기 변경 (0) 2018.10.02 mysql 5.7+ innodb_buffer_pool_size 재시작 없이 값 조절하는 방법 (0) 2018.09.19 pm2 가동시 스크립트 작성하지 않고 파라미터 전달하기 (0) 2018.07.24 mysql 5.7이상 현재시간 밀리세컨드(msec) 까지 얻기 (0) 2018.07.18 NAT 내부 서버에서 매핑된 public 아이피 얻는방법 (0) 2018.07.17