アップグレードする方法(アップグレードが必要な理由)

Elasticデプロイをアップグレードすると、最新の最も優れた機能を利用できるようになります。

アップグレードする理由

Elasticを最新バージョンにアップグレードすることで、パフォーマンスの大幅な向上、画期的な新機能、バグ修正、セキュリティアップデート、サポートされるバージョンでの運用など、さまざまなメリットが得られます。

製品のサポート終了(EOL)ポリシー

新しいバージョンのリリースに伴い、一定の期間を置いて古いバージョンはサポート終了になります。サポートが終了すると、問題が発生した場合に提供されるサポートのレベルが変わります。

セキュリティとバグ修正

どれだけ気を付けていてもバグは出ます。Elasticはテスト担当者や巨大なユーザーコミュニティの力を借りて、バグの発見と修正を行っています。見つかったバグは、最新バージョンにアップグレードすることで修正されます。

新しいセキュリティ問題は、Elasticのセキュリティ問題ページで報告したり、確認したりできます。Elastic Cloudユーザー向けのセキュリティパッチは、Elasticにより自動的に適用されます。

新機能とパフォーマンス向上

Elastic製品のパフォーマンスは絶えず向上していて、検索はよりスピーディに、メモリー使用量はより少なく、アクセスするストレージのコストは下がっていきます。

Elastic Stackの継続的なパフォーマンス向上に加えて、新たにリリースされるさまざまな機能を通じてSearch、Observability、SecurityといったElasticのコアソリューションのユーザーエクスペリエンスが改善されます。


アップグレードのステップガイド

アップグレードに備えて、メリットを得るために用意しておくべきことがいくつかあります。

警告!アップグレードの範囲は多岐にわたります。このガイドでご紹介しているのは、アップグレードのプロセスを理解し、備えるのに役立つポイントにすぎません。インベントリやテストプランを作成する際には、ElasticのコンポーネントとElastic以外のコンポーネントをすべて含め、受信側と送信側のあらゆる統合機能を盛り込むようにしてください。

コンポーネントインベントリの作成

Elastic Stackで使用されているコンポーネントをすべて洗い出すことが非常に重要です。デプロイをアップグレードする際には、他のコンポーネントもすべてアップグレードしなければならなくなる場合があります。それぞれのコンポーネントが使用されているかを記録し、使用されているコンポーネントについては現在のバージョンを記録しておきましょう。以下はチェックすべきコンポーネント一覧の例です。

  • Elasticsearch
  • Elasticsearch-Hadoop
  • プラグイン
  • Elasticsearchクライアント
  • Kibana
  • Logstash
  • 特殊なLogstashプラグイン
  • Beats
  • Beatsモジュール
  • APMエージェント
  • APMサーバー
  • Elastic Agent
  • Fleet
  • Enterprise Searchサーバー
  • セキュリティ
  • ブラウザー
  • 外部サービス(Kafkaなど)

ヒント:インベントリを作成する際に、監査ログを有効にすると、デプロイにアクセスしているリソースを評価できます。

開発環境のテスト

開発環境のテストとアップグレード行ってから本番環境に着手することを強くお勧めします。そのため、開発環境と本番環境を同じ設定にしておくことが重要になります。以下はチェックすべきコンポーネント一覧の例です。

  • エンリッチ情報
  • プラグイン
  • マッピング
  • ILM
  • SLM
  • インデックステンプレート
  • 機械学習ジョブ
  • 受信サンプルデータ
  • ライブデータ
  • パフォーマンス
  • 発信統合機能
  • ダッシュボード
  • アラート
  • 認証

ヒント:アップグレードを適切にテストするには、本番環境と同等の検索負荷とインデックス負荷がテスト環境にかかっていることを確認してください。

データのバックアップ

いったん開始したアップグレードは最後まで実行しなければなりません。そのため、何か問題が起きた場合に備えておく必要があります。

エラーが発生したら、データをアップグレード試行前の状態に復元することになります。

そのためには、インデックス付きで古いバージョンのクラスターのスナップショットを作成しておく必要があります。そうしておけば(何か問題が発生した場合に)、このスナップショットを復元することでデータを元に戻せます。

アップグレード中に問題が発生した場合は、いつでもサポートにお問い合わせください。ただし、復元用のスナップショットを作成しておくことが重要です。

ヒント:Elastic Cloudでアップグレードを行う場合は、アップグレード前にスナップショットが自動的に作成されます。

主な準備

新バージョンのリリースに伴ってソフトウェア内で起きる変化によっては、互換性が失われ、これを解決しないと正常にアップグレードできない場合があります。

アップグレード前のバージョンからアップグレード後のバージョンまでの破壊的変更をすべて調べておきます。

クラスター監視も重要です。これは、アップグレードに先立ってクラスターの正常性を検証するためです。監視するクラスターは、常に本番クラスターとは隔離しておくようにします。

最後に絶対に忘れてはならないのがKibanaアップグレードアシスタントの実行です。これは、アップグレードに関する問題の発見に役立ちます。

アップグレード当日の計画

  • 現在のデプロイが正常な状態で、アップグレードを実行するための十分なリソース(ディスク、CPU、メモリー)があるかを評価します。ローリングアップグレードでは、アップグレード中のノードはサービスを中断し、その分の負荷は残りのノードで処理することになります。
  • 負荷が低い時間帯に保守期間を設定します。
  • ドキュメントのインジェストを停止するか、インジェストレートを下げます。
  • 機械学習など、不要なジョブの実行を停止します。
  • 問題や懸念がある場合にはサポートチケットを提出します。

アップグレード中

Elastic Cloud

Elastic Cloudでは、ワンクリックでElastic Stackのバージョンをアップグレードでき、ダウンタイムは発生しません。

これが最もシンプルかつ簡単にクラスターをアップグレードする方法です。

注:Elastic Cloudの機能(Elasticsearch ServiceまたはESS)は数週間ごとにリリースされ、自動的に利用できるようになりますが、Elastic Cloud Enterprise(ECE)には独立したリリースバージョンがあり、別途アップグレードする必要があります。

Elastic Cloud on Kubernetes(ECK)のアップグレードについては、他にもいくつか考慮すべき点があります。

オンプレミス

アップグレードのアプローチはいくつかあり、それぞれにメリットと考慮事項があります。

ここでは利用できる主なアップグレード戦略を紹介します。

ヒント:時系列データを使用していて、適度な保持期間を設定している場合には、以下のような方法があります。

  • 新しいバージョンで新しいデプロイを作成します。
  • ログの転送先を新しいバージョンと古いバージョンの両方に同時に設定します。
  • 新しいデプロイのデータが古いものと一致していることを検証します。
  • 古いバージョンにのみ存在する全データの保持期間が過ぎるまで待ちます。
  • 古いデプロイを削除して新しいデプロイを使用します。

詳しくはこちら


Elasticが提供する支援

自力でアップグレードする際のガイドとして役立つドキュメントから、コンサルタントによる対面でのガイダンスまで、Elasticはニーズに合わせて選べるオプションをご用意しています。

コンサルティング

Elasticのコンサルタントは、Elasticデプロイを管理するお客様の頼もしい味方です。

経験豊富なコンサルタントがお客様のアップグレードを支援します。

詳しくは、Elasticコンサルティングにお問い合わせください。8.xへのアップグレードに関するウェビナーは、こちらから登録して視聴できます

サポート

サポート対象のElasticサブスクリプションをお持ちの場合は、デプロイのアッグプレード時に問題が発生した場合にも、Elasticのサポートチームによるサポートを利用できます。

そのため、アップグレードについて何か不安な点がある場合には、サポートケースを作成することが常に推奨されます。ケースを作成することで、Elasticのエンジニアが起こりうる問題に備え、何らかのガイダンスを提供できるからです。

アップグレード中に本番環境がダウンした場合のチケットは、Severity(深刻度)1で作成してください。

コミュニティフォーラム

アップグレード前またはアップグレード中に懸念や問題が生じた場合には、いつでもコミュニティのディスカッションフォーラムで質問できます。

ドキュメント

Elasticのドキュメントチームが、技術的詳細も含めてアップグレードプロセスを進めるうえで役立つリソースを複数作成しています。

また、このページの[アップグレードのステップガイド]タブも役に立つこともあります。