Documentation

クロスリージョンディザスタ リカバリの設定

Liferay Cloudは、大規模なインシデントの場合にお客様が障害復旧(DR)手順を利用するための2つの方法を提供します:自動障害復旧と地域間障害復旧。 障害復旧シナリオに対するLiferay Cloudのアプローチについては、 障害復旧の概要を参照してください。

ここでは、地域間の災害時にデータを手動で回復する方法をご紹介します。 これらの手順は、同じリージョン内の3つのゾーンすべてに同時に妥協がある場合にのみ必要です。

初期設定

Liferayは、地域をまたいだ災害を管理するために、専用のDXPクラウド環境を提供しています。 この例では、本番環境が europe-west2 リージョンに格納されており、リージョンが危険にさらされていると想定しています。 本番環境でのダウンタイムとデータ損失を防ぐには、ディザスタリカバリ環境を、 us-west1 などの運用領域外にシフトする必要があります。 したがって、この5番目の障害復旧(DRに短縮された)環境は、インシデント中に生成された新しいユーザーデータを格納するバックアップとして機能します。

障害復旧環境のセットアップを希望するLiferay Cloudのお客様は、DR環境をプロビジョニングするために、営業担当者に連絡する必要があります。 この新しい環境は、他の利用可能な環境 (例えば、 devinfrauat、および prd) とともに表示されます。

災害復旧環境を作成したら、他の環境と同じようにそれを選択できます。

Liferay Cloudシステム管理者は、DR環境と本番環境の両方に対する完全な管理権限を持っている必要があります。

DR環境でのVPN設定の確認

本番環境でVPNが有効になっている場合は、DR環境のVPNも有効になっていることを確認してください。

2つの環境が接続されていることを確認するには:

  1. 左側のメニューで、DR環境の[設定]タブをクリックします。

  2. VPNセクションで、以下の情報を入力します:

    • VPNタイプ :OpenVPN

    • サーバーアドレス :サーバーアドレス。

    • アカウント名 :管理者のメールアドレスです。

    • Password :管理者のパスワードです。

    • 証明書 : 証明書のコードです。

    • 転送IP :転送IPアドレス。

    • 転送ポート :転送ポート番号。

    • ローカルホスト名 :VPNのホスト名。

    • ローカルポート :ローカルポート番号。

  3. Connect VPN]をクリックします。

VPNへの接続の詳細は、 VPN接続を参照してください。

最新の安定したビルドを本番環境からDR環境にデプロイする

次に、最新の安定したビルドを本番環境でDR環境にデプロイする必要があります。 そのためには、 Liferay Cloud展開ワークフローの概要で説明したのと同じ手順に従ってください。

ディザスタリカバリへの自動バックアップリストアの設定

ディザスタリカバリ環境のセットアップを完了するには、自動バックアップリストアを設定します。 これにより、インシデントが発生したときに備えて、DR環境に常に最新のバックアップが用意されます。

まず、本番環境のマスタートークンを取得します(これには、 liferay サービスシェルにアクセスするための管理者権限が必要です):

  1. Liferay Cloudコンソールで、本番環境→ liferayのサービスページに移動します。

  2. Shell タブをクリックします。

  3. 次のコマンドを実行して、環境のマスタートークンを取得します:

    env | grep LCP_PROJECT_MASTER_TOKEN
    

    マスタートークンは、結果の = の後の16進数のIDとなります。

本番環境のマスタートークンを取得したら、DR環境で 環境変数を設定します。

この値をDR環境の secret として設定します。

  • LCP EXTERNAL PROJECT MASTER TOKEN :本番環境のマスタートークン

警告

これらの環境変数は、本番環境ではなく、ディザスターリカバリー環境で設定してください。 これらの変数を本番環境で設定すると、バックアップが予期せず本番環境にリストアされることがあります。

これらの変数をDR環境に保存することで、自動復元が可能になります。

インシデント中

上記の例を続けて、 europe-west2 リージョンでホストされている本番環境が、現地時間の午後2時に1時間ごとにバックアップされるようにスケジュールされていると想定します。 このシナリオでは、現地時間の午後2時30分に地域が危険にさらされます。 その間の30分間はバックアップが生成されていないため、データベースとドキュメントのバックアップを本番環境から障害復旧環境に復元する必要があります。 最後の安定した環境は、午後2時に作成されたバージョンです。

地域間でのインシデントの際には、以下の手順に従ってください:

  1. データベース復元スケジュールを無効にします。

  2. 最新の本番データをDR環境にコピーします。

  3. DR環境のVPNステータスの確認とインデックスの再構築を行います。

  4. カスタムドメイントラフィックをDR環境に送信します。

データベース復元スケジュールの無効化

インシデントが発生している間は、DR環境がユーザーがアクセスできるメインの環境となるため、通常のデータベース復元スケジュールでは、本番環境をDR環境に切り替えた後にデータが上書きされる可能性があります。

LCP_BACKUP_RESTORE_SCHEDULE 環境変数 を使用してDR環境にデータを定期的に復元している場合は、変数を削除して復元スケジュールを一時的に無効にします。 これにより、インシデント中に作成されたデータが、スケジュールされたリストアによって上書きされることを防ぎます。

アクセス可能な状態で復元スケジュールを無効にするには、以下の手順に従ってください:

  1. Liferay Cloudコンソールで、DR環境 → Backup serviceページ → 環境変数に移動します。

  2. 目のアイコンをクリックすると、 LCP_BACKUP_RESTORE_SCHEDULE の変数の値が表示されます:

    目のアイコンをクリックすると、スケジュール設定が表示されます。

  3. LCP_BACKUP_RESTORE_SCHEDULE の値をメモしておき、事故後にすぐに交換できるようにしておきましょう。

  4. LCP_BACKUP_RESTORE_SCHEDULE 環境変数を削除し、変更を保存します。

最新の本番データをDR環境にコピーする

次に、本番環境のバックアップを復元して、DR環境に最新のアップデートがあることを確認します。

重要

環境変数 LCP_BACKUP_RESTORE_SCHEDULE を使ってDR環境に定期的にリストアしていた場合、より新しい安定したバックアップがすでにリストアされて準備できているかもしれません(設定した頻度に依存します)。 最近自動的にバックアップが復元された場合は、バックアップの手動復元をスキップしてください。

次の手順に従って、本番環境の最新の安定したバックアップをDR環境に復元します:

  1. DR環境で、[バックアップ]タブをクリックします。

  2. 本番環境に対応するタブをクリックします。

    注釈

    バックアップ履歴では、バックアップが2つのタブに一覧表示されます。 1つはDR環境用、もう1つは本番環境用です。

  3. [アクション]ボタン(Actions)をクリックして、本番環境の最新の安定したバックアップを取得し、[復元]を選択します。

    最新の安定したバックアップを本番環境からDR環境に復元します。

DR環境のVPNステータスの確認とインデックスの再作成

次に、以下の手順でDR環境がトラフィックを受信できる状態にします:

  1. DR環境の [設定] → [VPN] ページに移動して、VPNがDR環境に接続されていることを確認します。

    DR環境のVPNステータスをチェックして、正しく接続されていることを確認します。

    適切なVPNが接続されていない場合は、接続を設定してください。 詳しくは Liferay CloudへのVPNサーバーの接続 をご覧ください。

  2. DXPインスタンスにログインします(カスタムドメインはまだDR環境を指していないため、IPアドレスを使用します)。

  3. グローバルメニュー( (Applications Menu icon ) → [コントロールパネル] → [検索] に移動します。

  4. すべてインデックスを再構築] をクリックします。

インデックスの再構築が完了するまでしばらく待ちます。

カスタムドメイントラフィックをDR環境に送信する

DR環境でのWebサーバーサービスのカスタムドメインは、元の本番環境のものと一致する必要があります。 また、その設定を実稼働環境から削除する必要もあります:

  1. DR環境では、左側のメニューで [Services] を選択します。

  2. サービスのリストで [webserver] をクリックします。

  3. [Custom Domains]タブをクリックし、本番環境のドメインと一致するようにカスタムドメインを設定します。

  4. 本番環境で同じ設定に移動し、カスタムドメイン設定を削除します。

  5. DNSレコードを更新し、カスタムドメインをDR環境に追加します。 詳細は、 カスタムドメインを参照してください。

これにより、すべてのトラフィックがDR環境に送られます。

webserverサービスの場合、DR環境のカスタムドメインを構成して、本番環境のカスタムドメインと一致させます。

インシデント後の回復

リージョンインシデントが終了したら、元のリージョンの本番環境(この例では europe-west2)に戻す必要があります。 次の手順を実行します:

  1. データ作成を凍結させます。

  2. DR環境の手動バックアップを作成します。

  3. 手動バックアップを本番環境に復元します。

  4. VPNステータスの確認とインデックスの再作成を行います。

  5. サーバーのカスタムトラフィックを本番環境に復元します。

  6. データベース復元スケジュールを復元します。

データ作成の凍結

通常の本番環境に切り替えたときに、最近の変更によるデータ損失を防ぐために、DR環境でのコンテンツ作成をすべて凍結する必要があります。 本番環境に戻る準備ができたら、手動バックアップを行う前に、データベース管理者と協力してデータの凍結を手配します。

DR環境の手動バックアップを作成する

インシデント中、DR環境は本番環境として機能するため、障害時に生成された新しいデータが含まれます。 このデータを保持するには、DR環境をバックアップする必要があります:

  1. DR環境では、左側のメニューで[Backups]をクリックします。

  2. Backup Now] をクリックします。

DR環境の手動バックアップを作成します。

本番環境への手動バックアップの復元

DR環境から通常の本番環境にデータを復元します。

  1. DR環境では、左側のメニューで[Backups]をクリックします。

  2. DR環境に対応するタブをクリックします。

    注釈

    バックアップ履歴では、バックアップが2つのタブに一覧表示されます。 1つはDR環境用、もう1つは本番環境用です。

  3. 最新のバックアップ(作成したばかりのバックアップ)の場合は、[アクション]ボタン(Actions)をクリックし[復元]を選択します。

  4. 本番環境を選択し、[Deploy Build]をクリックします。

バックアップを本番環境にデプロイします。

VPNステータスの確認とインデックスの再作成

以下の手順で、本番環境がトラフィックの受信の準備ができていることを確認してください:

  1. 本番環境の [設定] → [VPN] ページに移動して、VPNが本番環境に接続されていることを確認します。

    適切なVPNが接続されていない場合は、接続を設定してください。 詳しくは Liferay CloudへのVPNサーバーの接続 をご覧ください。

  2. DXPインスタンスにログインします(カスタムドメインはDR環境を指しているため、IPアドレスを使用します)。

  3. グローバルメニュー] → [コントロールパネル] → [検索] に移動します。

  4. すべてインデックスを再構築] をクリックします。

インデックスの再構築が完了するまでしばらく待ちます。

サーバーのカスタムトラフィックを本番環境に復元する

インシデント中にWebサーバーサービスがすべてのトラフィックをDR環境にリダイレクトしたため、すべてのトラフィックが元の本番環境にリダイレクトされるように、これらの設定を再度更新する必要があります。

  1. 左メニューの [サービス] に移動します。

  2. サービスのリストで [webserver] クリックします。

  3. Custom Domains] タブをクリックします。

    DR環境からカスタムドメインを削除します。

  4. DR環境からカスタムドメインを削除します。

    警告

    カスタムドメインを削除すると、本番環境が再びトラフィックを受信するまで、ダウンタイムが発生します。

  5. DNSレコードを更新し、カスタムドメインを本番環境に戻します。 詳細は、 カスタムドメインを参照してください。

  6. カスタムドメインの更新] をクリックします。

これでトラフィックは元の本番環境に戻されます。 DR環境に自動的にスケジュールされたデータベースの復元を使用しない場合、災害復旧プロセスは完了します。

データベース復元スケジュールを復元する

LCP_BACKUP_RESTORE_SCHEDULE 環境変数を使用して、インシデントの前にDR環境に定期的に復元していた場合は、この変数を再度復元して、復元スケジュールを再開します:

  1. DXPクラウドのコンソールで、[DR環境] → [バックアップサービスページ] → [環境変数]に移動します。

  2. LCP_BACKUP_RESTORE_SCHEDULE 環境変数を追加し, 削除した際に メモした値を復元します。

  3. 変更を保存します。

これで、Liferay Cloud環境は通常の操作を再開することができます。