クロスリージョンディザスタ リカバリの設定¶
DXP Cloudは、大規模なインシデントの場合にお客様が障害復旧(DR)手順を利用するための2つの方法を提供します:自動障害復旧と地域間障害復旧。 障害復旧シナリオに対するDXP Cloudのアプローチについては、 障害復旧の概要を参照してください。
ここでは、地域間の災害時にデータを手動で回復する方法をご紹介します。 これらの手順は、同じリージョン内の3つのゾーンすべてに同時に妥協がある場合にのみ必要です。
初期設定¶
Liferayは、地域間の災害を管理するための専用のDXP Cloud環境を提供します。 この例では、本番環境が europe-west2 リージョンに格納されており、リージョンが危険にさらされていると想定しています。 本番環境でのダウンタイムとデータ損失を防ぐには、ディザスタリカバリ環境を、 us-west1 などの運用領域外にシフトする必要があります。 したがって、この5番目の障害復旧(DRに短縮された)環境は、インシデント中に生成された新しいユーザーデータを格納するバックアップとして機能します。
障害復旧環境のセットアップを希望するDXP Cloudのお客様は、DR環境をプロビジョニングするために、営業担当者に連絡する必要があります。 この新しい環境は、他の利用可能な環境 (例えば、 dev
、 infra
、 uat
、および prd
) とともに表示されます。
DXP Cloudシステム管理者は、DR環境と本番環境の両方に対する完全な管理権限を持っている必要があります。
DR環境でのVPN設定の確認¶
本番環境でVPNが有効になっている場合は、DR環境のVPNも有効になっていることを確認してください。
2つの環境が接続されていることを確認するには:
左側のメニューで、DR環境の[設定]タブをクリックします。
VPNセクションで、以下の情報を入力します:
*VPNタイプ :OpenVPN *サーバーアドレス :サーバーアドレス。 *アカウント名 :管理者のメールアドレスです。 *Password :管理者のパスワードです。 *証明書 : 証明書のコードです。 *転送IP :転送IPアドレス。 *転送ポート :転送ポート番号。 *ローカルホスト名 :VPNのホスト名。 *ローカルポート :ローカルポート番号。
[Connect VPN]をクリックします。
VPNへの接続の詳細は、 VPN接続を参照してください。
最新の安定したビルドを本番環境からDR環境にデプロイする¶
次に、最新の安定したビルドを本番環境でDR環境にデプロイする必要があります。 そのためには、 DXP Cloud展開ワークフローの概要で説明したのと同じ手順に従ってください。
ディザスタリカバリへの自動バックアップリストアの設定¶
ディザスタリカバリ環境のセットアップを完了するには、自動バックアップリストアを設定します。 これにより、インシデントが発生したときに備えて、DR環境に常に最新のバックアップが用意されます。
まず、本番環境のマスタートークンを取得します(これには、 liferay
サービスシェルにアクセスするための管理者権限が必要です):
DXP Cloudコンソールで、本番環境→
liferay
のサービスページに移動します。Shell タブをクリックします。
次のコマンドを実行して、環境のマスタートークンを取得します:
env | grep LCP **PROJECT** MASTER_TOKEN
マスタートークンは、結果の
=
の後の16進数のIDとなります。
本番環境のマスタートークンを取得したら、DR環境で 環境変数を設定します。
*LCP EXTERNAL PROJECT MASTER TOKEN :本番環境のマスタートークン
*LCP EXTERNAL PROJECT_ID :本番環境のプロジェクトID(たとえば、 acme-prd
)
*LCP BACKUP RESTORE_SCHEDULE : 自動バックアップの頻度を定義する cronスケジュール の値。 詳細については、 Scheduling Automated Backups and Cleanups を参照してください。
これらの変数をDR環境に保存することで、自動復元が可能になります。
インシデント中¶
上記の例を続けて、 europe-west2 リージョンでホストされている本番環境が、現地時間の午後2時に1時間ごとにバックアップされるようにスケジュールされていると想定します。 このシナリオでは、現地時間の午後2時30分に地域が危険にさらされます。 その間の30分間はバックアップが生成されていないため、データベースとドキュメントのバックアップを本番環境から障害復旧環境に復元する必要があります。 最後の安定した環境は、午後2時に作成されたバージョンです。
地域間でのインシデントの際には、以下の手順に従ってください:
データベース復元スケジュールの無効化¶
インシデントが発生している間は、DR環境がユーザーがアクセスできるメインの環境となるため、通常のデータベース復元スケジュールでは、本番環境をDR環境に切り替えた後にデータが上書きされる可能性があります。
LCP_BACKUP_RESTORE_SCHEDULE
環境変数 を使用してDR環境にデータを定期的に復元している場合は、変数を削除して復元スケジュールを一時的に無効にします。 これにより、インシデント中に作成されたデータが、スケジュールされたリストアによって上書きされることを防ぎます。
アクセス可能な状態で復元スケジュールを無効にするには、以下の手順に従ってください:
DXP Cloudコンソールで、DR環境 → Backup serviceページ → 環境変数に移動します。
目のアイコンをクリックすると、
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が接続されていない場合は、接続を設定してください。 詳しくは DXP CloudへのVPNサーバーの接続 をご覧ください。
DXPインスタンスにログインします(カスタムドメインはまだDR環境を指していないため、IPアドレスを使用します)。
[グローバルメニュー](
) → [コントロールパネル] → [検索] に移動します。
[すべてインデックスを再構築] をクリックします。
インデックスの再構築が完了するまでしばらく待ちます。
カスタムドメイントラフィックをDR環境に送信する¶
DR環境でのWebサーバーサービスのカスタムドメインは、元の本番環境のものと一致する必要があります。 また、その設定を実稼働環境から削除する必要もあります:
DR環境では、左側のメニューで [Services] を選択します。
サービスのリストで [webserver] をクリックします。
[Custom Domains]タブをクリックし、本番環境のドメインと一致するようにカスタムドメインを設定します。
本番環境で同じ設定に移動し、カスタムドメイン設定を削除します。
DNSレコードを更新し、カスタムドメインをDR環境に追加します。 詳細は、 カスタムドメインを参照してください。
これにより、すべてのトラフィックがDR環境に送られます。
インシデント後の回復¶
リージョンインシデントが終了したら、元のリージョンの本番環境(この例では europe-west2)に戻す必要があります。 次の手順を実行します:
データ作成の凍結¶
通常の本番環境に切り替えたときに、最近の変更によるデータ損失を防ぐために、DR環境でのコンテンツ作成をすべて凍結する必要があります。 本番環境に戻る準備ができたら、手動バックアップを行う前に、データベース管理者と協力してデータの凍結を手配します。
DR環境の手動バックアップを作成する¶
インシデント中、DR環境は本番環境として機能するため、障害時に生成された新しいデータが含まれます。 このデータを保持するには、DR環境をバックアップする必要があります:
DR環境では、左側のメニューで[Backups]をクリックします。
[Backup Now] をクリックします。
本番環境への手動バックアップの復元¶
DR環境から通常の本番環境にデータを復元します。
DR環境では、左側のメニューで[Backups]をクリックします。
DR環境に対応するタブをクリックします。
注釈
バックアップ履歴では、バックアップが2つのタブに一覧表示されます。 1つはDR環境用、もう1つは本番環境用です。
最新のバックアップ(作成したばかりのバックアップ)の場合は、[アクション]ボタン(
)をクリックし[復元]を選択します。
本番環境を選択し、[Deploy Build]をクリックします。
VPNステータスの確認とインデックスの再作成¶
以下の手順で、本番環境がトラフィックの受信の準備ができていることを確認してください:
本番環境の [設定] → [VPN] ページに移動して、VPNが本番環境に接続されていることを確認します。
適切なVPNが接続されていない場合は、接続を設定してください。 詳しくは DXP CloudへのVPNサーバーの接続 をご覧ください。
DXPインスタンスにログインします(カスタムドメインはDR環境を指しているため、IPアドレスを使用します)。
[グローバルメニュー] → [コントロールパネル] → [検索] に移動します。
[すべてインデックスを再構築] をクリックします。
インデックスの再構築が完了するまでしばらく待ちます。
サーバーのカスタムトラフィックを本番環境に復元する¶
インシデント中にWebサーバーサービスがすべてのトラフィックをDR環境にリダイレクトしたため、すべてのトラフィックが元の本番環境にリダイレクトされるように、これらの設定を再度更新する必要があります。
左メニューの [サービス] に移動します。
サービスのリストで [webserver] クリックします。
[Custom Domains] タブをクリックします。
DR環境からカスタムドメインを削除します。
警告
カスタムドメインを削除すると、本番環境が再びトラフィックを受信するまで、ダウンタイムが発生します。
DNSレコードを更新し、カスタムドメインを本番環境に戻します。 詳細は、 カスタムドメインを参照してください。
[カスタムドメインの更新] をクリックします。
これでトラフィックは元の本番環境に戻されます。 DR環境に自動的にスケジュールされたデータベースの復元を使用しない場合、災害復旧プロセスは完了します。