クロスリージョンディザスタ リカバリの設定
Liferay Cloudは、大規模なインシデントの場合にお客様が障害復旧(DR)手順を利用するための2つの方法、自動障害復旧と地域間障害復旧を提供します。 Liferay Cloudの災害復旧シナリオへのアプローチについては、 災害復旧の概要で詳しく確認できます。
ここでは、リージョン間災害発生時にデータを手動で復旧する方法を学びます。 これらの手順は、同じリージョン内の3つのゾーンすべてに同時に妥協がある場合にのみ必要です。
初期設定
Liferayは、地域間の災害を管理するための専用のLiferay Cloud環境を提供します。 この例では、本番環境が europe-west2 リージョンに格納されており、リージョンが危険にさらされていると想定しています。 本番環境でのダウンタイムとデータ損失を防ぐには、ディザスタリカバリ環境を、 us-west1などの運用領域外にシフトする必要があります。 したがって、この5番目の障害復旧(DRに短縮された)環境は、インシデント中に生成された新しいユーザーデータを格納するバックアップとして機能します。
障害復旧環境のセットアップを希望するLiferay Cloudのお客様は、DR環境をプロビジョニングするために、営業担当者に連絡する必要があります。 この新しい環境は、他の利用可能な環境 (例えば、 dev、 infra、 uat、および prd) とともに表示されます。

Liferay Cloudのシステム管理者は、DR 環境と本番環境の両方について完全な管理者権限を持っている必要があります。
DR環境でのVPN設定の確認
実稼働環境で VPN が有効になっている場合は、DR 環境の VPN も有効になっていることを確認します。
2つの環境が接続されていることを確認するには:
-
左側のメニューで、DR 環境s 設定 タブをクリックします。
-
VPNセクションで、以下の情報を入力します:
- VPNタイプ: OpenVPN
- サーバーアドレス: サーバーのアドレス。
- アカウント名: 管理者のメールアドレス。
- パスワード: 管理者のパスワード。
- 証明書: 証明書コード。
- 転送IP: 転送IPアドレス。
- 転送ポート: 転送ポート番号。
- ローカルホスト名: VPNのホスト名。
- ローカルポート: ローカルポート番号。
-
VPN接続をクリックします。
VPN への接続の詳細については、「 VPN 接続」を参照してください。
最新の安定したビルドを本番環境からDR環境にデプロイする
次に、最新の安定したビルドを本番環境でDR環境にデプロイする必要があります。 Liferay PaaS でのサービスの更新で概説されているのと同じ手順に従います。
ディザスタリカバリへの自動バックアップリストアの設定
ディザスタリカバリ環境のセットアップを完了するには、自動バックアップリストアを設定します。 これにより、インシデントが発生したときに備えて、DR環境に常に最新のバックアップが用意されます。
まず、本番環境のマスタートークンを取得します (これには、 liferay サービスシェルにアクセスするための管理者権限が必要です)。
-
Liferay Cloud コンソールで、本番環境 →
liferayサービス ページに移動します。 -
シェル タブをクリックします。
-
このコマンドを実行して、環境のマスター トークンを取得します。
env | grep LCP_PROJECT_MASTER_TOKENマスタートークンは、結果の
=の後の16進数のIDとなります。
実稼働環境のマスター トークンを取得したら、DR 環境で次の 環境変数 を設定します。
-
LCP_EXTERNAL_PROJECT_ID: 本番環境のプロジェクトID (例:
acme-prd) -
LCP_BACKUP_RESTORE_SCHEDULE: cron スケジュール 値で、
prd環境から Disaster Recovery 環境にバックアップを自動的に復元する頻度を定義します。 詳細については、 「自動バックアップとクリーンアップのスケジュール設定 」を参照してください。
この値を DR 環境の シークレット として設定します。
- LCP_EXTERNAL_PROJECT_MASTER_TOKEN: 本番環境のマスタートークン
これらの環境変数は、本番環境ではなく、ディザスターリカバリー環境で設定してください。 これらの変数を本番環境で設定すると、バックアップが予期せず本番環境にリストアされることがあります。
これらの変数をDR環境に保存することで、自動復元が可能になります。
インシデント中
上記の例を続けて、 europe-west2 リージョンでホストされている本番環境が、現地時間の午後2時に1時間ごとにバックアップされるようにスケジュールされていると想定します。 このシナリオでは、現地時間の午後2時30分に地域が危険にさらされます。 その間の30分間はバックアップが生成されていないため、データベースとドキュメントのバックアップを本番環境から障害復旧環境に復元する必要があります。 最後の安定した環境は、午後2時に作成されたバージョンです。
地域間でのインシデントの際には、以下の手順に従ってください:
データベース復元スケジュールの無効化
インシデントが発生している間は、DR環境がユーザーがアクセスできるメインの環境となるため、通常のデータベース復元スケジュールでは、本番環境をDR環境に切り替えた後にデータが上書きされる可能性があります。
LCP_BACKUP_RESTORE_SCHEDULE 環境変数 を使用して DR 環境にデータを定期的に復元している場合は、変数を削除して復元スケジュールを一時的に無効にします。 これにより、インシデント中に作成されたデータが、スケジュールされたリストアによって上書きされることを防ぎます。
アクセス可能な状態で復元スケジュールを無効にするには、以下の手順に従ってください:
-
Liferay Cloud Console で、DR 環境 → バックアップ サービス ページ → 環境変数に移動します。
-
目のアイコンをクリックすると、
LCP_BACKUP_RESTORE_SCHEDULEの変数の値が表示されます:
-
LCP_BACKUP_RESTORE_SCHEDULEの値をメモしておき、インシデント後にすぐに置換できるようにしておきましょう。 -
LCP_BACKUP_RESTORE_SCHEDULE環境変数を削除し、変更を保存します。
最新の本番データをDR環境にコピーする
次に、本番環境のバックアップを復元して、DR環境に最新のアップデートがあることを確認します。
LCP_BACKUP_RESTORE_SCHEDULE 環境変数を使用して DR 環境に定期的に復元していた場合は、より最近の安定したバックアップが既に復元され、準備ができている場合があります (構成された頻度によって異なります)。 最近自動的にバックアップが復元された場合は、バックアップの手動復元をスキップしてください。
次の手順に従って、本番環境の最新の安定したバックアップをDR環境に復元します:
-
DR環境で、[バックアップ]タブをクリックします。
-
本番環境に対応するタブをクリックします。
注バックアップ履歴では、バックアップが2つのタブに一覧表示されます。 1つはDR環境用、もう1つは本番環境用です。
-
実稼働環境の最新の安定したバックアップを取得するには、 [アクション] (
) をクリックし、 [復元]を選択します。
DR環境のVPNステータスを確認し、再インデックスする
次に、以下の手順でDR環境がトラフィックを受信できる状態にします:
-
DR 環境の 設定 → VPN ページに移動して、VPN が DR 環境に接続されていることを確認します。

適切なVPNが接続されていない場合は、接続を設定してください。 詳細については、「 VPN サーバーを Liferay Cloud に接続する 」を参照してください。
-
DXPインスタンスにログインします(カスタムドメインはまだDR環境を指していないため、IPアドレスを使用します)。
-
グローバル メニュー (
) → コントロール パネル → 検索に移動します。 -
すべての検索インデックスを再インデックスをクリックします。
インデックスの再構築が完了するまでしばらく待ちます。
カスタムドメイントラフィックをDR環境に送信する
DR 環境の Web サーバー サービスのカスタム ドメインは、元の運用環境と一致する必要があります。 また、その設定を実稼働環境から削除する必要もあります:
-
DR環境では、左側のメニューで [Services] を選択します。
-
サービスのリストで [webserver] をクリックします。
-
[Custom Domains]タブをクリックし、本番環境のドメインと一致するようにカスタムドメインを設定します。
-
本番環境で同じ設定に移動し、カスタムドメイン設定を削除します。
-
DNSレコードを更新し、カスタムドメインをDR環境に追加します。 詳細については、「 カスタム ドメイン」を参照してください。
これにより、すべてのトラフィックがDR環境に送られます。

インシデント後の回復
リージョンインシデントが終了したら、元のリージョンの運用環境 (例ではeurope-west2 ) に戻す必要があります。 次の手順を実行します:
データ作成の凍結
通常の本番環境に切り替えたときに、最近の変更によるデータ損失を防ぐために、DR環境でのコンテンツ作成をすべて凍結する必要があります。 本番環境に戻る準備ができたら、手動バックアップを行う前に、データベース管理者と協力してデータの凍結を手配します。
DR環境の手動バックアップを作成する
インシデント中、DR環境は本番環境として機能するため、障害時に生成された新しいデータが含まれます。 このデータを保持するには、DR環境をバックアップする必要があります:
-
DR環境では、左側のメニューで[バックアップ]をクリックします。
-
今すぐバックアップをクリックします。

本番環境への手動バックアップの復元
DR環境から通常の本番環境にデータを復元します。
-
DR環境では、左側のメニューで[バックアップ]をクリックします。
-
DR環境に対応するタブをクリックします。
注バックアップ履歴では、バックアップが2つのタブに一覧表示されます。 1つはDR環境用、もう1つは本番環境用です。
-
最新のバックアップ(以前に作成したもの)の場合は、 アクション ボタン(
)をクリックし、 復元を選択します。 -
本番環境を選択し、[Deploy Build]をクリックします。

VPNステータスの確認とインデックスの再構築
以下の手順で、本番環境がトラフィックの受信の準備ができていることを確認してください:
-
運用環境の 設定 → VPN ページに移動して、VPN が運用環境に接続されていることを確認します。
適切なVPNが接続されていない場合は、接続を設定してください。 詳細については、「 VPN サーバーを Liferay Cloud に接続する 」を参照してください。
-
DXPインスタンスにログインします(カスタムドメインはDR環境を指しているため、IPアドレスを使用します)。
-
グローバル メニュー → コントロール パネル → 検索に移動します。
-
すべての検索インデックスを再インデックスをクリックします。
インデックスの再構築が完了するまでしばらく待ちます。
サーバーのカスタムトラフィックを本番環境に復元する
インシデント発生中、Web サーバー サービスはすべてのトラフィックを DR 環境にリダイレクトしたため、すべてのトラフィックが元の運用環境にリダイレクトされるようにこれらの設定を再度更新する必要があります。
-
左メニューの [Services] に移動します。
-
サービスのリストで [webserver] クリックします。
-
カスタム ドメイン タブをクリックします。

-
DR環境からカスタムドメインを削除します。
警告カスタムドメインを削除すると、本番環境が再びトラフィックを受信するまで、ダウンタイムが発生します。
-
DNSレコードを更新し、カスタムドメインを本番環境に戻します。 詳細については、「 カスタム ドメイン」を参照してください。
-
カスタム ドメインの更新をクリックします。
これでトラフィックは元の本番環境に戻されます。 DR環境に自動的にスケジュールされたデータベースの復元を使用しない場合、災害復旧プロセスは完了します。
データベース復元スケジュールを復元する
LCP_BACKUP_RESTORE_SCHEDULE 環境変数を使用して、インシデントの前にDR環境に定期的に復元していた場合は、この変数を再度復元して、復元スケジュールを再開します:
-
Liferay Cloud コンソールで、DR 環境 → バックアップ サービス ページ → 環境変数に移動します。
-
LCP_BACKUP_RESTORE_SCHEDULE環境変数を追加し、削除したときにメモしておいた値を復元します 。 -
変更を保存します。
これで、Liferay Cloud環境は通常の操作を再開することができます。