Search Engine Service のマイグレーション

Prev Next

Classic/VPC環境で利用できます。

Classic環境の Search Engine Serviceで作成した Elasticsearchクラスタのデータを、VPC環境の Elasticsearchまたは OpenSearchクラスタへマイグレーションできます。データを移行するために、以下の手順に従ってください。

1.データ移行の事前タスク
2.クラスタ(Classic)のスナップショット作成
3.クラスタ(VPC)へのスナップショット復元

1.データ移行の事前タスク

データ移行のための事前タスクを行う方法は、次の通りです。

  1. Classic環境のクラスタに対して、以下のタスクを完了します。
  2. VPC環境で Elasticsearchまたは OpenSearchクラスタを作成します(クラスタ作成を参照)。
  3. 作成したクラスタ(VPC)に対して、以下のタスクを完了します。

2.クラスタ(Classic)のスナップショット作成

Classic環境のクラスタのスナップショットを作成します。

参考

ここでは、スナップショット作成について簡単に説明します。詳細は、Elasticsearch APIを介したスナップショット作成をご参照ください。

クラスタ(Classic)のスナップショットを作成する方法は、次の通りです。

  1. スナップショットを作成するクラスタにインストールされた Kibanaにアクセスします。
  2. Dev Toolsメニューをクリックします。
  3. Consoleで以下のコマンドを実行し、repositoryを作成します。
    PUT _snapshot/my-own-snapshot-repository
    {    
       "type" : "s3",  
       "settings": {        
             "region" : "kr",
             "endpoint" : "https://kr.object.ncloudstorage.com",
             "bucket": "スナップショットを保存するバケット名",
             "path_style_access": "true",
             "access_key":"Access Key IDの値",
             "secret_key":"Secret Keyの値"
          }
    }
    
    • my-own-snapshot-repository: 希望する repository名を入力
    • access_keysecret_key: API認証キーの値。API認証キーに関する説明は、Ncloud APIを参照
  4. Consoleで以下のコマンドを実行し、スナップショットを作成します。
    PUT _snapshot/my-own-snapshot-repository/my-own-snapshot-name
    {
    "indices": "*,-.kibana*"
    }
    
    • Kibana関連のインデックスを除くすべてのインデックスに対してスナップショットを作成します。
    • Kibana関連のインデックスを含むスナップショットを作成する場合、スナップショットを復元する際には必ず Kibana関連のインデックスを除外する必要があります。

3.クラスタ(VPC)へのスナップショット復元

作成したスナップショットを利用して、VPC環境のクラスタにデータを復元します。

参考

ここでは、スナップショット復元について簡単に説明します。詳細は、スナップショット復元をご参照ください。

クラスタ(VPC)にスナップショットを復元する方法は、次の通りです。

  1. クラスタにインストールされた Kibanaまたは OpenSearch Dashboardsにアクセスします。

  2. Kibanaおよび OpenSearch Dashboardsで、Dev Toolsメニューを選択します。

  3. Consoleで以下のコマンドを実行し、復元する repositoryを作成します。

    PUT _snapshot/restore-repository
    {  
    "type" : "s3",  
    "settings": {    
       "region" : "kr",    
       "endpoint" : "https://kr.object.private.ncloudstorage.com",
       "bucket": "estest",
       "compress": true,
       "base_path": "estest-1722213",
       "path_style_access": true
    }
    }
    
    • bucket: 復元するスナップショットが存在するバケット名
    • base_path: 復元するスナップショットが配置されているフォルダ名(クラスタ名-クラスタ番号)
  4. 以下のコマンドを実行して、スナップショットに存在する復元可能なインデックスリストを確認します。

    GET _snapshot/restore-repository/"スナップショット名"
    
  5. 以下のコマンドを実行して、スナップショットを復元します。

      POST _snapshot/restore-repository/"スナップショット名"/_restore
      {
      "indices": "*",
      "ignore_unavailable": true
      }
    
    • すべてのインデックスを復元します。
    • 重複するインデックスが既にクラスタに存在する場合、復元に失敗します。