ページの先頭行へ戻る
Enterprise Service Development Platform V1.2.0 運用ガイド
FUJITSU Software

10.6.1 Elasticseachのバックアップ

Elasticsearchのスナップショット機能を使用してバックアップを行います。

スナップショット機能の詳細はElasticsearchの公式ドキュメントを参照してください。

“Elasticsearch Reference”

  1. Kubernetes masterサーバーにログインします。詳細は、「第2章 共通の操作」を参照してください。

  2. 以下のコマンドを実行し、リポジトリを作成してください。

    <スナップショットへのパス>に指定された任意の名前で、「インストールガイド」の「2.2.3 ストレージ設定ファイル」で設定したElasticsearchが使用するストレージに、スナップショットのディレクトリが作成されます。

    <リポジトリ名>は、上記のスナップショットへのパスを管理する名前を指定します。

    $ curl http://`kubectl -n fj-esdp-system get svc | grep 'elasticsearch-master '| awk -F " " '{print $3}'`:9200/_snapshot/<リポジトリ名> \
        -X PUT \
        -H 'Content-Type: application/json' \
        -d '{
            "type": "fs",
            "settings": {
                "location": "<スナップショットへのパス>",
                "compress": true
            }
        }'
  3. 作成済みのリポジトリにスナップショットを作成します。

    • 一部のインデックスをバックアップする場合

      以下のコマンドを実行し、スナップショットを作成してください。

      <インデックス名>には存在するインデックス名を指定します。

      <スナップショット名>は重複しない名前を指定します。

      $ curl http://`kubectl -n fj-esdp-system get svc | grep 'elasticsearch-master '| awk -F " " '{print $3}'`:9200/_snapshot/<リポジトリ名>/<スナップショット名>?wait_for_completion=true \
          -X PUT \
          -H 'Content-Type: application/json' \
          -d '{
              "indices": "<インデックス名>",
              "ignore_unavailable": true,
              "include_global_state": false
          }'
    • 全インデックスをバックアップする場合

      以下のコマンドを実行し、kibanaのインデックスをリネームします。

      $ curl http://`kubectl -n fj-esdp-system get svc | grep 'elasticsearch-master '| awk -F " " '{print $3}'`:9200/_reindex?pretty \
          -X POST \
          -H 'Content-Type: application/json' \
          -d '{
              "source": {
                  "index": ".kibana"
              },
              "dest": {
                  "index": "backup.kibana"
              }
          }'

      以下のコマンドを実行し、スナップショットを作成してください。

      $ curl http://`kubectl -n fj-esdp-system get svc | grep 'elasticsearch-master '| awk -F " " '{print $3}'`:9200/_snapshot/<リポジトリ名>/<スナップショット名>?wait_for_completion=true \
          -X PUT \
          -H 'Content-Type: application/json' \
          -d '{
              "indices": "*",
              "ignore_unavailable": true,
              "include_global_state": false
          }'