Amazon Elasticsearch Service で Elasticsearch 5.3 の利用が可能となりました
こんにちは、藤本です。
現地時間 6/1 Amazon Elasticsearch Service に Elasticsearch 5.3 / Kibana 5.3 が追加されました。5.1 に続き、5 系の 2つ目のマイナーバージョン追加となりました。Elastic 社から Elastic Stack 5.3 がリリースされてから 2ヶ月ちょっとで取り入れられました。この早い対応は嬉しいですね。
概要
Amazon Elasticsearch Service は Elasticsearch / Kibana の AWSマネージドサービスです。Elasticsearch クラスタの管理・運用を AWS が行ってくれるため、利用者は画面を数操作するだけで Elasticsearch / Kibana の利用を開始でき、設定変更も数クリックで構成変更ができます。今までは Elasticsearch 1.7/2.3/5.1 を利用できました。それが今回のアップデートにより、Elasticsearch 5.3 を利用可能となりました。
Elasticsearch / Kibana 5.1 -> 5.3 なので、今までのメジャーアップデートのように新機能は盛りだくさんではありませんが、それでも多くのアップデートがあります。
変更点まとめ
追加バージョン
- Elasticsearch 5.3.2
- Kibana 5.3.2
Elasticsearch / Kibana の変更点
Elasitcsearch / Kibana の変更内容は下記ブログをご参照ください。
Elastic 社公式
Develpers.IO まとめ
- Elastic Stack 5.2.0 がリリースされました
- Kibana の Top hits Aggregation の可視化、Timepicker を試してみた
- Filebeat にモジュール機能が追加され、ログ可視化が簡単になりました #elastic #beats
- Elasticsearch Field Collapsing
プラグイン
Amazon Elasticsearch Service はプラグインを追加することができません。Elasticsearch 5.3 で利用可能なプラグインが増えました。追加されたプラグインは以下の通りです。
- Mapper Attachments
- Mapper Size
- Ukranian Analysis
$ curl https://search-es53-xxxxxxxxxxxxxx.ap-northeast-1.es.amazonaws.com/_cat/plugins 0bg47se analysis-icu 5.3.2 0bg47se analysis-kuromoji 5.3.2 0bg47se analysis-phonetic 5.3.2 0bg47se analysis-smartcn 5.3.2 0bg47se analysis-stempel 5.3.2 0bg47se analysis-ukrainian 5.3.2 0bg47se discovery-ec2 5.3.2 0bg47se elasticsearch-jetty 2.2.0 0bg47se ingest-attachment 5.3.2 0bg47se ingest-user-agent 5.3.2 0bg47se mapper-attachments 5.3.2 0bg47se mapper-murmur3 5.3.2 0bg47se mapper-size 5.3.2 0bg47se repository-s3 5.3.2
Curator Support
個人的に一番気になっているアップデートです。Elastic 社が OSS として公開するインデックス管理ツールの Curator をサポートしたとのことなのですが、ドキュメントでは特に言及されていないようでした。
Curator
過去に Amazon Elasticsearch Service 5.1 で Curator を試した方がいれば、正常に動作しないことがあったかと思います。理由は Curator のドキュメントにもまとめられています。
Curator は 4系から Elasticsearch の設定情報取得に /_cluster/state/metadata
API を利用していました。ただ Amazon ES の Elasticsearch 5.1 は /_cluster/state/metadata
API に対して Curator が動作する上で完全なレスポンスを提供していませんでした。それにより、Curator を正常に動作させることができませんでした。それが Amazon ES の Elasticsearch 5.3 から Curator が動作するのに必要なレスポンスを返すようになり、Curator が動作するようになりました。ただ試した限りだと一部のアクションしか使えないようです。それでは試してみましょう。
インストール
Curator はpip
コマンドで簡単にインストールできます。
$ pip install elasticsearch-curator
設定
Curator を実行する上での設定ファイルを 2つ作成する必要があります。一つは対象とする Elasticsearch サーバーの設定、もう一つは対象の Elasticsearch に対して何を実施するかアクションの設定をそれぞれ記述します。
まずは前者。Elasticsearch Service ドメインの DNS 名を設定します。HTTPS アクセスを利用する場合は、ポート番号に 443 を、SSL の有効化を設定します。
client: hosts: - search-es53-xxxxxxxxxxxxxx.ap-northeast-1.es.amazonaws.com port: 443 use_ssl: True
続いて、アクション。今回はインデックスの削除を実施します。action
はインデックス削除の場合、delete_indices
を設定します。フィルターで対象となるインデックス情報を記述します。今回はプレフィックスで削除対象のインデックス名を指定しています。フィルターを追加して、インデックス名から何日以上過ぎているインデックスを削除するという設定も可能です。
actions: 1: action: delete_indices filters: - filtertype: pattern kind: prefix value: elblog-
2つのインデックスが、
$ curl https://search-es53-xxxxxxxxxxxxxx.ap-northeast-1.es.amazonaws.com/_cat/indices yellow open elblog-2017.04.01 TXEudbRjS864bG7-En3cEw 5 1 1 0 22.1kb 22.1kb yellow open elblog-2017.03.31 W4IDFl_uQLqlWdTiZ3-tcA 5 1 758 0 1.4mb 1.4mb
Curator をコマンド実行することで、
$ curator --config es53.yml delete_action.yml 2017-06-04 20:32:56,517 INFO Preparing Action ID: 1, "delete_indices" 2017-06-04 20:32:56,585 INFO Trying Action ID: 1, "delete_indices": No description given 2017-06-04 20:32:56,635 INFO Deleting selected indices: ['elblog-2017.04.01', 'elblog-2017.03.31'] 2017-06-04 20:32:56,635 INFO ---deleting index elblog-2017.04.01 2017-06-04 20:32:56,635 INFO ---deleting index elblog-2017.03.31 2017-06-04 20:32:56,795 INFO Action ID: 1, "delete_indices" completed. 2017-06-04 20:32:56,795 INFO Job completed.
削除されました。
$ curl https://search-es53-xxxxxxxxxxxxxx.ap-northeast-1.es.amazonaws.com/_cat/indices
ちなみに Amazon ES の Elasticsearch 5.1 の場合、下記のエラーが出力されました。
$ curator --config es51.yml delete_action.yml 2017-06-04 20:32:51,869 INFO Preparing Action ID: 1, "delete_indices" 2017-06-04 20:32:51,984 INFO Trying Action ID: 1, "delete_indices": No description given 2017-06-04 20:32:52,041 ERROR Failed to complete action: delete_indices. <class 'KeyError'>: 'settings'
また私が試した限りでは Amazon Elasticsearch Service の Elasticsearch 5.3 でも Curator によるクローズや、スナップショット取得はエラーが発生し、利用することができませんでした。
まとめ
いかがでしたでしょうか? Elasticsearch / Kibana は次々と新機能が取り入れられているため、Amazon Elasticsearch Service が新しいバージョンを早く取り入れてくれるのはすごい嬉しいですね。