6
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ElasticsearchからAmazon ESに移行したこと

Posted at

2015年夏にAmazon ESが東京リージョンにやってきました

もともと、EC2上でElasticsearchを運用していたのですが、AmazonESがやってきたので2015年10月に移行しました。
使っていたプラグインはAmazonESにも搭載されていましたし、Scripts FieldsがAmazonESでは使えないのがどうかな~と思ったのですが、運用楽になるしそもそもScripts Fields使ってなかったのでとっとと移行しちゃった話です。

流れは以下のような感じ

  1. elasticsearch-cloud-awsプラグインをinstall
  2. リポジトリの作成
  3. スナップショットをS3に作成
  4. AmazonESリポジトリの作成
  5. AmazonESにスナップショットのrestore

1. elasticsearch-cloud-awsプラグインをinstall

まずはスナップショットをS3に作成するためにelasticsearch-cloud-awsプラグインをinstallします。

プラグインインストール
/usr/local/elasticsearch/bin/plugin install elasticsearch/elasticsearch-cloud-aws/2.4.2
/usr/local/elasticsearch/config/elasticsearch.yml
#以下を最終行に追加
plugin.mandatory: cloud-aws
cloud:
    aws:
        access_key: アクセスキー
        secret_key: シークレットキー
        region: ap-northeast-1
discovery:
    type: ec2

これでElasticsearchを再起動

2. リポジトリの作成

curl -XPUT http://localhost:9200/_snapshot/s3_repository  -d '
 {
   "type": "s3",
   "settings": {
      "bucket": "バケット名",
      "base_path": "パス" 
   }
 }'

3. スナップショットをS3に作成

curl -XPUT http://localhost:9200/_snapshot/s3_repository/snapshot_1?wait_for_completion=true

4. AmazonESリポジトリの作成

curl -XPOST http://ESドメイン/_snapshot/s3_repository  -d '
 {
   "type": "s3",
   "settings": {
       "access_key": "アクセスキー",
       "secret_key": "シークレットキー",
       "role_arn": "iamロール",
      "region": "ap-northeast-1",
      "bucket": "バケット",
      "base_path": "パス" 
   }
 }'

5. AmazonESにスナップショットのrestore

curl -XPOST http://ESドメイン/_snapshot/s3_repository/snapshot_1/_restore

注意点

Elasticsearchの公式ドキュメントではスナップショットのリストアはPUTメソッドで実行するサンプルになっていますが2015/10時点ではAmazonESにPUTリクエストができなかったのでPOSTメソッドを使ってリクエストしています。

移行してみて

やっぱ運用は楽です。
もともと検索エンジンど素人がEC2上で運用していたので、Logにエラーが吐かれたりするたびに調べてチューニングしていたりしたので、AWSに任せられるのは非常に大きいです。

要望があるとするとバージョンアップを早くしてほしい・・・いま、AmazonESのバージョンは1.5.2なんですが、mappingの変更けっこう大変なんで早くReindexが使えるようになりたい。
あと、デフォルトでkibanaもついてきますがkibana使ってるとけっこうScripts Fields使いたくなるケースがあるのでScripts Fieldsもいつかは使えるようにしてほしいな~

6
8
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?