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 접속할 수 있는 엘라스틱서치 서버의 보안 규칙입니다.
Leave a comment