B OAA/OARMのバックアップおよびリカバリの理解
この章では、バックアップおよびリカバリの方法について説明します。内容は次のとおりです。
B.1 OAA/OARMのバックアップ
Oracleでは、予期しないイベントからリカバリしてOAA/OARMシステムをリストアできるように、完全バックアップのOAA/OARMデータを定期的に取得することをお薦めします。
- ファイル・システム・データは、NFSボリュームに格納されます。このデータには、ウォレット、ボールト、インストール・プロパティおよびログが含まれます。
- ポリシーおよび構成データは、データベースに格納されます。このデータには、保証レベル、ルール、ポリシー、アクション、グループ、カスタマイズされた構成プロパティおよびトランザクション定義が含まれます。
- ランタイム・データは、データベースに格納されます。このデータには、ユーザー・プリファレンス、ユーザー・セッション、カスタム・ユーザー・アクティビティ、オンライン・トランザクションおよび処理データが含まれます。
完全バックアップは、ファイル・システム・データとデータベースのバックアップで構成されます。
Oracleでは、様々な間隔で(またはポリシーや構成の重大な変更が行われた場合に)ポリシーおよび構成データのスナップショットを取得することもお薦めします。
B.1.1 ファイル・システム・データのバックアップ
Oracleでは、予期しないイベントからリカバリしてOAA/OARMシステムをリストアできるように、OAA/OARMファイル・システム・データを定期的にバックアップすることをお薦めします。
OAA/OARMファイル・システム・データは、NFSボリューム(<NFS_CONFIG_PATH>
、<NFS_CREDS_PATH>
、<NFS_LOGS_PATH>
および<NFS_VAULT_PATH>
)に格納されます。
これらのNFSボリュームのコンテンツをバックアップするため、コピーするか、圧縮されたzipまたはtarファイルを作成し、安全でセキュアな場所にファイルを格納する必要があります。
NFSボリュームの詳細は、「NFSボリュームの構成」を参照してください。
B.1.2 ランタイム・データのバックアップ
Oracleでは、予期しないイベントからリカバリしてOAA/OARMシステムをリストアできるように、OAA/OARMランタイム・データを定期的にバックアップすることをお薦めします。
ランタイム・データをバックアップするには、標準のデータベース・バックアップ方法を使用します。
OCIベースのデータベースについては、データベースのデータのバックアップに関する項を参照してください。
OCIベース以外のデータベースについては、『バックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。
B.1.3 ポリシーおよび構成データのバックアップ
Oracleでは、予期しないイベントからリカバリしてOAA/OARMシステムをリストアできるように、OAA/OARMポリシーおよび構成データを定期的にバックアップすることをお薦めします。
ポリシーおよび構成データをバックアップするには:
<PolicyUrl>/policy/risk/v1/snapshots
REST APIエンドポイントを使用して構成のスナップショットを作成します。たとえば:curl --location --request POST '<PolicyUrl>/policy/risk/v1/snapshots/' \ --header 'Content-Type: application/json' \ --header 'Authorization: Basic <Base64Encoded(<username>:<password>)>' \ --data '{ "name":"Backup Snapshot <DATE>", "description": "This is a snapshot from <DATE>" }'
PolicyUrl
の検索および認証の詳細は、「OAA管理API」を参照してください。スナップショット・エンドポイントの詳細は、スナップショットRESTエンドポイントに関する項を参照してください。
前述のコマンドは、次のようにsnapshotId
を返します:{ "status": "201", "message": "Snapshot created successfully.", "snapshot": { "name": "Backup Snapshot <DATE>", "description": "This is a snapshot from <DATE>", "snapshotId": "3", "createTime": "<DATE>" } }
- 前に返された
snapshotId
を使用して、次のようにスナップショットをzipファイルにエクスポートします:curl --location --request GET '<PolicyUrl>/policy/risk/v1/snapshots/<snapshotId>' \ --header 'Authorization: Basic <Base64Encoded(<username>:<password>)>' >snapshot<DATE>.zip
ダウンロードしたzipファイルを安全でセキュアな場所に格納します。
B.2 OAA/OARMのリストア
システムまたはランタイム・データをリストアするには、最初にバックアップを作成しておく必要があります。「OAA/OARMのバックアップ」を参照してください。
OAA/OARMをリストアするステップは、リストアする理由と、同じOAA/OARMインストールやデータベース・インストールにリストアするか、新しいインストールやデータベース・インストールにリストアするかによって異なります。次の項では、様々なシナリオに基づくリカバリ・ステップの概要について説明します:
B.2.1 既存のインストールへのリストア
- 完全システム・リストア: ファイル・システム・データ、データベース(ランタイム・データ)、ポリシーおよび構成データの完全リストアを既存のインストールに実行する必要がある場合。これにより、最後の完全バックアップが取得された時点まで環境がリストアされます。
- 部分リストア: システム・データ、ポリシーおよび構成データ、データベース、またはそれらの組合せのいずれかのみを既存のインストールにリストアする必要がある場合。
- データベースをリストアする必要がある場合は、標準のデータベース・リカバリ方法を使用してデータベースをリストアします。詳細は、Oracle Databaseのドキュメントを参照してください。
- OAA/OARMファイル・システム・データをリストアする必要がある場合は、「OAA/OARMファイル・システム・データのリストア」の「既存のインストールへのファイル・システム・データのリストア」に従います。
- 次のコマンドを実行して、OAA/OARMポッドを再起動します:
たとえば:kubectl get deployment -n <namespace> | grep <deployment-name> | awk '{print $1}' | xargs kubectl rollout restart deployment -n <namespace>
kubectl get deployment -n oaans | grep oaainstall | awk '{print $1}' | xargs kubectl rollout restart deployment -n oaans
出力は次のようになります:deployment.apps/oaainstall-email restarted deployment.apps/oaainstall-fido restarted deployment.apps/oaainstall-oaa restarted deployment.apps/oaainstall-oaa-admin-ui restarted deployment.apps/oaainstall-oaa-kba restarted deployment.apps/oaainstall-oaa-policy restarted deployment.apps/oaainstall-push restarted deployment.apps/oaainstall-risk restarted deployment.apps/oaainstall-risk-cc restarted deployment.apps/oaainstall-sms restarted deployment.apps/oaainstall-spui restarted deployment.apps/oaainstall-totp restarted deployment.apps/oaainstall-yotp restarted deployment.apps/oaamgmt-oaa-mgmt restarted
前述のコマンドは、元のポッドを停止する前に、まず新しいOAA/OARMポッドを起動します。
次のコマンドを実行して、ポッドのステータスを確認します:kubectl get pods -n <namespace>
たとえば:kubectl gets pods -n oaans
前のポッドがすべて終了し、新しいポッドがREADY 1/1
になると、システムがリストアされます:NAME READY STATUS RESTARTS AGE oaainstall-email-75cccd89f8-9xrgs 1/1 Running 0 5m34s oaainstall-fido-68777f8cc8-pfw8c 1/1 Running 0 5m34s oaainstall-oaa-74d5669788-lj5cp 1/1 Running 0 5m34s oaainstall-oaa-admin-ui-585d55c45b-fzdvk 1/1 Running 0 5m34s oaainstall-oaa-kba-5b9db9f8db-zwkh2 1/1 Running 0 5m34s oaainstall-oaa-policy-559fb4d777-qjvwm 1/1 Running 0 5m34s oaainstall-push-6898c6cb56-l4mg2 1/1 Running 0 5m34s oaainstall-risk-cc-db558dc5c-qlh8q 1/1 Running 0 5m34s oaainstall-risk-f48b794bc-j46pz 1/1 Running 0 5m34s oaainstall-sms-659677b84b-wf7sn 1/1 Running 0 5m34s oaainstall-spui-6fc8685df9-fhp9w 1/1 Running 0 5m33s oaainstall-totp-cccd94786-622qd 1/1 Running 0 5m33s oaainstall-yotp-5fbfd55d4c-d6wqn 1/1 Running 0 5m33s oaamgmt-oaa-mgmt-94f84ccc6-gwdp2 1/1 Running 0 5m32s
- 最後のデータベース・バックアップ後に取得されたスナップショットからポリシーおよび構成データをインポートする必要がある場合は、「OAA/OARMポリシーおよび構成データのリストア」に従います。
B.2.2 新規インストールへのリストア
後続の手順を使用して次を実行できます:
- 完全システム・リストア: ファイル・システム・データ、データベース(ランタイム・データ)、ポリシーおよび構成データの完全リストアを新規インストールおよびデータベース環境に実行する必要がある場合。これにより、最後の完全バックアップが取得された時点まですべてのファイル・システム・データ、ポリシーおよび構成データ、ランタイム・データがリストアされます。
- 部分リストア: システム・データ、ポリシーおよび構成データ、データベース(ランタイム・データ)、またはそれらの組合せのいずれかのみを新規インストールにリストアする必要がある場合。
ノート:
データベースのみを新規データベース・インストールにリストアする場合でも、ステップ3に従ってOAA/OARMファイル・システム・データをリストアする必要があります。
ノート:
次の手順では、ファイル・システム・データを新しいインストール環境にリストアする場合に、その新しい環境に必要なインストールの前提条件が満たされていることを想定しています。「OAA、OARMおよびOUAをインストールするための前提条件の構成」を参照してください- データベースを新しい環境にリストアする必要がある場合は、標準のデータベース・リカバリ方法を使用してデータベースをリストアします。詳細は、Oracle Databaseのドキュメントを参照してください。
- ファイル・システム・データを新しいインストール環境にリストアする必要がある場合は、OAA/OARMインストール・ファイルをその環境にダウンロードします。「インストール・ファイルのダウンロードと管理コンテナの準備」を参照してください。
- 「OAA/OARMファイル・システム・データのリストア」の「新規インストールへのファイル・システム・データのリストア」に従って、OAA/OARMファイル・システム・データをリストアします。
- 最後のデータベース・バックアップ後に取得されたスナップショットからポリシーおよび構成データをインポートする必要がある場合は、「OAA/OARMポリシーおよび構成データのリストア」に従います。
B.2.3 インストールのクローニング
ノート:
次の手順では、ファイル・システム・データを新しいインストールにクローニングする場合に、その新しい環境に必要なインストールの前提条件が満たされていることを想定しています。「OAA、OARMおよびOUAをインストールするための前提条件の構成」を参照してください- OAA/OARMインストール・ファイルを新しいシステムにダウンロードします。「インストール・ファイルのダウンロードと管理コンテナの準備」を参照してください。
- 「OAA/OARMファイル・システム・データのリストア」の「新規インストールへのファイル・システム・データのリストア」に従って、OAA/OARMファイル・システム・データを新しいシステムにリストアします。
- 「OAA/OARMポリシーおよび構成データのリストア」に従って、ポリシーおよび構成データをリストアします。
B.2.4 OAA/OARMファイル・システム・データのリストア
OAA/OARMファイル・システム・データをリストアするには、最初にバックアップを作成しておく必要があります。「ファイル・システム・データのバックアップ」を参照してください。
既存のインストールへのファイル・システム・データのリストア
- ファイル・システム・データをバックアップからNFSボリューム
<NFS_CONFIG_PATH>
、<NFS_CREDS_PATH>
、<NFS_LOGS_PATH>
および<NFS_VAULT_PATH>
にコピーします。 <NFS_CONFIG_PATH>/installOAA.properties
ファイルを確認し、NFS、Oracle Database、OAM OAuthエンドポイントなどのすべての外部リソースが使用可能で実行中であることを確認します。- OAA管理コンテナが実行中であるかどうかを確認します:
たとえば:kubectl get pods -n <namespace> | grep oaamgmt
kubectl get pods -n oaans | grep oaamgmt
- OAA管理コンテナが実行されていない場合は、次のステップを実行する必要があります:
- installOAA.propertiesを
<NFS_CONFIG_PATH>
から$WORKDIR/oaaimages/oaa-install
ディレクトリにコピーします。 - 「管理コンテナの作成」に従って、OAA管理を起動します。
- installOAA.propertiesを
- 「既存のインストールへのリストア」のOAA/OARMポッドを再起動する手順に進みます。
新規インストールへのファイル・システム・データのリストア
- ファイル・システム・データをバックアップからNFSボリューム
<NFS_CONFIG_PATH>
、<NFS_CREDS_PATH>
、<NFS_LOGS_PATH>
および<NFS_VAULT_PATH>
にコピーします。 <NFS_CONFIG_PATH>/installOAA.properties
ファイルを確認し、NFS、Oracle Database、OAM OAuthエンドポイントなどのすべての外部リソースが使用可能で実行中であることを確認します。ノート:
新しいシステムやデータベースにリストアする場合は、関連するすべてのパラメータが新しいシステムやデータベースを参照していることを確認してください。<NFS_LOGS_PATH>/status.info
ファイルを削除します。- installOAA.propertiesを
<NFS_CONFIG_PATH>
から$WORKDIR/oaaimages/oaa-install
ディレクトリにコピーします。 - 「管理コンテナの作成」に従って、OAA管理コンテナを起動します。
- OAA管理コンテナ内からOAAインストール・スクリプトを実行します。「OAA、OARMおよびOUAのデプロイ」を参照してください。これにより、リストアされたOAA/OARMファイル・システム・データに基づいて新しいデプロイメントが作成されます。
B.2.5 OAA/OARMポリシーおよび構成データのリストア
ポリシーおよび構成データをリストアするには、以前にスナップショットを作成しているか、前のバックアップからのスナップショットzipファイルを保持している必要があります。
ノート:
次のステップを実行する前に、現在のポリシーおよび構成データのスナップショットを取得することをお薦めします。「ポリシーおよび構成データのバックアップ」を参照してください。前のsnapshotIdからのリストア
snapshotId
からリストアするには:curl --location --request POST '<PolicyUrl>/policy/risk/v1/snapshots/<snapshotId>/apply' \
--header 'Authorization: Basic <Base64Encoded(<username>:<password>)>' \
--data ''
PolicyUrl
の検索および認証の詳細は、「OAA管理API」を参照してください。
スナップショット・エンドポイントの詳細は、スナップショットRESTエンドポイントに関する項を参照してください。
スナップショットzipファイルからのリストア
- スナップショットzipファイルをインポートします:
curl --location --request POST '<PolicyUrl>/policy/risk/v1/snapshots/' \ --header 'Content-Type: application/octet-stream' \ --header 'Authorization: Basic <Base64Encoded(<username>:<password>)>' \ --data-binary '@<PATH>/snapshot<DATE>.zip'
これにより、snapshotId
が返されます:{ "status": "201", "message": "Snapshot created successfully.", "snapshot": { "name": "Backup Snapshot <DATE>", "description": "This is a snapshot from <DATE>", "snapshotId": "4", "createTime": "<DATE>" } }
- スナップショットを適用します:
curl --location --request POST '<PolicyUrl>/policy/risk/v1/snapshots/<snapshotId>/apply' \ --header 'Authorization: Basic <Base64Encoded(<username>:<password>)>' \ --data ''
出力は、次のようなものです:{ "serverResponseTime": 1683106368000, "clientContext": { "invocationContext": { "createTime": 1683106335536, "invocationId": "d61f7f30-a264-4be0-bb2d-9e5e88c58d19", "traceDataXml": "<OARMInvocationContext><invocationId><![CDATA[d61f7f30-a264-4be0-bb2d-9e5e88c58d19]]></invocationId><locale></locale><createTime><DATE></createTime></OARMInvocationContext>" }, "sessionContext": { "sessionId": "", "clientId": "", "clientVersion": "", "userPrincipal": "", "ipAddress": "", "userAgent": "", "createTime": 1683106335537, "appName": "UASPolicyApi", "accessControlledRole": false, "orgAccessList": [], "roles": [], "traceDataXml": "<OARMSessionContextOARMSessionContext><clientId></clientId><userAgentString></userAgentString><userPrincipal></userPrincipal><roles><![CDATA[[]]]></roles><ip></ip><clientVersion></clientVersion><createTime><DATE></createTime></OARMSessionContextOARMSessionContext>" }, "taskContext": { "taskId": "d61f7f30-a264-4be0-bb2d-9e5e88c58d19", "createTime": 1683106335536, "traceDataXml": "<OARMTaskContext><taskId><![CDATA[d61f7f30-a264-4be0-bb2d-9e5e88c58d19]]></taskId><createTime><DATE></createTime></OARMTaskContext>" }, "traceDataXml": "<clientContext><OARMSessionContextOARMSessionContext><clientId></clientId><userAgentString></userAgentString><userPrincipal></userPrincipal><roles><![CDATA[[]]]></roles><ip></ip><clientVersion></clientVersion><createTime><DATE></createTime></OARMSessionContextOARMSessionContext><OARMTaskContext><taskId><![CDATA[d61f7f30-a264-4be0-bb2d-9e5e88c58d19]]></taskId><createTime><DATE></createTime></OARMTaskContext><OARMInvocationContext><invocationId><![CDATA[d61f7f30-a264-4be0-bb2d-9e5e88c58d19]]></invocationId><locale></locale><createTime><DATE></createTime></OARMInvocationContext></clientContext>" }, "object": true, "error": false, "success": true, "oarmmessages": [], "warning": false, "serverVersion": "11.1.1.2.0", "systemError": false, "serverId": "oaainstall-oaa-policy-77bccf774b-48b6s/10.244.1.206", "traceDataXml": "<OARMResponse><serverId><![CDATA[oaainstall-oaa-policy-77bccf774b-48b6s/10.244.1.206]]></serverId><status><![CDATA[SUCCESS]]></status><serverResponseTime><DATE></serverResponseTime><serverVersion><![CDATA[11.1.1.2.0]]></serverVersion><messageList></messageList></OARMResponse>"