バックアップサービスの概要
プロジェクトのデータを守るためには、定期的にバックアップを取ることが重要です。 Liferay Cloudのバックアップサービスは、環境データのイテレーションを保存し、必要に応じて環境の復元に使用することができます。 これらのバックアップには、Liferay DXP Database と [LIFERAY_HOME]/data
フォルダの全内容の両方が含まれます。
どの環境のバックアップページからでも、バックアップの作成、保持されたバックアップの表示またはダウンロード、そしてバックアップから環境を復元することができます。
また、Liferay Cloud コンソールまたはバックアップサービスの LCP.json
ファイルから、プロジェクトのニーズに合わせてバックアップサービスを設定することができます。
詳細は、 バックアップサービスの制限 のセクションを参照してください。
バックアップのページ
どの環境のバックアップページからでも、バックアップサービスの情報や保持されているバックアップの確認、手動でバックアップを作成したりすることができます。
バックアップページは、バックアップサービスのバージョンが4.3.5よりも古い場合、実稼働環境でのみ利用できます。
以下の手順で、バックアップページにアクセスします。
- どの環境からでもいいので、左のメニューにある [バックアップ] をクリックします。
ここから、以下の作業を行います。
- バックアップ情報の表示 : 選択した環境のバックアップサービス情報をすばやく表示できます。 これには、自動バックアップの頻度、バックアップの保持期間、次のスケジュールバックアップ、最新の作成済みバックアップ、最も古い保持済みバックアップのタイムスタンプ情報などが含まれます。
- バックアップ履歴の表示 :選択した環境で保持されているバックアップの完全なリストを表示できます。 各エントリには、バックアップの名前、サイズ、タイプ(
Auto
,Manual
, orUploaded
)、および作成時刻が表示されます。 赤色のバックアップアイコンは、バックアップに失敗したことを示します。 その横には、 Backup failed というメッセージと、サポートに連絡するためのリンクが表示されます。 - 手動バックアップの作成 :選択した環境のバックアップを手動で作成できます。 詳しくは Creating a Manual Backup をご覧ください。
バックアップのタイムスタンプはブラウザの位置情報に基づいて自動的に表示され、バックアップのスケジュールはUTC±00のタイムゾーンに基づいて表示されます。
環境管理者は、「バックアップ」ページから「アクション」ボタン(⋮)にアクセスし、保持しているバックアップのダウンロードや環境の復元を行うことができます。
また、画面上部の2つのセレクタから、バックアップのリストをステータス(失敗または成功)でフィルタリングしたり、関連する災害復旧(dr
)環境(現在の環境に設定されている場合)からバックアップを表示したりすることもできます。
これらのアクションの詳細と実行方法については、 バックアップのダウンロードとアップロード および バックアップからのデータの復元を参照してください。
手動バックアップの作成
Backups ページから環境を手動でバックアップするには、 Backup Now をクリックします。 このプロセスは、サービスの規模に応じて数分から数時間かかります。
起動すると、バックアップサービスのアイコンはバックアップ中であることを示し、画面上部にメッセージが表示されます。 新しいバックアップは、バックアップの履歴にも表示されます。
Liferayインスタンス上でデータが能動的に変更されている間に作成されたバックアップは、一貫性のないデータを作成する危険性があります。 完全に一貫したバックアップを行うためには、データベース管理者と調整して、手動バックアップを行っている間は更新をフリーズするようにしてください。
View logs をクリックするとLogsページにリダイレクトされ、リアルタイムでバックアップステージを確認することができます。 また、バックアップのログは、バックアップサービスのページの ログ タブで見ることができます。
サービスログの閲覧については、 ログ管理 を参照してください。
バックアップサービスの設定
Liferay Cloud コンソールまたはバックアップサービスの LCP.json
ファイルから、プロジェクトのニーズに合わせてバックアップサービスを設定することができます。
バックアップサービスの設定に使用できる変数の一覧については、 環境変数のリファレンス を参照してください。
バックアップサービスを再設定するたびに、バックアップサービスが再起動し、数分間リクエストを受け取らなくなったり、設定によっては挙動が異なる場合があります。
Liferay Cloud Console から Backup Service を設定する。
以下の手順で、Liferay Cloud Console からバックアップサービスを設定します。
バックアップサービスが導入されている環境に移動します。
環境メニューの サービス をクリックします。
[Backup] サービスをクリックします。
[環境変数] タブをクリックします。
また、環境 [概要] ページの [バックアップ] をクリックすると、バックアップサービスのページにアクセスできます。
Environment Variables Reference のリストから変数を追加して、バックアップサービスを設定します。
[変更を保存] をクリックします。
通常の環境変数とは別に、Liferay Cloud コンソールから Secret の変数を設定することも可能です。 詳しくは、 シークレットで安全な環境変数を管理 をご覧ください。
バックアップによるバックアップサービスの設定 LCP.json
ファイル
以下の手順で、バックアップサービスの LCP.json
ファイルを介してバックアップサービスを設定します。
テキストエディターを使って、以下のパスにあるバックアップの
LCP.json
ファイルを開きます。/{your_project_name}/backup/LCP.json
noteバージョン3.x.xのサービスを利用している場合、バックアップ用の[LCP.json]ファイルは次のパスにあります:[//lcp/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インスタンス上でデータが能動的に変更されている間に作成されたバックアップは、一貫性のないデータを作成する危険性があります。データの不整合のリスクを軽減するために、アクティビティが少ない時間帯にバックアップを作成するように、バックアップスケジュールを設定します。 完全に一貫したバックアップを行うためには、データベース管理者と調整して、 手動バックアップ を行っている間は更新をフリーズするようにしてください。
自動バックアップのスケジュールを設定するには、2つの方法があります。
コンソールでスケジュールを設定する
選択した環境から、Backup サービスに移動し、 構成 タブをクリックします。
noteこの環境にバックアップがない場合、バックアップサービスのページでSet up a regular backupのリンクをクリックすると、Configurationタブも表示されます。
Create backups ドロップダウンメニューで、利用可能なオプションから必要なバックアップの頻度を選択します。 こんな選択肢があるんですね。
Daily : 毎日バックアップが作成されます。作成される時刻を設定できます(UTC±00のタイムゾーン)。
Weekly : 毎週バックアップが作成されます。曜日と作成時刻を設定できます(UTC±00タイムゾーン)。
Advanced : cron schedule valueを設定することで、より複雑な頻度を設定することができます。
Manually 自動バックアップは作成されません。 すべてのバックアップを手動で作成する必要があります。
「Remove backups older than」セレクタから必要な保存期間を選択します。
[変更を保存] をクリックします。
バックアップサービスが再起動し、サービスが完全に再起動した時点で変更内容が適用されます。
環境変数でスケジュールを設定する
バックアップの作成と削除のタイミングをカスタマイズするには、環境ごとに以下の変数を使用します:
- 自動バックアップ : 自動バックアップの頻度を設定するために、
LCP_BACKUP_CREATE_SCHEDULE
変数に cron スケジューリング の値を追加します。 - 自動化されたクリーンアップ : 自動化されたバックアップ・クリーンアップの頻度を設定するために、
LCP_BACKUP_CLEANUP_SCHEDULE
変数に cron スケジューリング の値を追加します。 - Retention Period :
LCP_BACKUP_RETENTION_PERIOD
変数に数値(1~30の間)を追加して、自動クリーンアップで削除される前にバックアップを保持する日数を設定します。
標準および非標準の[cronスケジューリング構文](https://crontab.guru/)は、UTC±00タイムゾーンに基づいています。 非標準のcron構文を使用する場合、自動バックアップとクリーンアップは指定された値の先頭で実行されます。 例えば、@daily
は毎日UTCの00:00にバックアップを実行します。
これらの環境変数を使用するには、 Liferay Cloud コンソール (Backup サービス内) で設定するか、 プロジェクトリポジトリの backup/LCP.json
ファイル に設定し Backup サービスを自分の環境にデプロイすることです。
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 |
マスターパスワード。 |