1
results
for found
-
概要 今回は、ElasticCloudからAmazon Elasticsearch Searvice(Amazon ES)への移行を検証するために手動によるスナップショットの取得手順を確認したのでその記録。 ElasticCloudはElastic社が提供するElasticsearchのマネージドサービス。 サーバーへインストールするタイプと同じで、RESTfulAPIによる手動スナップショットがサポートされている。 なお、30分おきに自動でもスナップショットが取得されており、リストアができる。 ポイント ElaticCloudのバックエンドはAWSで、スナップショットの取得先として、Amazon S3を使用している。 そのため、ElasticCloudで利用しているリージョンと同じリージョンのS3を自分たちで管理しているアカウント上に作成し、下記権限を与えてあげることでリポジトリ登録ができる。 Snapshot and Restore with Custom Repository 本作業はElaticCloudのES環境で実施したが、Elasic社のドキュメントを見る限りは自分でインストールして管理しているESでも(細かい点は不明だが)基本的には同様のことがおこなえると思われる。 手順 バケットを作成したら、下記IAMポリシーを作成する。 { "Statement": [ { "Action": [ "s3:*" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::自分で作成したバケット名", "arn:aws:s3:::自分で作成したバケット名/*" ] } ] } 新規でIAMユーザーを作成して、上記IAMポリシーをアタッチする。 ※新規でというのは、作成したIAMユーザーのアクセスキーとシークレットアクセスキーをElasticCloudへ設定する必要があるため。 手動のスナップショット取得 Elasticsearchのスナップショット取得は、スナップショット取得の前にリポジトリ登録が必要である。 このリポジトリというものがなんなのか最初わからなかったが、スナップショットを取得するのに必要なもののようだ。 リポジトリ登録前 上述の通り、ElasticCloudは自動的にスナップショットが取得されている。 そのため、下記を実行するとfound-snapshotsというリポジトリが既に登録されているのがわかる。 curl -XGET "https://エンドポイント/_snapshot/_all?pretty" { "found-snapshots" : { "type" : "s3", "settings" : { "bucket" : "バケットを示す文字列", "server_side_encryption" : "true", "base_path" : "snapshots/文字列", "