ステージ 5 – カットオーバー - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ステージ 5 – カットオーバー

このステージでは、現在の Elasticsearch または OpenSearch 環境からターゲット Amazon OpenSearch Service ドメインにカットオーバーするために使用できるさまざまなアプローチについて説明します。カットオーバーは 2 つのステップで実行できます。

  • データ同期メカニズムを確立して、ターゲット環境をソースと同期させます。

  • ダウンタイムの有無にかかわらず、現在の環境からターゲット環境へのスワップを実行します。

データ同期

継続的なデータを受信するシステムの場合、データ移行中に新しいデータの受信を停止し、メンテナンスウィンドウ (ダウンタイムが発生する可能性があります) で移行を実行する必要がある場合があります。ダウンタイムを許容できない場合は、移行を開始した後に変更をキャプチャできます。ターゲットの変更をリプレイして、カットオーバーを実行するまで更新し、ソースと同期させます。以下のセクションでは、ソースとターゲットの同期を維持するさまざまな方法について説明します。

ログ分析ワークロード

ログ分析ワークロードの場合、次の方法で更新同期を実行できます。

  • 保持期間が終了するまで 2 つの環境を並行して実行し、現在の環境とターゲット環境の両方への取り込みを実行できます。ある時点で、アプリケーションをカットオーバーして新しい環境を指すことにしました。ログまたはドキュメントソースから既存のクラスターとターゲットの OpenSearch Service 環境の両方に新しいデータを取り込む場合があります。その後、現在の環境からコピーすることで、ターゲット環境で古いデータをバックフィルできます。いずれの場合も、データにユーザーに影響を与えるギャップがないことを確認する必要があります。

  • データ移行の前に、既存の環境への取り込みを一時停止できます。ただし、このアプローチでは、データ移行が完了するまで、ユーザーは既存の環境から最新または変更されたデータを検索できない場合があります。データ移行が完了したら、データインジェストをターゲット環境に向け、アプリケーションとクライアントをターゲット環境に切り替えることができます。つまり、移行が完了するまで新しいデータは利用できません。ただし、システムは引き続き検索できます。新しい環境が利用可能になるまで、ソースログとデータをソースに保持する手段が必要です。

  • データの最初のパスが移行されるまで、現在のログ分析エンジンを引き続き使用できます。次に、最初のパスが開始されてから生成された残りのデータをバックフィルします。残りのデータが最初のパスよりもはるかに小さいと仮定すると、残りのデータの同期中に取り込みを一時停止できます。これは、同期に数分または数時間かかる可能性があるためです。また、同期ウィンドウが小さくなり、ソースからターゲット環境への取り込みを一時停止し、ユーザーに影響を与えることなくターゲット環境にカットオーバーするまで、このアプローチを使用して数回パスを実行することもできます。次の図は、増分スナップショットと復元を使用してデータを更新または同期する方法を示しています。

    Diagram comparing data flow in OpenSearch Service with and without direct access to Elasticsearch.

    ステップ 1

    1. データは、ソースからデータインジェストパイプラインを経由して、現在の Elasticsearch 環境と Amazon OpenSearch Service ドメインに流れます。

    2. 最初のパスは、Elasticsearch から Amazon OpenSearch Service ドメインへの移行に最長で時間がかかります。

    3. 最初の更新または同期パスにかかる時間が短くなります。

    4. 2 回目の更新または同期パスには、最短の時間がかかります。

    5. データは Elasticsearch からアプリケーションに引き続き流れます。

    ステップ 2

    1. データはソースからデータインジェストパイプラインを経由して OpenSearch Service ドメインに流れます。

    2. 現在の Elasticsearch 環境への取り込みは停止しています。

    3. 最終更新または同期パスには、最短の時間がかかります。

    4. OpenSearch Service からアプリケーションへのデータフロー。

ワークロードの検索

前述の 3 つのアプローチでは、カットオーバーを実行する前に、ターゲットのすべてのデータが最新であることを確認する必要があります。検索ワークロードでは、更新または同期に関する以下の提案を検討できます。

  • 検索ワークロードの場合、通常、ソースから現在の環境への取り込みを一時停止します。現在の環境からターゲット環境にすべてのデータをコピーし、移行の開始以降に変更されたデータを決定できる変更データキャプチャ (CDC) メカニズムを導入します。次に、変更されたデータを Amazon OpenSearch 環境にコピーします。ほとんどの場合、検索アプリケーションのデータインジェストパイプラインには既に CDC メカニズムが組み込まれており、通常はデータが現在の環境から移行された後にパイプラインを新しい環境を指す問題です。次の図は、検索ユースケースのためにソースからインデックスを完全に構築する方法を示しています。

    Diagram comparing data flow in Step 1 and Step 2 using Elasticsearch and OpenSearch Service.

    ステップ 1

    1. 現在の Elasticsearch 環境への取り込みは一時停止されます。

    2. データは ElasticSearch から OpenSearch Service ドメインにコピーされます。

    3. データは ElasticSearch からアプリケーションに引き続き流れます。

    ステップ 2

    1. Elasticsearch 環境は、データソースまたはアプリケーションに接続されなくなりました。

    2. 変更データキャプチャ (CDC) データはパイプラインに取り込まれ、OpenSearch Service ドメインに流れます。

    3. OpenSearch Service ドメインからアプリケーションへのデータフロー。

  • 一部の検索ワークロードでは、ソースデータベースまたはデータソースから新しい OpenSearch Service 環境にフルデータのみをロードする必要があります。ロードが完了すると、クライアントアプリケーションは新しい環境にカットオーバーできます。これは、検索ワークロードの移行を実現する最も簡単な方法です。

スワップまたはカットオーバー

移行ジャーニーの最後のステップは、新しい環境へのスワップまたはカットオーバーです。これは重要なフェーズの 1 つです。この時点で、本番稼働の準備が整いました。データを同期して最新の状態にし、モニタリングとアラートを設定し、ランブックを最新の状態にして、新しい環境にカットオーバーする準備が整いました。取り込みが正常に流れていること、および新しい環境のメトリクスが正常であることを確認する必要があります。この段階では、既存の Elasticsearch または OpenSearch クラスターから新しい Amazon OpenSearch Service ドメインへのクライアント接続のカットオーバーを計画して実行します。クライアントライブラリの変更が必要になる可能性があることに注意してください。この時点で、互換性とパフォーマンスを検証するために、下位環境で Amazon OpenSearch Service を使用してすべてのクライアント機能をテストしているはずです。

新しい環境を指す必要があるクライアントアプリケーションがある場合は、DNS エントリを古い環境から新しい環境に更新します。次に、アプリケーションの動作を注意深くモニタリングして、ユーザーが適切なエクスペリエンスを得ていることを確認します。

通常、このドキュメントのガイドラインに従った場合は、安全にスイッチオーバーできます。ただし、ソース環境を最新の状態に保つことをお勧めします。これにより、新しい環境で問題が発生した場合に備えて、ソース環境がフォールバックとして機能します。一部の AWS のお客様は、古い環境を廃止する前に、スワップ後も数週間、両方の環境を運用し続けます。ビジネス継続性の要件に合った戦略を選択することをお勧めします。