2018/06/25 - 17:38

AWS Elasticsearch ServiceのインデックスをCuratorで削除する

:

:

現在弊社サービスであるmillviで蓄積している諸々のログ情報を活用しやすい形にしたいという要望があり、それを実現するための方法の一つとして AWS Elasticsearch Service(以下ESS)に登録していくという方法を試している。

ただ、ひたすら蓄積していくだけだと容量もかさむし、現在別経路でログのバックアップも取っているので、できれば一定の日数分だけ残してインデックスを定期的に削除したいと考えた。
そうなると、Elasticsearch-curatorを使用した方法が一番に思い浮かんで試したのだが、AWS ESSだと通常のElasticsearchの場合と少し違っていた。

この違いというのが、AWS ESSは通常Elasticsearchで使用する9200番ポートが開いておらず、80番または443番のポートにリクエストを送って検索などを行う、ということ。
curatorのデフォルトの設定では9200番ポートに対してリクエストを送ろうとするため、AWS ESSのエンドポイントに合わせた設定する必要がある。
AWS ESSのエンドポイントはAWSコンソール上のAWS ESSのドメイン画面に表示されているので、これを確認しておく。

実際の接続先情報を持ったyamlファイルは以下のようになる。

client:
  hosts:
    - your_endpoint_to_aws_elasticsearch_service
  port: 443 # エンドポイントがhttpの場合は 80
  url_prefix:
  ...

あとはアクションとしてインデックスを削除するための記述をしたyamlファイルを作れば良い。

9200番ポートが使えないというのはElasticsearchに使い慣れていると結構引っかかる。
気をつけたい。