Red Hat Ansible Automation Platform Operator バックアップおよびリカバリーガイド
OpenShift Container Platform 上の Ansible Automation Platform Operator のバックアップとリカバリーによりデータ損失を保護する
概要
はじめに リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Ansible Automation Platform に興味をお持ちいただきありがとうございます。Ansible Automation Platform は、Ansible を装備した環境に、制御、ナレッジ、委譲の機能を追加して、チームが複雑かつ複数層のデプロイメントを管理できるように支援する商用サービスです。
このガイドの手順を使用して、障害が発生した場合に Red Hat Ansible Automation Platform デプロイメントを復旧するために使用できるバックアップリソースを作成します。
Red Hat ドキュメントへのフィードバック (英語のみ) リンクのコピーリンクがクリップボードにコピーされました!
このドキュメントの改善に関するご意見がある場合や、エラーを発見した場合は、https://access.redhat.com から Technical Support チームに連絡してください。
第1章 Red Hat Ansible Automation Platform のバックアップと復元 リンクのコピーリンクがクリップボードにコピーされました!
予期しないデータ損失やアプリケーションエラーから保護するには、Red Hat Ansible Automation Platform デプロイメントの定期的なバックアップを実行することが重要です。データ損失の防止に加えて、バックアップを使用すると、別のデプロイメント状態にフォールバックできます。
1.1. バックアップおよびリカバリーについて リンクのコピーリンクがクリップボードにコピーされました!
Red Hat は、データの損失を防ぐために、Red Hat OpenShift Container Platform 環境で Red Hat Ansible Automation Platform のデプロイメントをバックアップすることが推奨されます。
Red Hat Ansible Automation Platform デプロイメントのバックアップリソースには、以下が含まれます。
-
Ansible Automation Platform カスタムリソースオブジェクトの
specセクションにおける特定値のカスタムデプロイメント -
postgresqlデータベースのバックアップ -
secret_key、admin_password、およびbroadcast_websocketシークレット - データベースの設定
機密情報が含まれている可能性があるため、バックアップリソースを必ず保護してください。
1.1.1. バックアップの推奨事項 リンクのコピーリンクがクリップボードにコピーされました!
データ損失から復旧するには、定期的に Red Hat Ansible Automation Platform デプロイメントのバックアップリソースを計画して作成する必要があります。少なくとも、Red Hat は、以下の状況で Red Hat Ansible Automation Platform のデプロイメントをバックアップすることを推奨しています。
- Red Hat Ansible Automation Platform デプロイメントをアップグレードする前に
- Openshift クラスターをアップグレードする前に
- 1 週間に 1 回。これは、環境が自動アップグレード用に設定されている場合に特に重要です。
第2章 Red Hat Ansible Automation Platform バックアップリソースの作成 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Ansible Automation Platform デプロイメントをバックアップするには、デプロイされたインスタンスのバックアップリソースを作成する必要があります。以下の手順を使用して、Red Hat Ansible Automation Platform デプロイメントのバックアップリソースを作成します。Ansible Automation Platform Operator をアップグレードする前に、バックアップを作成することが推奨されます。プラットフォームを以前の状態に復元する場合に備えて、定期的にバックアップを作成してください。
2.1. Automation Controller デプロイメントのバックアップ リンクのコピーリンクがクリップボードにコピーされました!
この手順を使用して、ジョブ、インベントリー、認証情報を含むコントローラーのデプロイメントをバックアップします。
前提条件
- OpenShift クラスターで認証されている。
- クラスターに Ansible Automation Platform Operator をインストールした。
- Ansible Automation Platform Operator を使用して Automation Controller をデプロイした。
手順
- Red Hat OpenShift Container Platform にログインします。
- → に移動します。
- Ansible Automation Platform Operator のデプロイメントを選択します。
- Automation Controller Backup タブを選択します。
- をクリックします。
- バックアップの Name を入力します。
- Deployment name フィールドに、バックアップされているデプロイされた Ansible Automation Platform インスタンスの AutomationController カスタムリソースオブジェクトの名前を入力します。この名前は、AutomationController オブジェクトの作成 時に作成されました。
事前に作成したカスタムの pvc を使用する必要がある場合は、以下を行います。
- 必要に応じて、バックアップ永続ボリュームクレーム の名前を入力します。
必要に応じて、バックアップ PVC ストレージ要件 と バックアップ PVC ストレージクラス を入力します。
注記pvc やストレージクラスが指定されていない場合は、クラスターのデフォルトのストレージクラスを使用して pvc が作成されます。
大規模なデータベースがある場合は、それに応じて、バックアップ管理 Pod のリソース要件 でストレージ要求を指定します。
注記postgres Pod 内で次のコマンドを実行すると、既存の postgres データベースデータディレクトリーのサイズを確認できます。
df -h | grep "/var/lib/pgsql/data"
$ df -h | grep "/var/lib/pgsql/data"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
をクリックします。
指定したデプロイメントのバックアップ tarball が作成され、データの復旧またはデプロイメントのロールバックに使用できます。今後のバックアップは、同じ pvc の別の tar ファイルに保存されます。
検証
- Red Hat OpenShift Container Platform にログインします
- → に移動します。
- Ansible Automation Platform Operator を選択します。
- AutomationControllerBackup タブを選択します。
- 確認するバックアップリソースを選択します。
Conditions までスクロールし、Successful ステータスが
Trueであることを確認します。注記ステータスが
Failureであれば、バックアップは失敗しています。問題を解決するには、Automation Controller の Operator ログでエラーを確認してください。
2.2. YAML を使用した Automation Controller デプロイメントのバックアップ リンクのコピーリンクがクリップボードにコピーされました!
YAML を使用して Automation Controller のデプロイメントをバックアップする方法については、次の手順を参照してください。
前提条件
- OpenShift クラスターで認証されている。
- クラスターに Ansible Automation Platform Operator をインストールした。
- Ansible Automation Platform Operator を使用して Automation Controller をデプロイした。
手順
次の内容を含む "backup-awx.yml" という名前のファイルを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記上記の "deployment_name" は、バックアップ元の Automation Controller のデプロイメントの名前です。上記の namespace は、バックアップする Automation Controller デプロイメントを含む namespace です。
-
oc applyコマンドを使用して、クラスターにバックアップオブジェクトを作成します。
$ oc apply -f backup-awx.yml
2.3. Automation Hub のデプロイのバックアップ リンクのコピーリンクがクリップボードにコピーされました!
この手順を使用して、ホストされているすべての Ansible コンテンツを含むハブのデプロイメントをバックアップします。
前提条件
- OpenShift クラスターで認証されている。
- クラスターに Ansible Automation Platform Operator をインストールした。
- Ansible Automation Platform Operator を使用して Automation Hub をデプロイした。
手順
- Red Hat OpenShift Container Platform にログインします。
- → に移動します。
- Ansible Automation Platform Operator のデプロイメントを選択します。
- Automation Hub Backup タブを選択します。
- をクリックします。
- バックアップの Name を入力します。
-
バックアップされているデプロイされた Ansible Automation Platform インスタンスの デプロイメント名 を入力します。たとえば、Automation Hub のバックアップが必要で、デプロイメント名が
aap-hubの場合は、デプロイメント名 フィールドに 'aap-hub' と入力します。 事前に作成したカスタムの pvc を使用する必要がある場合は、以下を行います。
- 必要に応じて、Backup persistent volume claim、Backup persistent volume claim namespace、Backup PVC storage requirements、および Backup PVC storage class の名前を入力します。
- をクリックします。
指定したデプロイメントのバックアップが作成され、データの復旧またはデプロイメントのロールバックに使用できます。
第3章 Red Hat Ansible Automation Platform デプロイメントのリカバリー リンクのコピーリンクがクリップボードにコピーされました!
システムに関する情報を失ったり、アップグレードで問題が発生した場合は、デプロイインスタンスのバックアップリソースを使用できます。以下の手順を使用して、自動化コントローラーおよび Automation Hub のデプロイメントファイルをリカバリーします。
3.1. 自動化コントローラーのデプロイメントのリカバリー リンクのコピーリンクがクリップボードにコピーされました!
この手順を使用して、以前のコントローラーのデプロイメントを AutomationControllerBackup から復元します。指定したデプロイメント名は、作成される新しい AutomationController カスタムリソースの名前になります。
新しい AutomationController カスタムリソースに指定された名前は、既存のデプロイメントと一致することはできません。
復元されるバックアップカスタムリソースが現在実行中の AutomationController カスタムリソースのバックアップである場合、回復プロセスは失敗します。この問題を解決する手順については、トラブルシューティング を参照してください。
前提条件
- Openshift クラスターで認証されている。
- 自動化コントローラーがクラスターにデプロイされている。
- AutomationControllerBackup が、クラスター内の PVC で利用できる。
手順
- Red Hat OpenShift Container Platform にログインします。
- → に移動します。
- Ansible Automation Platform Operator のデプロイメントを選択します。
- Automation Controller Restore タブを選択します。
- をクリックします。
- リカバリーデプロイメントの Name を入力します。
復元された配置の New Deployment name を入力します。
注記これは、元のデプロイメント名とは異なる必要があります。
- Backup source to restore from を選択します。Backup CR を推奨します。
- AutomationControllerBackup オブジェクトの Backup Name を入力します。
をクリックします。
新しいデプロイメントが作成され、バックアップが復元されます。データベースのサイズにもよりますが、これには約 5 ~ 15 分かかります。
検証
- Red Hat OpenShift Container Platform にログインします
- → に移動します。
- Ansible Automation Platform Operator のデプロイメントを選択します。
- AutomationControllerRestore タブを選択します。
- 確認する復元リソースを選択します。
Conditions までスクロールし、Successful ステータスが
Trueであることを確認します。注記Successful が
Falseの場合は、リカバリーに失敗しました。問題を解決するには、Automation Controller の Operator ログでエラーを確認してください。
3.2. YAML を使用した Automation Controller デプロイメントの復元 リンクのコピーリンクがクリップボードにコピーされました!
YAML を使用して Automation Controller のデプロイメントを復元する方法については、次の手順を参照してください。
前提条件
外部データベースが、Ansible Automation Platform の現在のリリースでサポートされているバージョンの PostgreSQL データベースを指定している。
Ansible Automation Platform 2.4 は PostgreSQL 13 をサポートします。
手順
外部の postgres インスタンスの認証情報と接続情報はシークレットに保存する必要があります。この情報は、Automation Controller 仕様に設定されます。
以下のテンプレートに従って、
external-postgres-configuration-secretYAML ファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- シークレットを作成する namespace。これは、デプロイ先の namespace と同じにする必要があります。
- 2
- データベースノードの解決可能なホスト名です。
- 3
- 外部ポートのデフォルトは
5432です。 - 4
- 変数
passwordの値には、デプロイ、バックアップ、または復元中の問題を回避するために、一重引用符 (')、二重引用符 (")、またはバックスラッシュ (\) を含めないでください。 - 5
- 変数
sslmodeは、externalデータベースに対してのみ有効です。使用できる値は、prefer、disable、allow、require、verify-ca、およびverify-fullです。
oc createコマンドを使用して、external-postgres-configuration-secret.ymlをクラスターに適用します。oc create -f external-postgres-configuration-secret.yml
$ oc create -f external-postgres-configuration-secret.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow AutomationControllerRestoreカスタムリソースオブジェクトを作成する際は、以下の例に従って、仕様にシークレットを指定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3. Automation Hub デプロイメントの復元 リンクのコピーリンクがクリップボードにコピーされました!
以前の Hub デプロイメントを namespace に復元するには、この手順を使用します。指定したデプロイメント名が、作成される新しい AutomationHub カスタムリソースの名前になります。
新しい AutomationHub カスタムリソースに指定された名前は、既存のデプロイと一致しない必要があります。そうしないと、復旧プロセスが失敗します。
前提条件
- Openshift クラスターで認証されている。
- Automation Hub がクラスターにデプロイされている。
- AutomationHubBackup がクラスター内の PVC で利用できる。
手順
- Red Hat OpenShift Container Platform にログインします。
- → に移動します。
- Ansible Automation Platform Operator のデプロイメントを選択します。
- Automation Hub Restore タブを選択します。
- をクリックします。
- リカバリーデプロイメントの Name を入力します。
- Backup source to restore を選択します。Backup CR を推奨します。
- AutomationHubBackup オブジェクトの Backup Name を入力します。
- をクリックします。
新しいデプロイメントが作成され、バックアップが復元されます。
第4章 トラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
この情報を使用して、バックアップおよびリカバリー中の問題を診断および解決します。
4.1. Automation controller のカスタムリソースの名前が既存のデプロイと同じ場合 リンクのコピーリンクがクリップボードにコピーされました!
新しい AutomationController カスタムリソースに指定された名前は、既存のデプロイと一致しない必要があります。そうしないと、復旧プロセスが失敗します。
AutomationController カスタマーリソースが既存のデプロイメントと一致する場合は、次の手順を実行して問題を解決します。
手順
既存の AutomationController と関連する postgres PVC を削除します。
oc delete automationcontroller <YOUR_DEPLOYMENT_NAME> -n <YOUR_NAMESPACE> oc delete pvc postgres-13-<YOUR_DEPLOYMENT_NAME>-13-0 -n <YOUR_NAMESPACE>
oc delete automationcontroller <YOUR_DEPLOYMENT_NAME> -n <YOUR_NAMESPACE> oc delete pvc postgres-13-<YOUR_DEPLOYMENT_NAME>-13-0 -n <YOUR_NAMESPACE>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 同じ deployment_name で AutomationControllerRestore を使用します。
oc apply -f restore.yaml
oc apply -f restore.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow