バックアップと復元

Shieldには、重要なシステム構成およびログの可用性を維持するためのバックアップおよび復元サービスが含まれています。システム障害が発生した場合、リストアサービスを使用して、構成情報やロギング情報を復元できます。

参考

すべてのバックアップファイルがローカルに作成されます。ただし、バックアップファイルはリモートまたはNFS フォルダに保存することを強くお勧めします。

Shieldには、バックアッププランに含める必要がある3 つのコンポーネントがあります:

  • システムファイル
  • サービス設定
  • ログ

システムファイル

Ericom Shieldシステムファイルは2 つの場所にあります:

  • ~/ericomshield/
  • ~/.kube/config

これら2 つのロケーションは、定期的にバックアップする必要があります。

サービス設定

Ericom Shield設定はローカルデータベースに保存されます。システムは、Admin Console でのすべての保存中に、このデータベースのバックアップを自動的に作成します。さらに、システムは夜間に完全バックアップも作成します。

これらのバックアップのデフォルトの場所は ~/home/Ericom/Shield です。

デフォルトの場所の変更

これらのバックアップの場所を変更するには、custom-management.yamlを編集します。 ローカルバックアップパスを更新するためのファイル( ~/ericomshield にあります)。localPath 変数(consulBackup セクションの下にあります) のコメントを解除し、指定されたパスに設定します:

localPath: <SPECIFIC_FOLDER_PATH>

localPath:<SPECIFIC_FOLDER_PATH>変更を保存し、Shieldをデプロイします:

./deploy-shield.sh

リモートバックアップ

Shieldは、バックアップファイルのリモート記憶域としてSFTP をサポートしています。次の手順に従って、システムのバックアップ設定を定義します。

この目的のために専用アカウントを作成します。このアカウントは、バックアップファイルを保存し、Shieldの復元時にこれらのファイルを取得するために使用されます。

SFTP サーバで、SSH キーを作成します。詳細は こちら を参照してください。

Rancher Serverマシンで、custom-management.yaml ( ~/ericomshield にあります) を編集します。 SFTP アカウント(バックアップパス、SFTP サーバIP およびユーザ名) を設定し、SSH 秘密鍵をコピーします。更新すべき設定には <> のマークが付けられています:

remotePath: "<BACKUP_PATH>"
    config: |
  rclone.conf: |
  [SFTPStorage]
  type = sftp
  host = <SFTP_SERVER_IP>
  user = <SFTP_USERNAME>
  key_file = /keys/key_file.pem

key: |
    key_file.pem: |
    ----BEGIN RSA PRIVATE KEY-----
    <PRIVATE_KEY>
    ----END RSA PRIVATE KEY-----

localPath:<SPECIFIC_FOLDER_PATH>変更を保存し、Shieldをデプロイします:

./deploy-shield.sh

参考

yamlファイルを編集する場合、余分な文字(空白やタブなど)を避けることが重要です。また、このファイルをバックアップすることをお勧めします。

Shield設定の復元

システム障害が発生した場合、再起動時に、Shieldは直前のバックアップからの復元を自動的に試みます。

特定のバックアップファイルを使用して 手動 復元を実行するには、次の手順に従います:

Administration Console で、Settings | Restore に移動します。

復元するファイルを選択してアップロードし、Restore Shield を選択します。

詳細は`こちら <../deploymentguide/Admin/settings.html#id25>`_ を参照してください。

Shieldログ

システムは、ログデータのスナップショットを毎時/毎日/毎週のスケジュールで自動的に取得します。これらのスナップショットは ~/var/elk/snapshots にローカルに保存されます。

設定は custom-values-elk.yaml ファイル(~/ericomshield にあります) で定義されています。カスタマイズするには、最新の custom-values-elk.yaml ファイルを取得し、関連する設定を編集します。

curl -s -o custom-values-elk.yaml https://raw.githubusercontent.com/EricomSoftwareLtd/Shield/Rel-20.03/Kube/scripts/custom-values-elk.yaml

参考

yamlファイルを編集する場合、余分な文字(空白やタブなど)を避けることが重要です。また、このファイルをバックアップすることをお勧めします。

../_images/snapshotsettings3.png

デフォルトの場所の変更

これらのバックアップの場所を変更するには、elasticsearchSnapshotPath 設定をローカルにマウントされたNFSフォルダに更新します。

デフォルトスケジュールの変更

バックアップスケジュール設定をカスタマイズするには、fullSnapshotSchedule および dailySnapshotSchedule 設定をそれぞれ更新します( CRON 構文を使用)。

Shieldログの復元

ログデータが失われ、復元する必要がある場合は、Admin | Reports | Advanced およびKibanaを開きます。 Kibana | Dev Tools | Console 以下の手順に従ってください。Kibanaコンソールにクエリを入力し、矢印を押します。例:

../_images/kibana13.png
  1. 登録されているすべてのリポジトリをリストして、目的のリポジトリが登録されているかどうかを確認します。

    GET _cat/repositories
    
  2. 前述の検索結果から目的のリポジトリが見つからないが、ファイルシステムに存在する場合は、そのリポジトリを登録します:

    PUT /_snapshot/<REPOSITORY_NAME>
    {
        "type": "fs",
        "settings": {
            "location": "REPOSITORY_NAME",
            "compress": true
        }
    }
    
  3. リポジトリ内のスナップショットの一覧表示:

    GET _cat/snapshots/<REPOSITORY_NAME>
    
  4. 特定のスナップショットの復元:

    POST /_snapshot/<REPOSITORY_NAME>/<SNAPSHOT_NAME>/_restore
    {
        "indices": "-.*kibana*",
        "ignore_unavailable": true
    }
    

詳しくは、こちら を参照してください。