11.2. 手順
11.2.1. Data Grid クラスター リンクのコピーリンクがクリップボードにコピーされました!
この章の文脈では、Site-A
はプライマリーサイトでアクティブ、Site-B
はセカンダリーサイトでパッシブです。
サイト間でネットワークパーティションが発生すると、Data Grid クラスター間のレプリケーションが停止します。この手順により、両方のサイトの同期が戻ります。
完全な状態の遷移を実行すると、応答時間やリソースの使用量が増加し、Data Grid クラスターのパフォーマンスに影響が及ぶ可能性があります。
最初の手順は、セカンダリーサイトから古いデータを削除することです。
- セカンダリーサイトにログインします。
Red Hat build of Keycloak をシャットダウンします。これにより、Red Hat build of Keycloak のキャッシュをすべてクリアし、Red Hat build of Keycloak の状態と Data Grid との同期ずれを防ぎます。
Red Hat build of Keycloak Operator を使用して Red Hat build of Keycloak をデプロイした場合、Red Hat build of Keycloak カスタムリソース内の Red Hat build of Keycloak インスタンスの数を 0 に変更します。
Data Grid CLI ツールを使用して Data Grid クラスターに接続します。
コマンド:
oc -n keycloak exec -it pods/infinispan-0 -- ./bin/cli.sh --trustall --connect https://127.0.0.1:11222
oc -n keycloak exec -it pods/infinispan-0 -- ./bin/cli.sh --trustall --connect https://127.0.0.1:11222
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Data Grid クラスターのユーザー名とパスワードが要求されます。これらの認証情報は、Data Grid Operator を使用した HA 用の Data Grid のデプロイ の章にある認証情報の設定セクションで設定したものです。
出力:
Username: developer Password: [infinispan-0-29897@ISPN//containers/default]>
Username: developer Password: [infinispan-0-29897@ISPN//containers/default]>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Pod 名は、Data Grid CR で定義したクラスター名によって異なります。接続は、Data Grid クラスター内の任意の Pod で行うことができます。
次のコマンドを実行して、セカンダリーサイトからプライマリーサイトへのレプリケーションを無効にします。これにより、クリアリクエストがプライマリーサイトに到達してキャッシュされた正しいデータがすべて削除されるのを防ぎます。
コマンド:
site take-offline --all-caches --site=site-a
site take-offline --all-caches --site=site-a
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow レプリケーションのステータスが
offline
であることを確認します。コマンド:
site status --all-caches --site=site-a
site status --all-caches --site=site-a
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力:
{ "status" : "offline" }
{ "status" : "offline" }
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ステータスが
offline
でない場合は、前のステップを繰り返します。警告レプリケーションが
offline
あることを確認してください。そうでない場合、クリアデータによって両方のサイトがクリアされます。次のコマンドを使用して、セカンダリーサイトのキャッシュデータをすべてクリアします。
コマンド:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow これらのコマンドは何も出力しません。
セカンダリーサイトからプライマリーサイトへのクロスサイトレプリケーションを再度有効にします。
コマンド:
site bring-online --all-caches --site=site-a
site bring-online --all-caches --site=site-a
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow レプリケーションのステータスが
online
であることを確認します。コマンド:
site status --all-caches --site=site-a
site status --all-caches --site=site-a
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力:
{ "status" : "online" }
{ "status" : "online" }
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
これで、プライマリーサイトからセカンダリーサイトに状態を転送する準備が整いました。
- プライマリーサイトにログインします。
Data Grid CLI ツールを使用して Data Grid クラスターに接続します。
コマンド:
oc -n keycloak exec -it pods/infinispan-0 -- ./bin/cli.sh --trustall --connect https://127.0.0.1:11222
oc -n keycloak exec -it pods/infinispan-0 -- ./bin/cli.sh --trustall --connect https://127.0.0.1:11222
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Data Grid クラスターのユーザー名とパスワードが要求されます。これらの認証情報は、Data Grid Operator を使用した HA 用の Data Grid のデプロイ の章にある認証情報の設定セクションで設定したものです。
出力:
Username: developer Password: [infinispan-0-29897@ISPN//containers/default]>
Username: developer Password: [infinispan-0-29897@ISPN//containers/default]>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Pod 名は、Data Grid CR で定義したクラスター名によって異なります。接続は、Data Grid クラスター内の任意の Pod で行うことができます。
プライマリーサイトからセカンダリーサイトへの状態転送をトリガーします。
コマンド:
site push-site-state --all-caches --site=site-b
site push-site-state --all-caches --site=site-b
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow すべてのキャッシュのレプリケーションステータスが
online
であることを確認します。コマンド:
site status --all-caches --site=site-b
site status --all-caches --site=site-b
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力:
{ "status" : "online" }
{ "status" : "online" }
Copy to Clipboard Copied! Toggle word wrap Toggle overflow すべてのキャッシュに対する
push-site-status
コマンドの出力を確認して、状態転送が完了するまで待ちます。コマンド:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 考えられるステータス値は、クロスサイトのドキュメントにあるこちらのセクション の表を参照してください。
エラーが報告された場合は、その特定のキャッシュに対して状態転送を再度実行します。
コマンド:
site push-site-state --cache=<cache-name> --site=site-b
site push-site-state --cache=<cache-name> --site=site-b
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドで状態転送ステータスをクリア/リセットします。
コマンド:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
状態がセカンダリーサイトで利用できるようになったので、Red Hat build of Keycloak を再度起動できます。
- セカンダリーサイトにログインします。
Red Hat build of Keycloak を起動します。
Red Hat build of Keycloak Operator を使用して Red Hat build of Keycloak をデプロイした場合、Red Hat build of Keycloak カスタムリソース内の Red Hat build of Keycloak インスタンスの数を元の値に変更します。
11.2.2. AWS Aurora データベース リンクのコピーリンクがクリップボードにコピーされました!
アクションは不要です。
11.2.3. Route53 リンクのコピーリンクがクリップボードにコピーされました!
アクションは不要です。