Elasticsearch 를 Basic license 로 사용하고 있는데, 어느날 Kibana Monitoring 페이지에 접속하니 아래와 같은 내용이 노출되었다.

Your Basic license has expired

라고 한다.

내용을 보면 Basic License 를 새로 등록하라고 한다. 하나씩 따라해보자.


라이센스 요청

위 화면에서 Get Basic 버튼을 클릭 후 라이센스 등록 요청 페이지 로 이동한다.

등록 페이지로 이동하면, Good News 가 나온다.

요약하자면, Elasticsearch 6.3 또는 더 높은 버전 사용자라면, Basic (free) tier features 를 사용할 수 있다고 한다. 아래 등록 요청을 따로 하지 않아도, Elasticsearch 의 기본 기능을 사용할 수 있다.

허나, 현재 사용 중인 Elasticsearch Version 은 아쉽게도 6.2 버전이었기 때문에, 등록 Form 을 요청해야했다.

등록 Form 을 작성 한 후 Send 버튼을 누르면, 입력한 이메일로 License Download 주소가 도착한다.

다운로드 주소로 이동하면 Elasticsearch 버전에 맞는 license json 파일을 다운로드 할 수 있다. 이 json 파일의 내용을 잘 복사해두자.


라이센스 확인 및 업데이트

Elasticsearch 에는 라이센스 관련 API 가 따로 존재한다. 라이센스 자체를 API 로 관리하는 것이 참 신박해보였다.


라이센스 확인 API


GET /_xpack/license
// 결과
 
{
  "license": {
    "status": "expired",
    "uid": "",
    "type": "basic",
    "issue_date": "2021-01-08T00:00:00.000Z",
    "issue_date_in_millis": 1610064000000,
    "expiry_date": "2022-01-08T23:59:59.999Z",
    "expiry_date_in_millis": 1641686399999,
    "max_nodes": 100,
    "issued_to": "son seon (wemakeprice.INC)",
    "issuer": "Web Form",
    "start_date_in_millis": 1610064000000
  }
}

라이센스 확인 API 로 라이센스를 조회해보면, 위와 같이 status 가 expired 되어있다.

새로 발급받은 json 파일로 교체해주면 된다.


라이센스 업데이트 API



POST /_xpack/license?acknowledge=true
// 복사한 license json 파일의 내용 붙여넣기
{
    "licenses": [
        {
            "uid":"",
            "type":"basic",
            "issue_date_in_millis":1411948800000,
            "expiry_date_in_millis":1914278399999,
            "max_nodes":1,
            "issued_to":"issuedTo",
            "issuer":"issuer",
            "signature":"xx"
        }
    ]
}

License 업데이트를 완료했다. 이제 다시 라이센스 확인 API 를 요청하여 제대로 반영되었나 확인해보자.

GET /_xpack/license
// 결과

{
    "license": {
        "status": "active",
        "uid": "",
        "type": "basic",
        "issue_date": "2022-01-10T00:00:00.000Z",
        "issue_date_in_millis": 1641772800000,
        "expiry_date": "2023-01-10T23:59:59.999Z",
        "expiry_date_in_millis": 1673395199999,
        "max_nodes": 100,
        "issued_to": "Hyundo Park (wemakeprice)",
        "issuer": "Web Form",
        "start_date_in_millis": 1641772800000
    }
}

status 가 active 로 반영된 것을 확인할 수 있다.