ポータル・データベース・バックアップの構成

apicup コマンドを使用して、 VMwareでのスケジュール済みポータル・データベース・バックアップを構成します。

このタスクについて

インストール前 (ポータル ISO ファイルを作成する前) またはインストール後に、ポータル・データベースのバックアップ設定を構成できます。

ポータル・データベースのバックアップ設定はいつでも更新できます。

  • ポータル・データベース・バックアップ用にサポートされるリモート・ストレージ:
    • IBM Cloud Object Storage
    • AWS S3
  • SFTP。 SFTP 用の OpenSSH 鍵認証がサポートされています。
重要: ポータル・データベースのバックアップのみを災害復旧に使用することはできません。 また、常に最新の プロジェクト・ディレクトリーのバックアップがあることを確認してください。

手順

  1. API Connect プロジェクト・ディレクトリーから、以下のコマンドを実行して、リモート・バックアップの場所とスケジュールを設定します。
    apicup subsys set <subsystem name> <property>=<value>
    例:
    apicup subsys set ptl site-backup-host=mybackuphost.com
    apicup subsys set ptl site-backup-port=22
    apicup subsys set ptl site-backup-auth-user=mybackupauthusername
    apicup subsys set ptl site-backup-auth-pass=mybackupauthpassword
    apicup subsys set ptl site-backup-path=/site-backups
    apicup subsys set ptl site-backup-protocol=sftp
    apicup subsys set ptl site-backup-certs=<custom-s3-server-CA-cert>
    apicup subsys set ptl site-backup-s3-uri-style=<host-or-path>
    apicup subsys set ptl site-backup-schedule="0 2 * * *"
    apicup subsys set ptl site-priority-list=portal.a1.example.com/test-1/spacecatalog,portal.a1.example.com/test-4/cat3,portal.a1.example.com/test-3/cat1
    apicup certs set <subsystem name> site-backup-auth-ssh-key <ssh-key-file-path>

    次の表で、バックアップ・パラメーターについて詳しく説明します。

    表 1. ポータル・バックアップ・パラメーター
    パラメーター 説明
    site-backup-host バックアップ・サーバーの完全修飾ドメイン名 (小文字のみ)。
    • objstore タイプのバックアップの場合、対応する S3 リージョンを持つ S3 エンドポイントを <S3endpoint>という形式で指定するか、オプションの S3 リージョンを <S3endpoint>/<S3region>という形式で指定します。
      apicup subsys set ptl site-backup-host=s3.eu-gb.cloud-object-storage.appdomain.cloud
      または
      apicup subsys set ptl site-backup-host=s3.cloud-object-storage.appdomain.cloud/eu-gb
    • sftp タイプの場合、SFTP サーバーのホスト名
      apicup subsys set ptl site-backup-host=my.sftp.backup.domain.example.com
    注: S3 のオブジェクトストアが AWS S3 で、エンドポイントが2019年3月20日以降に作成された地域のリストからのものである場合、 AWS がこれらの地域の地域エンドポイントを使用するため、 S3 のエンドポイントは s3.<S3region>.amazonaws.com の形式である必要があります。 接続性やデータ・アクセスに問題が生じないよう、エンドポイントで正しいリージョンを使用するようにしてください。 この場合、ホストは s3.<S3region>.amazonaws.com/<S3region>
    site-backup-port site-backup-host に接続するためのプロトコル用のポート。 明示的に設定されない場合、デフォルトは 22 です。 バックアップ・ポートはオブジェクト・ストレージには必要ありませんが、指定する場合、通常はポート 443 です。
    apicup subsys set ptl site-backup-port=22
    site-backup-auth-user site-backup-hostで指定されたホストのユーザー名。 オブジェクト・ストアを使用している場合、ユーザー名は S3 秘密鍵 ID です。
    apicup subsys set ptl site-backup-auth-user=<user_name>
    site-backup-auth-pass site-backup-hostで指定されているホストのパスワード。 オブジェクト・ストアを使用している場合、パスワードは S3 秘密アクセス・キー・パラメーターです。 パスワードは、Base64 エンコード形式で保管されます。このパスワードを apiconnect-up.yml ファイルで直接編集しないでください。
    apicup subsys set ptl site-backup-auth-pass=password
    site-backup-auth-ssh-key SFTP を使用したデータベース・バックアップ用の OpenSSH 鍵。
    重要:
    • この値を設定するには、 apicup certs を使用します。 apicup subsysは使用しないでください。
    • OpenSSH 鍵のみがサポートされます。1
    apicup certs set ptl site-backup-auth-ssh-key=<ssh-key-file-path>
    site-backup-path リモート・ホスト上のバックアップの場所:
    • S3 -バックアップ・データを保管する S3 バケットの名前。オプションで、その後に / と、バケット内の任意のサブディレクトリーが続きます。 有効な例:
      bucket
      bucket/path
      bucket/lots/of/paths

      例:

      apicup subsys set ptl site-backup-path=apic-backup
    • SFTP-SFTP サーバー上のフォルダーの絶対パス。 /から始まります。
      apicup subsys set ptl site-backup-path=</folder>

    バックアップ設定でファイル・パスを指定する場合は、必ずパス内のブランク・スペースをエスケープしてください。

    site-backup-protocol リモート・バックアップ・エンドポイントとの通信に使用されるプロトコル。 以下のいずれかの値を指定します。
    • sftp - Secure File Transfer Protocol
    • local -ローカル・ストレージ用
    • objstore - S3 互換オブジェクト・ストレージ
    v10.0.3.0以降、デフォルト・プロトコルは local です (以前のリリースでは sftp がデフォルトとして使用されていました)。 例:
    apicup subsys set ptl site-backup-protocol=local
    site-backup-certs アップストリーム・カスタム・オブジェクト・ストア CA 証明書を含むカスタム証明書の名前。

    このフィールドは、アップストリーム・カスタム S3 CA 証明書を含む Kubernetes シークレットの名前を受け入れます。 シークレットの鍵は ca.crt でなければならず、値は CA 証明書の base64-encoded 値です。

    オブジェクト・ストアが提示するサーバー証明書が既知の CA によって署名されており、チェーン内に中間証明書が含まれている場合は、CA 証明書を提供する必要はありません。 オブジェクト・ストアが使用する CA 証明書が分からない場合は、 site-backup-certs を設定せずにポータル・データベース・バックアップを構成し、バックアップが機能し、TLS エラーがログに記録されていないことを確認します。

    CA 証明書を提供する必要がある場合は、以下のように、秘密の ca.crt メンバーにチェーン全体を提供する必要があります。
    intermediate-certificate-1
    intermediate-certificate-2
    . . .
    intermediate-certificate-n
    root-certificate

    ここで、 ca.crt メンバー内の最初の証明書 (intermediate-certificate-1) はオブジェクト・ストア・サーバー証明書の発行者であり、 ca.crt メンバー内の後続の各証明書は先行する証明書の発行者です。 ca.crt メンバー内のルート証明書は、自己署名証明書でなければなりません。

    中間証明書がない場合、 ca.crt メンバーにはルート証明書のみが含まれます。

    CA 証明書を作成して割り当てるには、以下の手順を実行します。
    1. ポータル VM にログインします。 3 つのレプリカ ・デプロイメントがある場合は、いずれかのポータル VM にログインします。
      ssh apicadm@<portal vm hostname>
    2. root ユーザーに切り替えます。
      sudo -i
    3. ca.crtファイルをコピーオーバーするか、VM上で同名のファイルを作成し、その内容をペーストする。
    4. ca.crtファイルからKubernetesシークレットを作成する:
      kubectl create secret generic custom-portal-objstore-ca --from-file=ca.crt=/path/to/ca.crt
    5. 生成されたKubernetesシークレットのバックアップを取る:
      kubectl get secret custom-portal-objstore-ca -o yaml > custom-portal-objstore-ca.yaml

      生成された'custom-portal-objstore-ca.yamlファイルをプロジェクト・ディレクトリに置いておく。

    6. VM を終了し、 site-backup-certs プロパティーを custom-portal-objstore-caに設定します。
      apicup subsys set ptl site-backup-certs=custom-portal-objstore-ca
    site-backup-s3-uri-style

    オブジェクト・ストアにのみ適用されます。

    site-backup-s3-uri-style はオプションのプロパティーです。

    オブジェクト・ストア・バックアップの URI でホストまたはパスの値を使用するかどうかを示します。 指定しない場合、デフォルトは hostになります。

    有効な値: host および path

    一部のカスタム・オブジェクト・ストア・プロバイダーでは、URI スタイルを pathに設定する必要があります。 例えば、 MinIO は、 host スタイルと path スタイルの両方のセットアップをサポートします。 MinIO S3 サーバーを作成して、 path スタイルのクライアント通信のみを受け入れることができます。

    重要: このプロパティーを設定する前に、オブジェクト・ストア管理者に連絡してください。 適切に構成されていない場合、オブジェクト・ストアはクライアントからの接続を拒否できます。
    site-backup-schedule ポータルの自動バックアップが実行される頻度のスケジュール。 スケジュールの形式は、以下のように有効な cron ストリングです。
    * * * * *
    - - - - -
    | | | | |
    | | | | +----- day of week (0 - 6) (Sunday=0)
    | | | +------- month (1 - 12)
    | | +--------- day of month (1 - 31)
    | +----------- hour (0 - 23)
    +------------- min (0 - 59)
    例えば、 30 22 * * 1 は月曜日の 22:00 にバックアップを実行します。

    デフォルトのバックアップ・スケジュールは 0 2 * * * (毎日 02:00 に実行) です。

    バックアップのタイム・ゾーンは協定世界時です。

    apicup subsys set ptl site-backup-schedule="0 2 * * *"
    site-priority-list 優先してリストアするサイトのリスト (オプション)。 デフォルト: 空。
    apicup subsys set <subsystem name> site-priority-list <comma-separated-list-of-sites>

    例:

    apicup subsys set ptl site-priority-list portal.a1.example.com/e2etest-1/spacecatalog,portal.a1.example.com/e2etest-4/cat3,portal.a1.example.com/e2etest-3/cat1
  2. apicup get コマンドを使用して、ポータル・バックアップ設定を確認できます。
    apicup subsys get <subsystem name>

    このコマンドの出力には、すべてのサブシステム設定 (バックアップなど) がリストされ、エラーがあるかどうかが示されます。 続行する前に、すべてのエラーを修正してください。

    SFTP の場合、SSH 鍵を表示するには、以下のように apicup certs コマンドを使用します。
    apicup certs get ptl site-backup-auth-ssh-key
  3. 次のコマンドを実行して、新しいバックアップ・パラメーターが設定されたインストールを検証します。
    apicup subsys get <subsystem name> --validate

    無効な値を訂正してから続行してください。

  4. 次のコマンドを実行して、バックアップ設定をアクティブ化します。
    apicup subsys install <subsystem name>
  5. 変更が正常に適用されたことを確認します。
    apicup subsys health-check <subsystem name>
1 PuTTY スタイルのキーは、 PuTTY Key Generator ( PuTTYgen ) アプリケーションを使用して OpenSSH に変換できます。 https://www.puttygen.com/.