はじめに
後回しにしがちなアップグレード対応ですが、Elasticプロダクトのサポート期間はメジャーリリースのGA/一般公開日から18か月と決まっているため、定期的なアップグレードが必要です。Elastic Cloudは、無停止でアップグレードが可能ですが、より安全に実施するため今回の手順で対応しました。
Elastic Cloudのアップグレードを実施したいけど、本番影響を懸念して躊躇している方の参考になれば幸いです。
##Elasticsearchとは
オープンソースの RESTful 分散検索/分析エンジンで、Apache Lucene を基盤として構築されています。ログ分析、フルテキスト検索、セキュリティインテリジェンス、ビジネス分析、およびオペレーショナルインテリジェンスのユースケースに広く使用されています。
##Elastic Cloudとは
Elastic社が公式に運営するマネージドサービスです。
補足
- ver6.6.1->v6.8.10のマイナーバージョンのアップグレード
- 開発用のクラスタで事前にアップグレード後のテストは確認済み
アップグレードの手順
- クラスタを新規にデプロイする
- インデックスを複製する
- 新規クラスタに接続を切り替える
- 既存クラスタは削除する
###1. クラスタを新規にデプロイする
アップグレードするVersionのクラスタを新規にデプロイします。
Versionは④の「Set up your deployment」の「Elastic Stack version」で選択可能です。
また、「Select a deployment to restore from one of its snapshots」を選択すればインデックスの複製が可能です。
###2. インデックスを複製する
新規デプロイした環境にスナップショットでインデックスを複製します。
デプロイ時にインデックスを複製している場合は割愛して頂いて問題ありません。
※注意) Restore snapshots時、snapshots先のクラスタは完了するまでリクエストを受け付けることが出来なくなります。
###3. 新規クラスタに接続を切り替える
client の接続を新しいクラスタに切り替えて問題が発生しないことを確認します。
###4. 既存クラスタは削除する
正常動作確認後、既存のクラスタは不要のため削除する。
#最後に
Elastic Cloudはアップグレードで問題が発生した場合にダウングレードすることができませんが、今回の手順で、もし問題が発生した場合は既存のクラスタが存在するため、容易に切り戻しすることが可能なため、より安全にアップグレードを行うことが出来ました。