3.2. Fuse Online 環境のバックアップ

Fuse Online を定期的にバックアップするよう設定できます。

  • Fuse Online がコネクションとインテグレーションを保存する内部 PostgreSQL データベース。
  • syndesis-operator によって作成され、Fuse Online の実行に必要な OpenShift リソース。これには、設定マップ、デプロイメント設定、およびサービスアカウントが含まれますが、これらに限定されません。

Fuse Online をインストールする前に Fuse Online 環境のバックアップを設定するか、Fuse Online 環境の設定を変更してバックアップを有効することができます。

Fuse Online がバックアップを実行するように設定されている場合、Fuse Online はデータを単一のファイルに圧縮し、そのファイルを指定した Amazon S3 バケットにアップロードします。新しい Fuse Online 環境 (コネクションやインテグレーションが定義されていない) にバックアップを適用して、バックアップした Fuse Online 環境を復元できます。

前提条件

  • OCP がオンサイトで稼働している必要があります。
  • oc クライアントツールがインストール済みで、Fuse Online が稼働中または稼働予定の OCP クラスターに接続されている必要があります。
  • クラスター管理者権限を持つユーザーは、該当ユーザーがクラスターでアクセス権限を持つプロジェクトに Fuse Online をインストールするための権限を付与済みである必要があります。
  • AWS アクセスキーと AWS シークレットキーが必要です。これらのクレデンシャルの取得に関する詳細は、IAM ユーザーのアクセスキーの管理 を参照してください。
  • アップロードする S3 バケットが存在する AWS リージョンを知っておく必要があります。
  • バックアップのアップロード先の S3 バケットの名前を知っておく必要があります。

手順

  1. Fuse Online をインストールする権限を持つアカウントで OpenShift にログインします。以下に例を示します。

    oc login -u developer -p developer

  2. バックアップを設定する Fuse Online 環境を稼働中または稼働予定の OpenShift プロジェクトに切り替えます。以下に例を示します。

    oc project my-fuse-online-project

  3. OpenShift シークレットを作成します。コマンドラインで以下を行います。

    • 以下のコマンド形式で syndesis-backup-s3 を指定します。
    • AWS 変数を、AWS アクセスキー、AWS シークレットキー、バケットがある AWS リージョン、およびバケットの名前に置き換えます。

      以下のコマンド形式を使用してシークレットを作成します。

      oc create secret generic syndesis-backup-s3 \
      --from-literal=secret-key-id="my-aws-access-key" \
      --from-literal=secret-access-key="my-aws-secret-key" \
      --from-literal=region="aws-region" \
      --from-literal=bucket-name="aws-bucket-name"

      このシークレットは、バックアップジョブの実行中に存在する必要があります。

  4. Fuse Online がインストールされていない場合は、default-cr.yml ファイルを編集してバックアップを有効にする必要があります。Fuse Online をインストールする前にデフォルトのカスタムリソースファイルを編集 を参照してください。Fuse Online のインストール後、カスタムリソースに指定したスケジュールに応じてバックアップジョブが発生します。

    Fuse Online が稼働している場合、syndesis カスタムリソースを編集する必要があります。

    1. 以下のコマンドを実行して、エディターで syndesis カスタムリソースを開きます。

      oc edit syndesis

    2. 以下を spec: の下に追加します。

      backup:
        schedule: my-backup-interval

      my-backup-interval をバックアップの間隔に置き換えます。以下を参照して、バックアップの間隔を指定する方法を判断してください。

      • cron を使用して事前設定されたスケジュール (英語)
      • cron で設定する間隔 (英語)

        間隔の前に @ 記号を指定しないでください。たとえば、毎日バックアップを行うよう設定するには、カスタムリソースに以下のような記述が含まれるようにします。

        apiVersion: syndesis.io/v1beta1
        kind: Syndesis
        metadata:
          name: app
        spec:
          backup:
            schedule: daily
  5. ファイルを保存します。

    これにより、バックアップジョブが syndesis-operator に追加されます。

結果

Fuse Online がすでに稼働している場合、定義したスケジュールに応じて Fuse Online のバックアップジョブが実行されます。

次のステップ

Fuse Online をインストールする必要がある場合は、default-cr.yml ファイルを編集して、その他の必要な機能を有効にしたり、他のパラメーターを設定したりします。Default-cr.yml ファイルにすべての設定がある場合は、OpenShift シークレットの作成時に指定したプロジェクトで Fuse Online をインストールします。