このドキュメントでは、Alibaba Cloud Elasticsearch の自動スナップショット、および自動復元機能について説明します。 自動スナップショットを有効にした後、スナップショットの作成時間を指定できます。 データのセキュリティを確保するために、スナップショットが自動的に作成されます。

自動スナップショットを有効にする

  1. Elasticsearch インスタンスのインスタンス管理ページに移動します
  2. 左側のナビゲーションウィンドウで、[スナップショット] をクリックします。
  3. [スナップショット] ページで、 [自動スナップショット] スイッチをクリックして、機能を有効にします。スナップショットページ
  4. 右側の [設定の編集] をクリックし、スナップショットを毎日作成する時間を選択して、[保存] をクリックします。 その後、指定された時間にスナップショットが作成されます。 スナップショット作成時間

自動復元

Alibaba Cloud Elasticsearch インスタンスの自動スナップショットを有効にしている場合、システムはインスタンスのスナップショットを毎日自動的に作成します。 snapshot 操作を呼び出して、スナップショットのデータを、スナップショットが作成された Elasticsearch インスタンスに復元できます。

  • 最初のスナップショットは、Alibaba Cloud Elasticsearch インスタンスで作成された完全なバックアップです。 以降のスナップショットは、Elasticsearch インスタンスの増分データに基づいて作成されます。 したがって、最初のスナップショットの作成には時間がかかりますが、後続のスナップショットの作成にはそれほど時間がかかりません。
  • スナップショットには、Alibaba Cloud Elasticsearch インスタンスによって生成されたモニタリングデータ (たとえば、 .monitoring .security_audit で始まるインデックス) は保存されません。
  • 自動で作成されたスナップショットは、スナップショットが作成された Alibaba Cloud Elasticsearch インスタンスにのみ復元できます。
  • スナップショットリポジトリは、最初のスナップショットが作成されるときに作成されます。

すべてのリポジトリを照会する

Kibana コンソールへのログイン GET _snapshot 操作を呼び出して、すべてのリポジトリを照会します。

次の結果が返されます。
{
  "aliyun_auto_snapshot": {
    "type": "oss",
    "settings": {
      "compress": "true",
      "base_path": "xxxx",
      "endpoint": "xxxx"
    }
  }
}
  • aliyun_auto_snapshot:リポジトリの名前。
  • type:スナップショットが保存されるストレージ。 この例では、Alibaba Cloud Object Storage Service (OSS) が使用されています。
  • compress:true:スナップショットの作成中にインデックスのメタデータファイルの圧縮を有効にします。
  • base_path:スナップショットの場所。
  • endpoint :OSS バケットのエンドポイント。

すべてのスナップショットを照会する

次の例は、 GET _snapshot/aliyun_auto_snapshot/_all 操作を呼び出して、aliyun_auto_snapshot リポジトリの、すべてのスナップショットを照会する方法を示しています。

次の結果が返されます。
{
  "snapshots": [ 
    {
      "snapshot": "es-cn-abcdefghijklmn_20180627091600",
      "uuid": "MMRniVLPRAiawSCm8D8Dug",
      "version_id": 5050399,
      "version": "5.5.3",
      "indices": [
        "index_1",
        ".security",
        ".kibana"
      ],
      "state": "SUCCESS",
      "start_time": "2018-06-27T01:16:01.009Z",
      "start_time_in_millis": 1530062161009,
      "end_time": "2018-06-27T01:16:05.632Z",
      "end_time_in_millis": 1530062165632,
      "duration_in_millis": 4623,
      "failures": [],
      "shards": {
        "total": 12,
        "failed": 0,
        "successful": 12
      }
    }
  ]
}

デフォルトのパラメーター

自動スナップショット機能は、表示されない次のデフォルトパラメーターもサポートします。
  • max_snapshot_bytes_per_sec:40mb :ノードごとのスナップショットレートを調整します。 デフォルトのスナップショットレートは 1 秒あたり 40 MB です。
  • max_restore_bytes_per_sec:40mb :ノードごとの復元レートを調整します。 デフォルトの復元レートは 1 秒あたり 40 MB です。
  • chunk_size: Max 1Gb :必要に応じて、スナップショットプロセス中、大きなファイルを小さなファイルに分割できます。 ファイルの最大サイズは 1 GB です。

スナップショットからインデックスデータを復元する

_restore 操作を呼び出して、スナップショットからインデックスデータを復元できます。
  • 次の操作を呼び出して、aliyun_auto_snapshot リポジトリに保存されている指定されたスナップショットから、すべてのインデックスを復元します。 復元タスクはバックグラウンドで実行されます。
    POST _snapshot/aliyun_auto_snapshot/<snapshot>/_restore

    <snapshot> :指定したスナップショットの名前で置き換えます (例: es-cn-abcdefghijklmn_20180627091600)

  • 次の操作を呼び出して、aliyun_auto_snapshot リポジトリに保存されている指定されたスナップショットからすべてのインデックスを復元し、復元タスクの完了後に応答を受信します。
    _restore 操作は、復元タスクを非同期的に実行します。 Alibaba Cloud Elasticsearch インスタンスは、復元操作が実行可能な場合、すぐに応答を返します。 復元タスクはバックグラウンドで実行されます。 wait_for_completion パラメーターを設定できます。 このパラメーターでは、復元タスクが完了した後にのみ、Alibaba Cloud Elasticsearch インスタンスが応答を返す必要があります。
    POST _snapshot/aliyun_auto_snapshot/<snapshot>/_restore? wait_for_completion=true

    <snapshot>:指定したスナップショットの名前で置き換えます (例: es-cn-abcdefghijklmn_20180627091600)

  • 次の操作を呼び出して、 aliyun_auto_snapshot リポジトリに保存されている指定されたスナップショットから指定されたインデックスを復元し、復元されたインデックスの名前を変更します。 復元タスクはバックグラウンドで実行されます。
    POST _snapshot/aliyun_auto_snapshot/<snapshot>/_restore
    {
    "indices": "index_1",
    "rename_pattern": "index_(.+)",
    "rename_replacement": "restored_index_$1"
    }
    • <snapshot>:指定したスナップショットの名前で置き換えます (例: es-cn-abcdefghijklmn_20180627091600)
    • indices:復元するインデックスを指定します。
    • rename_pattern :復元されたインデックスを名前で照合する正規表現を指定します。 このパラメーターはオプションです。
    • rename_replacement :一致するインデックスの名前を変更する正規表現を指定します。 このパラメーターはオプションです。