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

どの環境のバックアップページからでも、バックアップの作成、保持されたバックアップの表示またはダウンロード、そしてバックアップから環境を復元することができます。
また、Liferay Cloudコンソールや、バックアップサービスのLCP.jsonファイルから、プロジェクトのニーズに合わせてバックアップサービスを設定することができます。
詳細については、 バックアップサービスの制限事項 のセクションを参照してください。
バックアップページ
どの環境のバックアップページからでも、バックアップサービスの情報や保持されているバックアップの確認、手動でバックアップを作成したりすることができます。
バックアップページは、バックアップサービスのバージョンが4.3.5より古い場合、本番環境でのみ利用可能です。
以下の手順で、バックアップページにアクセスします。
- どの環境からでも、左側のメニューにある「バックアップ」をクリックしてください。

ここから、以下の作業を行います。
-
バックアップ情報の表示: 選択した環境のバックアップサービス情報をすばやく表示できます。これには、自動バックアップの頻度、バックアップの保持期間、次回のスケジュールされたバックアップ、最新の作成済みバックアップ、および保持されている最古のバックアップのタイムスタンプ情報が含まれます。
-
バックアップ履歴の表示: 選択した環境で保持されているバックアップの完全なリストを表示できます。各エントリには、バックアップの名前、サイズ、タイプ(
自動、手動、またはアップロード済み)、および作成時刻が表示されます。赤いバックアップアイコンは、バックアップが失敗したことを示します。その横には「 バックアップ失敗 」というメッセージと、サポートに問い合わせるためのリンクがあります。 -
手動バックアップの作成: 選択した環境のバックアップを手動で作成できます。詳細については、 手動バックアップの作成 を参照してください。
バックアップのタイムスタンプはブラウザの位置情報に基づいて自動的に表示されますが、バックアップスケジュールはUTC±00のタイムゾーンに基づいています。
環境管理者は、[バックアップ]ページからアクションボタン(⋮)にアクセスし、保持しているバックアップのダウンロードや環境の復元を行うことができます。

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

これらの操作を実行する方法の詳細と手順については、 バックアップのダウンロードとアップロード および バックアップからのデータの復元 を参照してください。
手動バックアップの作成
バックアップページから環境を手動でバックアップするには、 今すぐバックアップ をクリックします。このプロセスは、サービスの規模に応じて数分から数時間かかります。
起動すると、バックアップサービスのアイコンはバックアップ中であることを示し、画面上部にメッセージが表示されます。新しいバックアップは、[Backup History]にも表示されます。

Liferayインスタンス上でデータが活発に変更されている間にバックアップを作成すると、データの一貫性が損なわれるリスクがあります。完全に一貫性のあるバックアップを確保するため、データベース管理者と連携して、手動バックアップを実行する間、アップデートを一時停止してください。
をクリックしてログを表示 をクリックすると、ログページにリダイレクトされ、そこでバックアップの段階をリアルタイムで確認できます。バックアップ サービスのページの ログ タブでバックアップ ログを表示することもできます。
サービスログの表示方法の詳細については、 Liferay Cloud サービスログの読み取り を参照してください。
バックアップサービスの構成
Liferay CloudコンソールまたはバックアップサービスのLCP.jsonファイルから、プロジェクトのニーズに合わせてバックアップサービスを設定することができます。
バックアップサービスの設定に使用できる変数の一覧については、 環境変数のリファレンス を参照してください。
バックアップサービスが再構成されると、サービスは再起動され、数分間リクエストの受信を停止したり、設定によっては動作が異なったりする場合があります。
Liferay Cloud Console を介したバックアップサービスの設定
-
バックアップサービスが導入されている環境に移動します。
-
環境メニューの サービス をクリックします。
-
バックアップ サービスをクリックすると、バックアップ サービスの環境変数が表示されます。

環境の 概要 ページで バックアップ をクリックすると、バックアップ サービスのページにもアクセスできます。
-
バックアップ サービスを設定するには、 環境変数リファレンス リストから変数を追加します。
-
変更を保存 をクリックします。
通常の環境変数に加えて、Liferay Cloud コンソールを介して シークレット 変数を設定することもできます。詳細については、 シークレットを使用した安全な環境変数の管理 を参照してください。
バックアップ LCP.json ファイルを使用してバックアップ サービスを設定する
-
テキストエディタを使用して、次のパスにあるバックアップファイル
LCP.jsonを開きます:/{your_project_name}/backup/LCP.json。 -
環境に関するセクションまでスクロールしてください。
"env": { "LCP_BACKUP_FOLDER": "/opt/liferay/data", "LCP_DATABASE_SERVICE": "mydatabase", "LCP_MASTER_USER_PASSWORD": "mypassword" }, -
Environment Variables Reference のリストから変数を追加して、バックアップサービスを設定します。
-
ファイルを保存し、プロジェクトにデプロイして設定を適用してください。
環境サービスを LCP.json ファイル を介して構成する方法の詳細については、 LCP.json を参照してください。
自動バックアップとクリーンアップのスケジュール設定
バックアップの作成と削除の頻度を決定することは、データの保護とストレージの最適化に役立ちます。
Liferayインスタンス上でデータが活発に変更されている最中にバックアップを作成すると、データの一貫性が損なわれるリスクがあります。データ不整合のリスクを軽減するため、バックアップスケジュールはアクティビティが少ない時間帯に開始するように設定してください。完全に一貫性のあるバックアップを確保するには、データベース管理者と連携して、手動バックアップの実行中は更新を停止し、バックアップの実行時間をクリーンアップスケジュール(LCP_BACKUP_CLEANUP_SCHEDULE)とは異なる時間帯に設定してください。
自動バックアップスケジュールを設定する方法は2つあります。
コンソール経由でスケジュールを設定する
-
選択した環境からバックアップ サービスに移動し、 構成 タブをクリックします。
注記この環境にバックアップがない場合、バックアップ サービス ページの 定期バックアップの設定 リンクをクリックすると、構成タブに移動します。
-
「バックアップの作成」ドロップダウンメニューで、利用可能なオプションから希望するバックアップ頻度を選択してください。
-
毎日: バックアップは毎日作成されます。作成時刻を設定できます (UTC±00 タイムゾーン)。本番環境では、毎日のバックアップを推奨します。
-
毎週: バックアップは毎週作成されます。作成する曜日と時刻 (UTC±00 タイムゾーン) を設定できます。
-
詳細設定: より複雑な頻度を設定するために、 cron スケジュール 値を設定できます。
-
未設定 (手動): 自動バックアップは作成されません。バックアップはすべて手動で作成する必要があります。これは非本番環境におけるデフォルト設定です。

-
-
セレクターから希望の保持期間を選択してください。
-
をクリックして変更を保存します。
バックアップサービスが再起動され、サービスが完全に再起動した時点で変更が適用されます。
環境変数を使用したスケジュールの設定
環境ごとに以下の変数を使用して、バックアップの作成および削除のタイミングをカスタマイズしてください。
-
自動バックアップ:
LCP_BACKUP_CREATE_SCHEDULE変数に cron スケジューリング 値を追加して、自動バックアップの頻度を設定します。 -
自動クリーンアップ:
LCP_BACKUP_CLEANUP_SCHEDULE変数に cron スケジューリング 値を追加して、自動バックアップ クリーンアップの頻度を設定します。 -
保持期間:
LCP_BACKUP_RETENTION_PERIOD変数に数値 (0~30) を追加して、自動クリーンアップによって削除される前にバックアップが保持される日数を設定します。
標準および非標準の cron スケジューリング構文 はどちらも UTC±00 タイムゾーンに基づいています。標準以外のcron構文を使用する場合、自動バックアップとクリーンアップは指定された値の開始時に実行されます。例えば、 @daily は毎日 00:00 UTC にバックアップを実行します。
これらの環境変数は、Liferay Cloud コンソール(バックアップサービス内)で設定するか、プロジェクトリポジトリ内のbackup/LCP.jsonファイルに設定して、バックアップサービスを環境にデプロイすることで利用できます。
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"
},
バックアップサービスのパフォーマンス向上
バックアップサービスを設定することで、バックアップのサイズを縮小したり、バックアップの作成および復元プロセスを高速化してパフォーマンスを向上させることができます。
生成済みドキュメントライブラリファイルをバックアップから除外する
Liferay SaaS Liferay PaaS + Google Cloud Storage Liferay DXP 2024.Q3+ Backup Service 5.17.0+
バックアップの作成および復元時に、生成されたドキュメントライブラリファイル(アダプティブメディア、ドキュメントサムネイル、ドキュメントプレビューなど)を除外するように選択できます。 Liferayは必要に応じてこれらのファイルを再生成するため、バックアップする必要はありません。この機能を有効にするには、 LCP_BACKUP_EXCLUDE_GENERATED_DL_FILES_ON_BACKUP_CREATE と LCP_BACKUP_EXCLUDE_GENERATED_DL_FILES_ON_BACKUP_RESTORE の値を true に設定します。バックアップするデータ量を減らすことで、バックアップはより高速かつ軽量になります。
これらの変数は、Liferay SaaS および Google Cloud Storage を使用する Liferay PaaS プロジェクトに適用されます。ファイルシステムストアを使用するLiferay PaaSプロジェクトでは、バックアップサービスはそれらを無視し、バックアップには生成されたすべてのファイルが含まれます。起動時に、サービスは無視する各変数について以下のメッセージをログに記録します。
Project not on LXC cluster, ignoring environment variable [LCP_BACKUP_EXCLUDE_GENERATED_DL_FILES_ON_BACKUP_CREATE]
サービスは変数が有効になった際にログを出力しないため、起動後にこのメッセージが表示されない場合は、設定が有効になっています。
移転戦略の発見
Google Cloud Storage Liferay DXP 2024.Q1.6+ Backup Service 5.17.0+
GCS(Google Cloud Storage)上のバックアップを復元する場合、バックアップサービスは転送戦略を使用する必要があります。 Liferay Cloud は、ドキュメント ライブラリの 2 つの転送戦略をサポートしています。 gsutil および rclone。
バックアップサービスのログを確認することで、どの転送戦略が使用されているかを確認できます。 GCSでバックアップを復元した後、次のようなメッセージが表示されます。
Spawning [TRANSFER_STRATEGY] process to transfer files from [SOURCE] to [DESTINATION]
[TRANSFER_STRATEGY] に記述されているコマンドは、 gsutil または rclone のいずれかです。
LCP_DOCUMENT_LIBRARY_GCS_TRANSFER_STRATEGY 環境変数を使用して転送戦略を選択できます。デフォルトでは、バックアップ サービスは gsutil を使用して、 rclone をサポートしていない Liferay DXP バージョンでバックアップがスムーズに実行されるようにします。
バックアップ転送戦略として、Rclone は gsutil よりも高速で軽量であり、エラーが発生しにくいです。上記のとおり、Liferay DXP のバージョンがサポートしている場合は、常に rclone を使用してください。
バックアップサービスのバージョン管理
Liferay Cloudは、バックアップサービスの最小バージョンを設定しています。これは通常、他のサービスが古いバックアップサービスと互換性がなくなった場合、または新しいバージョンで重要な修正や機能強化が導入された場合に行われます。
Liferay Cloudが最小バージョンを引き上げると、バックアップサービスが新しい最小要件を満たしていない場合は、自動的にアップグレードされます。 Liferay Cloudが下位バージョンのデプロイメントを上書きする場合、ログと概要ページにメッセージが表示されます。

Liferay Cloudが最小バージョンを引き下げても、バックアップサービスには影響はありません。新しい要件を満たす旧バージョンを手動でデプロイすることも可能です。
主要デプロイメントディレクトリ
| ファイルの種類 | パス | 説明 |
|---|---|---|
| SQLスクリプト | backup/configs/[ENV]/scripts/ | ここにある .sql スクリプトは、バックアップ復元後に自動的に実行されます。 |
環境変数リファレンス
| 名前 | デフォルト値 | 説明 |
|---|---|---|
LCP_BACKUP_CLEANUP_SCHEDULE | 0 1 * * * | cron スケジューリング構文 を使用して自動クリーンアップをスケジュールします。クリーンアップ処理では、バックアップ保持期間を超過したすべてのバックアップが削除されます。 LCP_BACKUP_CREATE_SCHEDULE と競合してはなりません。 |
LCP_BACKUP_CREATE_SCHEDULE | [5-55][0-1] * * * | cron スケジューリング構文 を使用して自動バックアップをスケジュールします。 LCP_BACKUP_CLEANUP_SCHEDULE と競合してはなりません。バックアップ サービスのバージョン 3.2.1 以降では、値が指定されていない場合、ランダムなデフォルト値が作成されます。 |
LCP_BACKUP_EXCLUDE_GENERATED_DL_FILES_ON_BACKUP_CREATE | false | バックアップを作成する際に、生成されたドキュメントライブラリファイル(アダプティブメディア、サムネイル、プレビュー)を除外します。 Liferay SaaSおよびGoogle Cloud Storageを使用したLiferay PaaSにのみ適用されます。詳細については、 バックアップから生成されたドキュメントライブラリファイルを除外する を参照してください。 |
LCP_BACKUP_EXCLUDE_GENERATED_DL_FILES_ON_BACKUP_RESTORE | false | バックアップを復元する際に、生成されたドキュメントライブラリファイル(アダプティブメディア、サムネイル、プレビュー)を除外します。 Liferay SaaSおよびGoogle Cloud Storageを使用したLiferay PaaSにのみ適用されます。詳細については、 バックアップから生成されたドキュメントライブラリファイルを除外する を参照してください。 |
LCP_BACKUP_RESTORE_SCHEDULE | 該当なし | cron スケジューリング構文 を使用して自動復元をスケジュールします。災害復旧環境で使用することを目的としています。 |
LCP_BACKUP_RESTORE_DL_DOWNLOAD_AND_EXTRACT_STRATEGY | download-then-extract | ドキュメントライブラリのダウンロードおよび抽出戦略を決定します。頻繁に変更されない静的データのバックアップには download-then-extract を、頻繁な変更があり迅速な復旧が必要なデータパイプラインには stream-pipeline を使用してください。 |
LCP_BACKUP_RETENTION_PERIOD | 30 | 定期クリーンアップ時に削除するバックアップを決定します。クリーンアップによって削除されるまでのバックアップの保持日数を選択してください。 0から30までの値のみが許可されます。 |
LCP_DATABASE_SERVICE | database | データベースサービスのID。 |
LCP_DBNAME | lportal | データベース名。 |
LCP_DEBUG_LOG | false | バックアップサービスのデバッグログを有効にします。 true または false に設定します。 |
LCP_DOCUMENT_LIBRARY_GCS_TRANSFER_STRATEGY | gsutil | 文書ライブラリの転送戦略を決定します。 rclone は最低限の Liferay バージョンを必要としますが、 パフォーマンスが向上しています。 |
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 | マスターパスワード。 |
LCP_SERVICE_LOG_LEVEL | INFO | 表示するログメッセージの優先度が最も低いレベル。ログレベルの名前または数値を設定します。詳細については、 ログレベル を参照してください。 |