AWS EC2 엘라스틱서치 운영서버 로드밸런서 생성 및 보안그룹 설정 방법

엘라스틱서치 서버 로드밸런서 생성

생성 예정 로드밸런서

1) 엘라스틱서치용 로드밸런서
로드밸런서1 DNS name:80으로 들어오는 요청을 엘라스틱서치서버:9200으로 포워딩하는 ALB 로드밸런서1

2) 키바나용 로드밸런서
로드밸런서2 DNS name:80으로 들어오는 요청을 엘라스틱서치서버:5600으로 포워딩하는 ALB 로드밸런서2

로드밸런서 종류
CLB : 이전 세대의 로드 밸런서로서, 현재는 사용이 권장되지 않습니다.
ALB : HTTP 및 HTTPS 트래픽을 처리합니다. 웹 애플리케이션을 더 효율적으로 관리할 수 있습니다.
NLB: TCP, UDP 및 HTTPS 트래픽을 처리합니다. 대규모 네트워크 트래픽 처리에 적합합니다.

AWS 로드밸런서 대상 그룹 생성

EC2 > 로드 밸런싱 > 대상 그룹 > Create target group >

Target type Instances 선택
Target group name 프로젝트명-서버구분-포트명(9200) 입력
Protocol HTTP 선택
Port 로드밸런서로 들어오는 요청을 포워딩 할 포트 입력 (9200)
VPC 프로젝트명-active-vpc 선택
Protocol version HTTP1 선택
Health check protocol HTTP 선택
Health check path / 입력

위와 같이 입력하고 다음 Register targets 페이지로 넘어갑니다.
요청 받을 엘라스틱서치서버 instance를 선택하고 포워딩 포트 (9200) 입력 후 ‘Include as pending below’를 눌러 타겟을 추가한 뒤 대상 그룹을 생성합니다.

같은 설정으로 키바나 5601 포트에 대한 대상 그룹도 생성해 줍니다.

AWS 로드밸런서 생성

EC2 > 로드 밸런싱 > 로드밸런서 > Create load balancer > Application Load Balancer (ALB) Create >

Load balancer name 프로젝트명-서버구분-alb-포워딩포트(9200)
Scheme Internet-facing 선택
IP address type IPv4 선택
VPC 프로젝트명-active-vpc 선택
Mappings ap-northeast-2a (apne2-az1) 체크 > Subnet : 프로젝트명-pub-a 선택,
ap-northeast-2c (apne2-az3) 체크 > Subnet : 프로젝트명-pub-c 선택
Security groups 프로젝트명-서버구분-ALB-SG 선택
Listener Protocol HTTP : Port 80 (요청을 받을 포트) 입력
Listener action 프로젝트명-서버구분-포트명(9200) 선택

위와 같이 80 요청을 9200 포트로 전달할 로드밸런서 생성 후, 키바나 5601 포트에 대한 로드밸런서도 생성합니다.

AWS 로드밸런서 리스너 추가 방법
EC2 > 로드 밸런싱 > 로드밸런서 > 로드밸런서 선택 > Add listener >

Protocol HTTP 또는 HTTPS
Port 들어오는 요청을 허용할 포트 입력 (80)
Add action > Forward 로드밸런서 URL로 들어오는 요청을 전달받을 대상 그룹 선택 (Weight 1)

로드밸런서 보안그룹 인바운드 규칙 추가

EC2 > 로드 밸런싱 > 로드밸런서 > 로드밸런서 선택 > Security > 보안 그룹 수정 > 인바운드 규칙 편집 편집 > 규칙 추가

유형 사용자 지정 TCP
포트 범위 로드밸런서로 들어오는 요청을 허용할 포트 입력 (80)
소스 사내 외부망IP/32 (사내 외부망에 연결된 컴퓨터로 네이버에서 '내 ip' 검색해서 나온 IP)
→ 외부 접속이 불가해서 엘라스틱서치 Rest API 라이브러리 호출이 안되어, 0.0.0.0/0으로 변경하였습니다.

로드밸런서 도메인 변경 방법

1. 아이네임즈 사이트에서 도메인 주소를 구매합니다. (http://서브도메인.루트도메인.co.kr)
2. 새 도메인으로 들어오는 요청을 로드밸런서 도메인으로 넘기게 cname 설정합니다.


AWS EC2 서버 방화벽 설정

엘라스틱서치 서버 보안그룹 설정

인바운드 규칙 로드밸런서 보안그룹 대상으로 9200(엘라스틱서치), 5601(키바나) 포트를 허용하고,
배스천서버 보안그룹 대상으로 22(SSH/터미널) 포트를 허용합니다.
아웃바운드 규칙 0.0.0.0./0 대상으로 전체 포트를 허용합니다.

배스천서버를 통해 SSH 접속할 수 있고, 로드밸런서를 통해 HTTP 접속할 수 있는 엘라스틱서치 서버의 보안 규칙입니다.

Categories:

Updated:

Leave a comment