5.5.4. legacy-aws Velero プラグインの使用
AWS S3 互換の Backup Storage Location を使用している場合、アプリケーションのバックアップ中に SignatureDoesNotMatch エラーが発生する可能性があります。このエラーは、一部の Backup Storage Location で、新しい AWS SDK for Go V2 と互換性のない古いバージョンの S3 API がまだ使用されているために発生します。この問題を解決するには、DataProtectionApplication カスタムリソース (CR) で legacy-aws Velero プラグインを使用できます。legacy-aws Velero プラグインは、従来の S3 API と互換性のある古い AWS SDK for Go V1 を使用します。これによりバックアップが正常に実行されます。
5.5.4.1. DataProtectionApplication CR で legacy-aws Velero プラグインを使用する リンクのコピーリンクがクリップボードにコピーされました!
次のユースケースでは、legacy-aws Velero プラグインを使用して DataProtectionApplication CR を設定し、アプリケーションをバックアップします。
選択した Backup Storage Location に応じて、DataProtectionApplication CR で legacy-aws または aws プラグインのいずれかを使用できます。DataProtectionApplication CR で両方のプラグインを使用すると、aws and legacy-aws can not be both specified in DPA spec.configuration.velero.defaultPlugins というエラーが発生します。
前提条件
- OADP Operator がインストールされている。
- バックアップの場所として AWS S3 互換のオブジェクトストレージが設定されている。
- 別の namespace で実行されているデータベースを持つアプリケーションがある。
手順
次の例に示すように、
legacy-awsVelero プラグインを使用するようにDataProtectionApplicationCR を設定します。apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: oadp-backup namespace: openshift-adp spec: configuration: nodeAgent: enable: true uploaderType: kopia velero: defaultPlugins: - legacy-aws - openshift - csi defaultSnapshotMoveData: true backupLocations: - velero: config: profile: "default" region: noobaa s3Url: https://s3.openshift-storage.svc s3ForcePathStyle: "true" insecureSkipTLSVerify: "true" provider: aws default: true credential: key: cloud name: cloud-credentials objectStorage: bucket: <bucket_name> prefix: oadp各項目の説明:
legacy-aws-
legacy-awsプラグインを使用するように指定します。 <bucket_name>- バケット名を指定します。
次のコマンドを実行して、
DataProtectionApplicationCR を作成します。$ oc apply -f <dpa_filename>次のコマンドを実行して、
DataProtectionApplicationCR が正常に作成されたことを確認します。出力例から、statusオブジェクトのtypeフィールドがReconciledに設定され、statusフィールドが"True"に設定されていることがわかります。このステータスは、DataProtectionApplicationCR が正常に作成されたことを示します。$ oc get dpa -o yaml出力例
apiVersion: v1 items: - apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: namespace: openshift-adp #...# spec: backupLocations: - velero: config: #...# status: conditions: - lastTransitionTime: "20....9:54:02Z" message: Reconcile complete reason: Complete status: "True" type: Reconciled kind: List metadata: resourceVersion: ""次のコマンドを実行して、Backup Storage Location (BSL) が使用可能であることを確認します。
$ oc get backupstoragelocations.velero.io -n openshift-adp次の例のような出力が表示されます。
NAME PHASE LAST VALIDATED AGE DEFAULT dpa-sample-1 Available 3s 15s true次の例に示すように、
BackupCR を設定します。apiVersion: velero.io/v1 kind: Backup metadata: name: test-backup namespace: openshift-adp spec: includedNamespaces: - <application_namespace>各項目の説明:
<application_namespace>- バックアップするアプリケーションの namespace を指定します。
次のコマンドを実行して
BackupCR を作成します。$ oc apply -f <backup_cr_filename>
検証
次のコマンドを実行して、バックアップオブジェクトが
Completedフェーズにあることを確認します。詳細は、出力例を参照してください。$ oc describe backups.velero.io test-backup -n openshift-adp出力例
Name: test-backup Namespace: openshift-adp # ....# Status: Backup Item Operations Attempted: 1 Backup Item Operations Completed: 1 Completion Timestamp: 2024-09-25T10:17:01Z Expiration: 2024-10-25T10:16:31Z Format Version: 1.1.0 Hook Status: Phase: Completed Progress: Items Backed Up: 34 Total Items: 34 Start Timestamp: 2024-09-25T10:16:31Z Version: 1 Events: <none>