バックアップのダウンロードとアップロード
Liferay Cloud バックアップサービスは、環境のデータベースと Liferay インスタンスの LIFERAY_HOME/data
フォルダーの全内容のバックアップを作成します。 このコンテンツはアーカイブファイル(それぞれ.gz
と .tgz
)として保存されており、Liferay Cloud コンソールからダウンロードすることができます。
ユーザーは、Liferay Cloud Console を使用して、または Backup APIs を使用して、環境のバックアップをダウンロードまたはアップロードすることもできます。
バックアップページは、バックアップサービスのバージョンが4.3.5よりも古い場合、実稼働環境でのみ利用できます。
コンソールによるバックアップのダウンロード
以下の手順で、選択した環境の [バックアップ] ページからバックアップをダウンロードします:
ダウンロードしたいバックアップの Actions ボタン( ⋮ )をクリックします。
[ダウンロード] をクリックします。
Database(
.gz
) または Liferay(.tgz
) のファイルをクリックすると、ダウンロードが始まります。 これらのZIPアーカイブを合わせて、環境のバックアップとします。noteバックアップサービスがまだバージョン
4.2
以上にアップデートされていない場合、データベースボリュームは.gz
ではなく.tgz
アーカイブとしてダウンロードされます。
選択した環境の管理者のみが、バックアップページからバックアップをダウンロードできます。
コンソールによるバックアップのアップロード
Liferay Cloud では、データベースのテーブルとカラムの名前は大文字と小文字が区別されます。 データベースをアップロードする前に、テーブル名がパスカルケースであることを確認してください。 詳細は Ensuring Correct Table Capitalization を参照してください。
また、 選択した環境の [バックアップ] ページから、プロジェクトにバックアップをアップロードすることもできます。
Liferay Cloudにバックアップをアップロードする前に、データベースダンプとドキュメントライブラリを別々のアーカイブに圧縮する必要があります。 オンプレミス環境での準備については、 Preparing Database and Document Library for Upload を参照してください。
アップロードが開始されると、アップロードが完了するまで、バックアップサービスは他のバックアップの生成やリストアに利用できません。
バックアップ のページから以下の手順を行います。
画面上部の 「バックアップをアップロード…」をクリックします。画面上部の をクリックします。
バックアップのアップロードページで、該当する環境を展開し、データベースとドキュメントライブラリの両方の
[+]
アイコンをクリックしてアップロードします。データベース・ダンプとドキュメント・ライブラリの両方がアップロードされたら、 [アップロードの開始] をクリックします。
Liferay Cloudは、アップロードしたファイルを使ってバックアップの生成を開始し、環境にリストアできるリストに追加します。 バックアップが生成されている間は、他のバックアップの生成や復元はできません。
バックアップが生成されると、ページに成功のメッセージが表示され、サービスが正常に動作するようになります。
バックアップサービスのAPI
バックアップサービスにはAPIが用意されており、バックアップのダウンロードやアップロードにも利用できます。 これらのAPIは、 curl
のようなコマンドラインツールを使って呼び出すことができます。
ホスト名の取得
バックアップAPIを呼び出すには、バックアップサービスのホスト名が必要です。 これは、 サービス のページにあります。
バックアップサービスのホスト名は、サービス名、プロジェクト名、環境名を組み合わせたものです。
この例で考えてみましょう。
- サービス名:
バックアップ
- プロジェクト名:
lfrjoebloggs
- 環境名:
prd
- ホスト名:
backup-lfrjoebloggs-prd.lfr.cloud
認証
ベーシック認証やユーザーアクセストークンを使って、リクエストを認証することができます。
なお、SSOが有効な場合は、トークン認証が必要です。 このトークンは、クッキー access_token
から取得し、 dxpcloud-authorization
ヘッダーで使用することができます。
以下は、upload APIでトークン認証を使用する例です。
curl -X POST \
https://backup-<PROJECT-NAME>-<ENV>.lfr.cloud/backup/upload
-H 'Content-Type: multipart/form-data' \
-H 'dxpcloud-authorization.Bearer -H 'dxpcloud-authorization.Backup/upload' \ -H 'Content-Type: multipart/form-data' , dxpcloud-authorization:Bearer <USER_TOKEN>' ■
-F '[email protected]/my-folder/database.gz' ■
-F '[email protected]/my-folder/volume.tgz'
ヘッダー dxpcloud-authorization
でユーザートークンを渡すことは、バックアップサービスのバージョン 3.2.0
以降でのみ機能します。 以前のバージョンは、少なくとも 3.2.0
にアップグレードする必要があります。 それ以前のバージョンへのリクエストは、ヘッダ Authorization.Bearer
を使用する必要があります。Bearer <PROJECT_MASTER_TOKEN>
. プロジェクトマスタートークンは、Liferay Cloud コンソールの任意のシェルで env | grep LCP_PROJECT_MASTER_TOKEN
コマンドを実行することで確認することができます。
データベースAPIダウンロード
データベースをダウンロードするAPIには、 .gz
ファイルを返すエンドポイントがあります。 id
パラメータはバックアップIDを表しており、これは「バックアップ」ページで確認できます。 このIDは、2つのダッシュで区切られた3つの文字列で設定 されています(例: dxpcloud-lqgqnewltbexuewymq-201910031723
)。
パラメーター
名前 | 種類 | 必須 |
---|---|---|
id |
文字列 |
はい |
curlの例
curl -X GET \
https://backup-<PROJECT-NAME>-<ENV>.lfr.cloud/backup/download/database/id \
-u [email protected]:password \
--output database.gz
バックアップサービスがまだバージョン 4.2
以上にアップデートされていない場合、データベースボリュームは .gz
ではなく .tgz
アーカイブとしてダウンロードされます。
Data Volume APIのダウンロード
データボリュームをダウンロードするAPIには、 .tgz
ファイルを返すエンドポイントがあります。 id
パラメータはバックアップIDを表しており、これは「バックアップ」ページで確認できます。 このIDは、2つのダッシュで区切られた3つの文字列で設定 されています(例: dxpcloud-lqgqnewltbexuewymq-201910031723
)。
パラメーター
名前 | 種類 | 必須 |
---|---|---|
id |
文字列 |
はい |
curlの例
curl -X GET \
https://backup-<PROJECT-NAME>-<ENV>.lfr.cloud/backup/download/volume/id \
-u [email protected]:password \
--output volume.tgz
バックアップAPIをアップロードする
以下の手順で、upload backup API を使って Liferay Cloud にバックアップをアップロードします。
データベースファイル を作成します。
データベースとボリュームのファイルを使って、 バックアップAPIを起動します。
アップロードAPIを使用する前に、データベースダンプとドキュメントライブラリを別々のアーカイブに圧縮する必要があります。 オンプレミス環境でのアップロードの準備については、 データベースとドキュメント・ライブラリーのアップロードの準備 を参照してください。
Backup APIの起動
パラメーター
名前 | 種類 | 必須 |
---|---|---|
データベース |
ファイル |
はい |
体積 |
ファイル |
はい |
curlの例
curl -X POST \
https://backup-<PROJECT-NAME>-<ENV>.lfr.cloud/backup/upload \
-H 'Content-Type: multipart/form-data' \
-F '[email protected]/my-folder/database.gz' \
-F '[email protected]/my-folder/volume.tgz' \
-u [email protected]:password。
データベースとドキュメントライブラリのアップロード準備
環境のバックアップをLiferay Cloudにアップロードするには、その環境のデータベースとドキュメントライブラリを別々のアーカイブファイルとして用意する必要があります。
データベースファイルの作成
MySQLダンプを作成し( .sql
スクリプトとして)、それを .gz
アーカイブに圧縮するには、以下のコマンドを実行します。
mysqldump -uroot -ppassword --add-drop-database --databases lportal | gzip -c | cat > database.gz
Backup サービスが少なくともバージョン 4.2
に更新されていない場合は、以下のコマンドを実行してアーカイブを .tgz
ファイルに変換する必要があります。tar zcvf database.tgz database.gz
. そして、出来上がった .tgz
アーカイブをアップロードに使用します。
データベース
および add-drop-database
オプションは、バックアップの復元が正しく機能するために必要です。 また、 /backup/download
APIを使用して、バックアップサービスがどのようにMySQLのダンプファイルを作成するかを確認することができます。
これらのオプションを指定した場合、作成されるダンプファイルには、create tableステートメントの直前に以下のコードが含まれます。
--
-- 現在のデータベースです。`lportal`
--
/*!40000 DROP DATABASE IF EXISTS `lportal`*/;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `lportal` /*!40100 DEFAULT CHARACTER SET utf8 */;
USE `lportal`.CREATE DATABASE */ `lportal`.DEFAULT CHARACTER SET utf8 */ USE `lportal`.DATABASE */ `lportaute */ `lportal`.DATABASE */
ボリュームファイルの作成
バックアップのアップロード時にLiferay Cloudのパーミッションが設定されていない場合、その後の環境へのバックアップの復元に時間がかかることがあります。 長いリストア時間を避けるために、LIFERAY_HOME
フォルダに移動して、ドキュメントライブラリを圧縮する前に次のコマンドを実行してください。chown -R 1000:1000 data/document_library/`.
このコマンドを実行すると、データボリュームが圧縮されます。
cd $LIFERAY_HOME/data && tar -czvf volume.tgz document_library