5.22.2.4. バックエンドの Redis データベースのバックアップ
Velero のアノテーションを設定し、必要なリソースを含むバックアップ CR を作成することで、バックエンドの Redis データベースをバックアップします。これは、復旧シナリオに備えて 3scale バックエンドの Redis データを保持するのに役立ちます。
前提条件
- Red Hat 3scale API Management Operator をバックアップした。
- MySQL データベースをバックアップした。
- バックアップを実行する前に、Redis キューが空になっている。
手順
次のコマンドを実行して、
backend-redisデプロイメントのアノテーションを編集します。$ oc edit deployment backend-redis -n threescaleannotations: post.hook.backup.velero.io/command: >- ["/bin/bash", "-c", "redis-cli CONFIG SET auto-aof-rewrite-percentage 100"] pre.hook.backup.velero.io/command: >- ["/bin/bash", "-c", "redis-cli CONFIG SET auto-aof-rewrite-percentage 0"]Redis データベースをバックアップするために、次の設定を含む YAML ファイルを作成します。
apiVersion: velero.io/v1 kind: Backup metadata: name: redis-backup namespace: openshift-adp spec: csiSnapshotTimeout: 10m0s defaultVolumesToFsBackup: true includedNamespaces: - threescale includedResources: - deployment - pods - replicationcontrollers - persistentvolumes - persistentvolumeclaims itemOperationTimeout: 1h0m0s labelSelector: matchLabels: app: 3scale-api-management threescale_component: backend threescale_component_element: redis snapshotMoveData: false snapshotVolumes: false ttl: 720h0m0sname-
バックアップ内の
metadata.nameパラメーターの値を指定します。Redis データベースを復元する際に、metadata.backupNameパラメーターにこの値を使用してください。
次のコマンドを実行して、Redis データベースをバックアップします。
$ oc create -f redis-backup.yaml出力例
backup.velero.io/redis-backup created
検証
次のコマンドを実行して、Redis のバックアップが完了したことを確認します。
$ oc get backups.velero.io redis-backup -o yaml出力例
status: completionTimestamp: "2025-04-17T13:25:19Z" errors: 1 expiration: "2025-05-17T13:25:16Z" formatVersion: 1.1.0 hookStatus: {} phase: Completed progress: {} startTimestamp: "2025-04-17T13:25:16Z" version: 1