본문 바로가기

D.S/DE

220327일 - S3에 ES snapshot 올리기

728x90

 

클러스터에서 플러그인 설치

elasticsearch-plugin install repository-s3
-> Installing repository-s3
-> Downloading repository-s3 from elastic
[=================================================] 100%??
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@     WARNING: plugin requires additional permissions     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* java.lang.RuntimePermission accessDeclaredMembers
* java.lang.RuntimePermission getClassLoader
* java.lang.reflect.ReflectPermission suppressAccessChecks
* java.net.SocketPermission * connect,resolve
* java.util.PropertyPermission es.allow_insecure_settings read,write
See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
for descriptions of what these permissions allow and the associated risks.

Continue with installation? [y/N]y
-> Installed repository-s3

 

클러스터 재시작 필요

The plugin must be installed on every node in the cluster, and each node must be restarted after installation.

 

클러스터를 재시작하고 키바나 “Snapshot and restore”에 들어가면 s3 옵션이 뜬다.

 

Repository 설정 생성

 

 

client 입력 안 하면 “default”로 값이 설정된다.

 

policy 생성

지금은 데이터를 넣지 않아서 별 설정은 안 했는데 디폴트값이 있는지 확인해야 한다.

 

최종 확인

 

생성된 policy로 바로 run해서 스냅샷을 s3 버킷에 올려봄

 

s3 키 설정

시큐어 세팅은 elasticsearch.yml에 넣을 수 없고, elasticsearch keystore에 넣어줘야 한다.

키스토어에 밑에처럼 값을 넣어주거나,

컨테이너 role이나 인스턴스 롤을 통해 s3에 데이터를 넣으면 키스토어 설정을 지워야 한다.

 

s3에 인덱스 생성 확인

 

elasticsearch doc에서 추천하는 s3 퍼미션

{
  "Statement": [
    {
      "Action": [
        "s3:ListBucket",
        "s3:GetBucketLocation",
        "s3:ListBucketMultipartUploads",
        "s3:ListBucketVersions"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:s3:::snaps.example.com"
      ]
    },
    {
      "Action": [
        "s3:GetObject",
        "s3:PutObject",
        "s3:DeleteObject",
        "s3:AbortMultipartUpload",
        "s3:ListMultipartUploadParts"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:s3:::snaps.example.com/*"
      ]
    }
  ],
  "Version": "2012-10-17"
}

 

키바나 dev tool에서 스냅샷, 레포 확인하기

GET /_snapshot
{
  "naver_blog_articles" : {
    "type" : "s3",
    "settings" : {
      "bucket" : "s3-bucket-name-to-store-your-index"
    }
  }
}
GET /_cat/repositories

naver_blog_articles s3

 

참조

반응형