Elasticsearch Snapshot S3 설정 방법

category DevOps/기타 2023. 1. 10. 13:15
728x90
반응형

Elasticsearch 공식 문서를 참조하였습니다.

 

설정 방법

1. repository-s3 플러그인 설치

설치 완료 후 클러스터 재기동 필요합니다.

$ bin/elasticsearch-plugin install repository-s3

2. aws 키 설정

testuser 라는 AWS S3 client name 으로 설정해보자.

$ bin/elasticsearch-keystore add s3.client.testuser.access_key
Enter value for s3.client.testuser.access_key:

$ bin/elasticsearch-keystore add s3.client.testuser.secret_key
Enter value for s3.client.testuser.secret_key:

$ bin/elasticsearch-keystore list

3. 보안 설정 API 키 재로드

Kibana 또는 curl로 아래와 같이 보안 설정을 재로드 해준다.

POST /_nodes/reload_secure_settings

권한 오류가 발생하였을 때는 다음과 같은 디렉토리의 소유권을 의심해보도록 한다.

chown <사용자명>:<그룹 대상> /elasticsearch/config/elasticsearch.keystore

4. snapshot s3 repository 생성

다음과 같은 명령어로 bucket, base_path, endpoint 등을 설정해준다. endpoint는 기본 AWS를 일 경우 생략할 수 있다.

설정명 설명
bucket 버킷명
client 클라이언트명
base_path 버킷 경로
compress 메타데이터 파일의 압축 형식으로 저장유무 
endpoint 엔드포인트
protocol 프로토콜
PUT _snapshot/s3_repository
{
   "type":"s3",
   "settings":{
      "bucket":"testuser-bucket",
      "client":"testuser",
      "base_path":"elasticsearch/snapshot",
      "compress":"false",
      "endpoint":"s3.compatiable.stroage",
      "protocol":"https"
   }
}

 

5. snapshot 실행

설정명 설명
wait_for_completion 작업이 완료될 때가지 기다림 유무 (동기/비동기)
ignore_unavailable index를 사용할지 못하였을 경우 무시하고 계속 진행 여부
include_global_state snapshot에 cluster global status 저장 방지 유무
PUT /_snapshot/s3_repository/snapshot_name-2023?wait_for_completion=true
{
  "indices": "test-data-2023.*",
  "ignore_unavailable": true,
  "include_global_state": false 
}
728x90
반응형

'DevOps > 기타' 카테고리의 다른 글

kafka  (0) 2021.12.20
sbt 설치  (0) 2020.03.09
lein 설치  (0) 2020.03.09
zookeeper 설치  (0) 2020.03.09
openJDK 설치  (0) 2020.03.09