AWS EC2 인스턴스 생성하고 접근하기
이전에 작성한 글이 있으니 인스턴스 생성은 위 링크를 참고해주세요.
전혀 다른 서버에서 지금 설치하려는 Elasticsearch
서버에 명령을 날릴 수 있도록 9200 포트를 추가해주도록 합니다.
sudo yum install -y java-1.8.0-openjdk-devel.x86_64
명령으로 java 8을 설치합니다.
설치가 완료되었다면 java -version
명령으로 현재 설치된 java 버전을 확인합니다.
vi /etc/yum.repos.d/elasticsearch.repo
명령으로 repo 파일을 생성하고, 아래와 같은 내용을 입력하고 저장합니다.
(※ Elasticsearch 7.x 버전 기준)
[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
yum install -y elasticsearch
명령으로 최신버전을 설치할 수 있습니다.
만약, 설치를 원하는 버전이 있다면 아래와 같이 명령을 입력하시면 됩니다.
ex) 7.6.0 버전을 설치하고 싶은 경우 : yum install -y elasticsearch-7.6.0
sudo service elasticsearch start
명령으로 실행하고 잠시 기다린 뒤,
curl -X GET 'localhost:9200'
명령으로 Elasticsearch
가 정상적으로 설치되었는지 CURL을 사용하여 확인해본다. 이때, 아래의 그림과 같은 응답이 오면 정상적으로 설치되고 실행된 것이다.
추천! 관련 경로는 한번씩 들어가보는게 좋습니다.
여기까지 설치한 Elasticsearch는 현재 설치된 서버에서만 접근이 가능합니다.
이제, 외부에서 Elasticsearch에 접근할 수 있도록 설정 파일(/etc/elasticsearch/elasticsearch.yml
)을 수정해보겠습니다.
브라우저에 http://3.35.136.206:9200
와 같이 입력하였지만, 아래와 같이 연결되지 않았다.
(여기서 3.35.136.206은 Elasticsearch
가 설치된 필자의 AWS EC2 인스턴스 public ip이다고, 9200은 elasticsearch가 사용하는 포트번호입니다.)
netstat -an | grep 9200
명령을 사용해보니 현재 로컬 서버에서만 통신이 가능하도록 되어 있습니다.
vi /etc/elasticsearch/elasticsearch.yml
명령으로 아래와 같이 일부를 수정합니다.
network.host: 0.0.0.0
cluster.initial_master_nodes: ["node-1", "node-2"]
설정파일을 변경한 경우에 서비스를 재시작하는 것을 기억합시다.
sudo service elasticsearch restart
아래와 같이 브라우저에서 이제 접근이 가능하다.
다음에는 이어서 Logstash
와 Kibana
를 설치하는 글을 작성할까 합니다.
Logstash
같은 경우에는 데이터를 수집하고 Elasticsearch
에 적재하는 역할을 하다보니 이런 상황을 가정해서 진행해볼까 합니다.
Logstash
가 데이터 수집을 위해 빠르게 Postgresql
에 접근하려고 합니다.
현재, EC2에는 Postgresql
이 설치되어 있는 서버(Master
, Slave
)가 2대 있습니다.
이때, Master
와 Slave
는 이중화되어 있어서 실제 DB에 반영된 안전한 데이터로만 데이터 수집을 할 생각이니 Slave
로 설치되어 있는 Postgresql
에 Logstash
를 설치하겠습니다.
Logstash
를 설치한 후, Elasticsearch
이 설치되어 있는 서버에 데이터를 넣어주는 상황을 가정하고 설치해보기 위해, AWS EC2에서 Postgresql 가지고 놀기를 Postgresql 이중화하기까지 따라 해보시는 것도 좋을 것 같습니다.
https://hello-bryan.tistory.com/142
https://msyu1207.tistory.com/entry/Elasticsearch-%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%99%B8%EB%B6%80-%ED%97%88%EC%9A%A9