EC2-ElasticSearch(20250625)

homewiz·2025년 6월 25일
0

AWS

목록 보기
1/1
post-thumbnail

🛠 Ubuntu에서 Elasticsearch 8.x 설치 가이드

✅ 사전 준비

sudo apt update
sudo apt install -y wget gnupg curl apt-transport-https

✅ Ubuntu에서 Elasticsearch 8.18.3 설치 및 설정 가이드

📌 1. Elasticsearch .deb 패키지 다운로드 및 설치

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.18.3-amd64.deb
sudo dpkg -i elasticsearch-8.18.3-amd64.deb

apt-key는 더 이상 권장되지 않으며, .deb 파일 설치 방식은 GPG 키를 따로 추가하지 않아도 됩니다.


📌 2. APT 패키지 목록 업데이트

sudo apt update

📌 3. Elasticsearch 설치

sudo apt install elasticsearch

dpkg로 패키지를 등록한 후 apt로 종속성 포함 설치


📌 4. 설정 수정 (elasticsearch.yml)

sudo nano /etc/elasticsearch/elasticsearch.yml

기본 테스트 용 설정 예시:

network.host: 0.0.0.0
discovery.type: single-node

xpack.security.enabled: true
xpack.security.http.ssl.enabled: true

운영 환경이라면 network.host는 특정 IP로 지정, 인증 설정도 유지


📌 5. Elasticsearch 서비스 실행 및 부팅 등록

sudo systemctl daemon-reexec
sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch

상태 확인:

sudo systemctl status elasticsearch

📌 6. Elastic 비밀번호 재설정

무작위설정 :

sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic

직접입력 :(단순비번은 거부당함)

sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic --interactive

초기 실행 로그 또는 /var/lib/elasticsearch에 자동 생성된 비밀번호를 확인할 수도 있음


📌 7. 접속 테스트

curl -k --cacert /etc/elasticsearch/certs/http_ca.crt https://localhost:9200

-k는 인증서 무시 옵션, 실제 사용 시엔 인증서를 등록하거나 키바나에서 인증 진행

curl -k --cacert /etc/elasticsearch/certs/http_ca.crt -u elastic https://localhost:9200

8. 클러스터 테스트

curl -k --cacert /etc/elasticsearch/certs/http_ca.crt -u elastic https://localhost:9200/_cluster/health?pretty
Enter host password for user 'elastic':
{
  "cluster_name" : "elasticsearch",
  "status" : "green",
  "timed_out" : false,
  "number_of_nodes" : 1,
  "number_of_data_nodes" : 1,
  "active_primary_shards" : 3,
  "active_shards" : 3,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 0,
  "unassigned_primary_shards" : 0,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 100.0
}

생성한 비밀번호 입력


🚀 Kibana 8.x 설치 및 연결 정리 (보안 비활성화 기준)

1. GPG 키 및 저장소 등록

sudo apt update
sudo apt install -y wget apt-transport-https gnupg
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list
sudo apt update

2. Kibana 설치

sudo apt install kibana

이 명령으로 현재 저장소에서 가장 최신의 8.x 버전이 설치됩니다. Elasticsearch 8.18.3에 맞춰 Kibana도 8.18.3이 설치됩니다.

3. 설치된 Kibana 버전 확인

/usr/share/kibana/bin/kibana --version

4. 엘라스틱에 키바나용 계정 생성

sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u kibana_system

여기서는 자동생성을 하도록 하겠다. 직접입력은 "--interactive"

jluFPIl8n*ibGndzDhb-

5. 인증서 접근 권한

1. Kibana 사용자가 존재하는지 확인

id kibana

uid=112(kibana) gid=114(kibana) groups=114(kibana)

2. 인증서 파일의 소유권 및 권한 수정

sudo cp /etc/elasticsearch/certs/http_ca.crt /etc/kibana/http_ca.crt
sudo chown root:kibana /etc/kibana/http_ca.crt
sudo chmod 640 /etc/kibana/http_ca.crt

  • 꼭 복사를 해서 쓰자

이렇게 하면 kibana 그룹에 속한 프로세스가 읽을 수 있게 됩니다.

3. Kibana 재시작

sudo systemctl restart kibana

4. 상태 확인

sudo systemctl status kibana

5. 기본 설정 파일 수정 (보안 비활성화 예시)

sudo nano /etc/kibana/kibana.yml

server.host: "0.0.0.0"
elasticsearch.hosts: ["https://localhost:9200"]
elasticsearch.username: "kibana_system"
elasticsearch.password: "jluFPIl8n*ibGndzDhb-"  # 또는 직접 설정한 값
elasticsearch.ssl.certificateAuthorities: ["/etc/kibana/http_ca.crt"]

6. Kibana 서비스 시작

sudo systemctl enable kibana
sudo systemctl start kibana
sudo systemctl status kibana

7. 포트 리슨 확인:

sudo lsof -i :5601

결과물

COMMAND  PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
node    3729 kibana   19u  IPv4  23886      0t0  TCP *:5601 (LISTEN)

🌐 8. EC2 보안 그룹 (AWS라면)

다음 인바운드 규칙을 EC2 보안 그룹에 추가:

유형프로토콜포트소스
TCPTCP56010.0.0.0/0 (또는 본인 IP만)

🧪 9. 접속 테스트

브라우저에서 접속:

http://[EC2 퍼블릭 IP]:5601

예:

http://3.38.100.123:5601

정상 접속 시 Kibana UI 로그인창이 보입니다 .

이때 6. Elastic 비밀번호 재설정 에서 생성한 elastic // pwd 를 입력하거나
새로운 계정을 만들어 입력 하면됩니다.

10.신규 유저 만들기

sudo /usr/share/elasticsearch/bin/elasticsearch-users useradd myuser -p mypassword -r superuser

  • 사용자 로그인용 계정은?
  • elastic 계정: 기본 관리자 계정 → Kibana 로그인 가능

필요 시 kibana_admin, viewer 등의 사용자 계정을 추가로 생성하여 로그인에 사용할 수 있습니다

계정사용 목적Kibana 로그인 가능
elastic관리자 계정✅ 가능
kibana_systemKibana ↔ Elasticsearch 내부 연동❌ 불가능
사용자 생성 계정 (myuser)사용자별 접근 통제✅ 가능

💡 참고

Kibana 설치 전에 Elasticsearch가 먼저 정상 실행되고 있어야 합니다.

elasticsearch.yml에서 보안(xpack.security.enabled)을 꺼놨다면, Kibana도 TLS/인증 관련 설정을 제거해야 연결됩니다.

Kibana가 http://localhost:9200에 HTTP로 연결하려면 Elasticsearch도 보안 비활성화 상태여야 합니다.

✅ 설치 체크리스트

항목상태
Kibana 설치 및 실행
포트 5601 리슨 확인
kibana.yml에서 HTTP 설정
EC2 보안 그룹에서 포트 허용
브라우저 접속 성공

0개의 댓글