Amazon Web Services ブログ
Amazon Elasticsearch Service のインプレースバージョンアップグレード
本日、Amazon Elasticsearch Service (Amazon ES) は、バージョン 5.1 以降を実行するドメイン用のインプレース Elasticsearch アップグレードをサポートすることを発表しました。この新しい機能では、数回のクリックだけで、同じメジャーバージョン内での最新リリース (例えば 5.3 から 5.6 など) に、またはメジャーバージョンの最新リリースから次のメジャーバージョンの最新リリース (例えば 5.6 から 6.3) に移行できます。 また、同じドメインエンドポイント URL を保持しているため、ドメインと連動するサービスでは、新しいバージョンにアクセスするのに設定を変更する必要はありません。
これまで手作業でドメインアップグレードしていたのと比べて、新しい機能では新しい方法で操作を簡素化しています。この機能ができる前は、手動で以前のバージョンのスナップショットを作成し、対象バージョンの新しいドメインを作成し、手動でインデックススナップショットを新しいドメインに復元し、さらには新しいドメインを示すにアプリケーション構成に調整する必要がありました。
このブログ記事では、5.1 Elasticsearch ドメインから 6.3 Elasticsearch ドメインに移行する方法を説明します。
新しい機能でできること
アップグレードプロセスは自動化しているため、一連のイベントは慎重に計画されており、対象バージョンへと正常に移行することが可能です。アップグレード中、ドメインに要求が追加される可能性もあります。
このプロセスには、以下のものが含まれます。
- アップグレードをブロックする可能性のある問題の確認
- アップグレードが失敗した場合に、ロールバックに対処するための Elasticsearch クラスタのスナップショットの作成
- 新しい Elasticsearch 版でのシャードの再配置
5.1 から 5.6 へのアップグレードの開始
アクティブなドメインのインプレースバージョンのアップグレードを実行するには、AWS マネジメントコンソールにサインインし、[Elasticsearch Service] を選択します。Amazon ES コンソールで、リストから自身のドメイン名を選択し、ダッシュボードを開きます。次に、[ドメインをアップグレード] を選択します。
対象となるアップグレードバージョンと、今すぐドメインをアップグレードするか、またはアップグレードの適格性を確認するかのオプションが表示されます。次のように [アップグレードの適格性を確認する] を選択すると、サービスはドメインをターゲットバージョンにアップグレードするためのチェックを実行します。
アップグレードの適格性のチェックを送信したら、[アップグレード履歴] タブを選択し、結果を確認することができます。
アップグレード前のチェックが成功したことを確認したら、バージョン 5.6 へのアップグレードを開始できます。ドメインをアップグレードするには、再度、[ドメインをアップグレード] を選択してください。[アップグレード] を選択して、リクエストを送信してください。
アップグレードプロセスは取り消すことができないので、一時停止またはキャンセルすることはできません。アップグレード中は、ドメインの構成を変更することはできません。実際に、コンソールはクラスタ上の構成変更を呼び出すのに使用できるボタンをすべて無効にします。ドメインは、インデックスの読み書き操作に使用できるため、サービスのドメインとやりとりすることは可能です。
アッププグレード要求を送信した後、最後のプロンプトが表示され、操作をキャンセルすることができます。続行するには [続行] を選択してください。[概要] ペインに戻り、[アップグレード処理] というドメインステータスが表示されます。
同じ [概要] ペインにある [アップグレードステータス] フィールドで、アップグレードに関する追加情報を得ることができます。 これらの 2 つのフィールドの組み合わせにより、アップグレード処理の状況を明確に把握できます。
ドメインのサイズによっては、このプロセスに数分から数時間かかることがあります。
新しい 5.6 バージョンのレビュー
ドメインが 5.1 から 5.6 へのアップグレードプロセスを完了すると、Elasticsearch version の番号が 5.1 から 5.6 に変更されていることが分かるでしょう。現時点では、ドメインで検証テストを実行し、アップグレードでアクセスするパフォーマンスの向上やその他の機能をアサートすることが可能です。
マイナーバージョンからメジャーバージョンへのアップグレード
前のセクションでは、マイナーバージョンのアップグレードを実行するためのプロセスを確認しました。既存の 5.1 バージョンのドメインを使用して、バージョン 5.6 にアップグレードしました。メジャーバージョンでは、マイナーバージョンで対処されるバグ修正に加えて、新しい機能とパフォーマンスの強化が導入されています。
新しい機能を導入すると、互換性を破る変更が発生する場合があります。例えば、バージョン 5.x では、インデックスに複数のマッピングタイプを使用できます。一方、6.X では複数のマッピングタイプはサポートされていません。コードや運用作業が、これらを考慮していることを確認しましょう。Amazon ES はこうしたの問題に対処するため、一連の手順を行います。ただし、クライアントコードでは、新しい Elasticsearch バージョンに対して失敗する可能性のある変更に対応する必要があります。
バージョン 5.6 からバージョン 6.3 にアップグレードするには、マイナーバージョンのバージョン 5.1 からバージョン 5.6 へのアップグレードと同じ手順を実行します。[ドメインのアップグレード] を再度選択して、ドメインをバージョン 6.3 にアップグレードします。
出前のアップグレード手順で見たように、ドメインステータスはアップグレード処理です。バージョン 5.6 がアップグレードソースとして表示されます。
この場合も、ドメインのサイズによっては、数分から数時間かかることがあります。処理中でもデータをクエリを実行することができます。
アップグレードプロセス全体を確認する
アップグレードの完了後、ドメインはバージョン 6.3 になります。バージョン 6.x では、Elasticsearch 製品のバージョン 5.x と比較して、まばらなフィールドの最適化やソートされたインデックスの高速なクエリなどの機能拡張が行われています。
[アップグレード履歴] タブに移動し、バージョン 5.1 からバージョン 6.3 へのアップグレードに際しての一連のイベントを確認します。
[アップグレード履歴] ペインに示されているように、アップグレードプロセス中に行われた展開とチェックを確認できます。ドメインはバージョン 6.3 になりました。
結論
新しい Amazon ES のインプレースバージョンアップグレード機能では、Elasticsearch ドメインを、バージョン 5.1 から Elasticsearch の最新のマイナーおよびメジャーバージョンへ簡単にアップグレードすることが可能となりました。この機能は、手動でのバージョンアップグレードを実行する際に起こる、多くの操作負担からチームを解放します。また、この機能により、ドメイン管理がよりシームレスとなります。
AWS CLI および AWS SDK の Elasticsearch バージョンアップグレードの新機能を用いると、スクリプトおよび自動化プロセスにこれらのステップを組み込むことができます。ドメインを最新バージョンに移行して、開発チームの負担を減らすだけなく、パフォーマンスと機能を向上させて、顧客の満足度を高めましょう。
今回のブログ投稿者について
Kevin Fallis は、検索やその他の分散並列処理技術に特化した AWS ソリューションアーキテクトです。 AWS では、顧客がビジネス目標を達成できるよう、AWS サービスを正しく組み合わせ、活用するサポートを行っています。 仕事以外では、家族、音楽、DIY、スポーツの指導などに忙しい毎日です。