バックアップサービスの概要

バックアップサービスの概要

プロジェクトのデータを守るためには、定期的にバックアップを取ることが重要です。 Liferay Cloudのバックアップサービスは、環境データのイテレーションを保存し、必要に応じて環境の復元に使用することができます。 これらのバックアップには、Liferay DXP Database と [LIFERAY_HOME]/data フォルダの全内容の両方が含まれます。

バックアップサービスは、Liferay Cloudで利用可能ないくつかのサービスのうちの1つです。

どの環境のバックアップページからでも、バックアップの作成、保持されたバックアップの表示またはダウンロード、そしてバックアップから環境を復元することができます。

また、Liferay Cloud コンソールまたはバックアップサービスの LCP.json ファイルから、プロジェクトのニーズに合わせてバックアップサービスを設定することができます。

詳細は、 バックアップサービスの制限 のセクションを参照してください。

バックアップのページ

どの環境のバックアップページからでも、バックアップサービスの情報や保持されているバックアップの確認、手動でバックアップを作成したりすることができます。

note

バックアップページは、バックアップサービスのバージョンが4.3.5よりも古い場合、実稼働環境でのみ利用できます。

以下の手順で、バックアップページにアクセスします。

  1. どの環境からでもいいので、左のメニューにある [バックアップ] をクリックします。

どの環境でも、バックアップページからバックアップ履歴を表示したり、手動バックアップを作成したりできます。

ここから、以下の作業を行います。

  • バックアップ情報の表示 : 選択した環境のバックアップサービス情報をすばやく表示できます。 これには、自動バックアップの頻度、バックアップの保持期間、次のスケジュールバックアップ、最新の作成済みバックアップ、最も古い保持済みバックアップのタイムスタンプ情報などが含まれます。
  • バックアップ履歴の表示 :選択した環境で保持されているバックアップの完全なリストを表示できます。 各エントリには、バックアップの名前、サイズ、タイプ(Auto, Manual, or Uploaded)、および作成時刻が表示されます。 赤色のバックアップアイコンは、バックアップに失敗したことを示します。 その横には、 Backup failed というメッセージと、サポートに連絡するためのリンクが表示されます。
  • 手動バックアップの作成 :選択した環境のバックアップを手動で作成できます。 詳しくは Creating a Manual Backup をご覧ください。
note

バックアップのタイムスタンプはブラウザの位置情報に基づいて自動的に表示され、バックアップのスケジュールはUTC±00のタイムゾーンに基づいて表示されます。

環境管理者は、「バックアップ」ページから「アクション」ボタン(⋮)にアクセスし、保持しているバックアップのダウンロードや環境の復元を行うことができます。

管理者は、バックアップページからバックアップをダウンロードしたり、環境を復元したりできます。

また、画面上部の2つのセレクタから、バックアップのリストをステータス(失敗または成功)でフィルタリングしたり、関連する災害復旧(dr)環境(現在の環境に設定されている場合)からバックアップを表示したりすることもできます。

ディザスターリカバリーのバックアップを表示したり、ドロップダウン・メニューからバックアップのステータスでフィルタリングしたりすることができます。

これらのアクションの詳細と実行方法については、 バックアップのダウンロードとアップロード および バックアップからのデータの復元を参照してください。

手動バックアップの作成

Backups ページから環境を手動でバックアップするには、 Backup Now をクリックします。 このプロセスは、サービスの規模に応じて数分から数時間かかります。

起動すると、バックアップサービスのアイコンはバックアップ中であることを示し、画面上部にメッセージが表示されます。 新しいバックアップは、バックアップの履歴にも表示されます。

バックアップサービスのアイコンと画面上部のメッセージは、バックアップ中であることを示します。

warning

Liferayインスタンス上でデータが能動的に変更されている間に作成されたバックアップは、一貫性のないデータを作成する危険性があります。 完全に一貫したバックアップを行うためには、データベース管理者と調整して、手動バックアップを行っている間は更新をフリーズするようにしてください。

View logs をクリックするとLogsページにリダイレクトされ、リアルタイムでバックアップステージを確認することができます。 また、バックアップのログは、バックアップサービスのページの ログ タブで見ることができます。

サービスログの閲覧については、 ログ管理 を参照してください。

バックアップサービスの設定

Liferay Cloud コンソールまたはバックアップサービスの LCP.json ファイルから、プロジェクトのニーズに合わせてバックアップサービスを設定することができます。

バックアップサービスの設定に使用できる変数の一覧については、 環境変数のリファレンス を参照してください。

important

バックアップサービスを再設定するたびに、バックアップサービスが再起動し、数分間リクエストを受け取らなくなったり、設定によっては挙動が異なる場合があります。

Liferay Cloud Console から Backup Service を設定する。

以下の手順で、Liferay Cloud Console からバックアップサービスを設定します。

  1. バックアップサービスが導入されている環境に移動します。

  2. 環境メニューの サービス をクリックします。

  3. Backup] サービスをクリックします。

  4. 環境変数] タブをクリックします。

    ご使用の環境で、バックアップサービスの変数タブに移動します。

    また、環境 [概要] ページの [バックアップ] をクリックすると、バックアップサービスのページにアクセスできます。

  5. Environment Variables Reference のリストから変数を追加して、バックアップサービスを設定します。

  6. 変更を保存] をクリックします。

通常の環境変数とは別に、Liferay Cloud コンソールから Secret の変数を設定することも可能です。 詳しくは、 シークレットで安全な環境変数を管理 をご覧ください。

バックアップによるバックアップサービスの設定 LCP.json ファイル

以下の手順で、バックアップサービスの LCP.json ファイルを介してバックアップサービスを設定します。

  1. テキストエディターを使って、以下のパスにあるバックアップの LCP.json ファイルを開きます。 /{your_project_name}/backup/LCP.json

    note

    バージョン3.x.xのサービスを利用している場合、バックアップ用の[LCP.json]ファイルは次のパスにあります:[//lcp/backup/LCP.json]。

  2. 環境の項目までスクロールしてください。

     "env": {
       "LCP_BACKUP_FOLDER": "/opt/liferay/data",
       "LCP_DATABASE_SERVICE": "mydatabase",
       "LCP_MASTER_USER_PASSWORD": "mypassword"
     },
    
  3. Environment Variables Reference のリストから変数を追加して、バックアップサービスを設定します。

  4. ファイルを保存してプロジェクトにデプロイすると、設定が反映されます。

環境サービスのLCP.jsonファイルによる設定の詳細については、LCP.jsonによる設定を参照してください。

自動バックアップとクリーンアップのスケジューリング

バックアップの作成と削除の頻度を決定することは、データの保護とストレージの最適化に役立ちます。 本番環境のみスケジュールされたバックアップを行うことができます。

warning

Liferayインスタンス上でデータが能動的に変更されている間に作成されたバックアップは、一貫性のないデータを作成する危険性があります。データの不整合のリスクを軽減するために、アクティビティが少ない時間帯にバックアップを作成するように、バックアップスケジュールを設定します。 完全に一貫したバックアップを行うためには、データベース管理者と調整して、 手動バックアップ を行っている間は更新をフリーズするようにしてください。

自動バックアップのスケジュールを設定するには、2つの方法があります。

コンソールでスケジュールを設定する

  1. 選択した環境から、Backup サービスに移動し、 構成 タブをクリックします。

    バックアップスケジュールの設定にアクセスするには、[設定]タブをクリックします。

    note

    この環境にバックアップがない場合、バックアップサービスのページでSet up a regular backupのリンクをクリックすると、Configurationタブも表示されます。

  2. Create backups ドロップダウンメニューで、利用可能なオプションから必要なバックアップの頻度を選択します。 こんな選択肢があるんですね。

    • Daily : 毎日バックアップが作成されます。作成される時刻を設定できます(UTC±00のタイムゾーン)。

    • Weekly : 毎週バックアップが作成されます。曜日と作成時刻を設定できます(UTC±00タイムゾーン)。

    • Advanced : cron schedule valueを設定することで、より複雑な頻度を設定することができます。

    • Manually 自動バックアップは作成されません。 すべてのバックアップを手動で作成する必要があります。

    週間スケジュールを選択した場合は、曜日と時間を選択することができます。

  3. Remove backups older than」セレクタから必要な保存期間を選択します。

  4. [変更を保存] をクリックします。

バックアップサービスが再起動し、サービスが完全に再起動した時点で変更内容が適用されます。

環境変数でスケジュールを設定する

バックアップの作成と削除のタイミングをカスタマイズするには、環境ごとに以下の変数を使用します:

  • 自動バックアップ : 自動バックアップの頻度を設定するために、 LCP_BACKUP_CREATE_SCHEDULE 変数に cron スケジューリング の値を追加します。
  • 自動化されたクリーンアップ : 自動化されたバックアップ・クリーンアップの頻度を設定するために、 LCP_BACKUP_CLEANUP_SCHEDULE 変数に cron スケジューリング の値を追加します。
  • Retention Period : LCP_BACKUP_RETENTION_PERIOD 変数に数値(1~30の間)を追加して、自動クリーンアップで削除される前にバックアップを保持する日数を設定します。
note

標準および非標準の[cronスケジューリング構文](https://crontab.guru/)は、UTC±00タイムゾーンに基づいています。 非標準のcron構文を使用する場合、自動バックアップとクリーンアップは指定された値の先頭で実行されます。 例えば、@dailyは毎日UTCの00:00にバックアップを実行します。

これらの環境変数を使用するには、 Liferay Cloud コンソール (Backup サービス内) で設定するか、 プロジェクトリポジトリの backup/LCP.json ファイル に設定し Backup サービスを自分の環境にデプロイすることです。

warning

Liferay Cloud コンソールから環境変数を設定し、後で backup/LCP.json に異なる設定をしてリポジトリから Backup サービスをデプロイすると、リポジトリからの設定はコンソールで設定した環境変数を上書きしてしまいます。

次の backup/LCP.json の例では、12時間ごと(つまり、UTCの00:00と12:00)にバックアップを作成し、30日以上前のバックアップを削除する月次クリーンアップを実行するようになっています。

 "env": {
   "LCP_BACKUP_FOLDER": "/opt/liferay/data",
   "LCP_DATABASE_SERVICE": "mydatabase",
   "LCP_MASTER_USER_PASSWORD": "mypassword",
   "LCP_BACKUP_CREATE_SCHEDULE": "0 0,12 * * *",
   "LCP_BACKUP_CLEANUP_SCHEDULE": "@monthly",
   "LCP_BACKUP_RETENTION_PERIOD": "30"
 },

環境変数リファレンス

名前 デフォルト値 説明
LCP_BACKUP_CLEANUP_SCHEDULE 0 1 * *** この変数は、 Cronスケジューリングシンタックス を使って、自動クリーニングをスケジュールします。 クリーンアップでは、バックアップ保持期間を超えたバックアップをすべて削除します。
LCP_BACKUP_CREATE_SCHEDULE [5-55][0-1] * * * この変数は、 Cronスケジューリングシンタックス を使用して、自動バックアップをスケジュールします。 バックアップサービスのバージョン 3.2.1 以降では、値が指定されていない場合、ランダムなデフォルトが作成されます。
LCP_BACKUP_RESTORE_SCHEDULE 該当なし この変数は、 Cronスケジューリングシンタックス を使用して、自動復元をスケジュールします。 Disaster Recovery environmentsでの使用を目的としています。
LCP_BACKUP_RESTORE_STRATEGY OVERWRITE デフォルトでは、既存のインスタンスは直ちに停止されます。 既存のインスタンスを停止する前に、新しいデータベースインスタンスとボリュームを起動するには、 PREPARE_AND_SWAP 戦略を使用します。
LCP_BACKUP_RETENTION_PERIOD 30 この変数は、スケジュールされたクリーンアップでどのバックアップを削除するかを決定します。 クリーンアップによって削除される前にバックアップを保持する日数を選択します。 最大保存期間は30日です。
LCP_DATABASE_SERVICE database データベースサービスのID。
LCP_DBNAME lportal データベース名。
LCP_DEBUG_LOG false Backupサービスのデバッグログを有効にします。 true または falseに設定します。
LCP_GCP_STORAGE_UPLOAD_MAX_RETRIES 6 バックアップのアップロードに失敗した場合に再試行する回数の最大値です。 この制限を超えると、アップロードは中断され、完全にやり直しになることがあります(最大2回まで)。
LCP_GCP_STORAGE_UPLOAD_MAX_RETRY_DELAY 64 LCP_GCP_STORAGE_UPLOAD_MAX_RETRIES)で設定された各リトライ間の遅延時間(秒単位)。
LCP_GCP_STORAGE_UPLOAD_RETRY_DELAY_MULTIPLIER 3 LCP_GCP_STORAGE_UPLOAD_MAX_RETRY_DELAY で設定された遅延時間を、その後の再試行ごとに乗算します。
LCP_GCP_STORAGE_UPLOAD_TIMEOUT 6000 バックアップアップロード要求(または再試行)間の最大遅延時間(秒)。 LCP_GCP_STORAGE_UPLOAD_RETRY_DELAY_MULTIPLIER が遅延時間を増加できる量の上限を設定します。
LCP_MASTER_USER_NAME dxpcloud マスターユーザー名。
LCP_MASTER_USER_PASSWORD LCP_PROJECT_MASTER_TOKEN マスターパスワード。

追加情報