バックアップ管理
アクティブなスターター環境の手動バックアップは、Cloud Console の [Backup] ボタンを使用するか、magento-cloud snapshot:create
コマンドを使用して、いつでも実行できます。
バックアップまたは スナップショット は、実行中のサービス(MySQL データベース)のすべての永続的なデータと、マウントされたボリューム(var、pub/media、app/etc)に保存されたすべてのファイルを含む、環境データの完全なバックアップです。 コードは Git ベースのリポジトリに既に保存されているので、スナップショットにはコードが含まれていま ん。 スナップショットのコピーはダウンロードできません。
バックアップ/スナップショット機能は、ステージング環境および実稼動環境には適用 されません。これらの環境は、デフォルトで災害復旧用の通常のバックアップを受け取ります。 詳細は、「Pro バックアップと障害回復」を参照してください。 ステージング環境および実稼動環境での自動ライブバックアップとは異なり、バックアップは自動 ではありません。 バックアップを手動で作成する 、または Starter または Pro の統合環境のバックアップを定期的に作成する cron ジョブをセットアップするのは ユーザーの責任です。
手動バックアップの作成
アクティブなスターター環境と Integration Pro 環境の手動バックアップを Cloud Console から作成するか、Cloud CLI からスナップショットを作成できます。 環境の 管理者の役割が必要です。
Cloud Console を使用してスターター環境のバックアップを作成するには:
-
Cloud Console にログインします。
-
プロジェクトナビゲーションバーから環境を選択します。 環境がアクティブである必要があります。
-
バックアップ ビューで、「Backup」をクリックします。 このオプションは、Pro 環境では使用できません。
{width="150"}
Cloud Console を使用して統合環境のバックアップを作成するには:
- Cloud Console にログインします。
- プロジェクトナビゲーションバーから統合/開発環境を選択します。 環境がアクティブである必要があります。
- 右上のメニューで「Backup」オプションを選択します。 このオプションは、Starter 環境と Pro 環境の両方で使用できます。
- Yes ボタンをクリックします。
magento-cloud
CLI を使用してスナップショットを作成するには:
-
ローカルワークステーションで、をプロジェクトディレクトリに変更します。
-
スナップショットを作成する環境ブランチをチェックアウトします。
-
スナップショットを作成します。
code language-bash magento-cloud snapshot:create --live
または、
magento-cloud backup
の短いコマンドを使用することもできます。--live
オプションを指定すると、ダウンタイムを避けるために環境は実行されたままになります。 オプションの完全なリストを表示するには、magento-cloud snapshot:create --help
と入力します。応答の例:
code language-none Creating a snapshot of develop-branch Waiting for the activity ID (User created a backup of develop-branch): Creating backup of develop-branch Created backup my-snapshot [============================] 45 secs (complete) Activity ID succeeded Snapshot name: my-snapshot
-
最新のスナップショットを検証します。
code language-bash magento-cloud snapshot:list
リストは、スナップショットのステータスに関する情報を返します。
code language-none Snapshots on the project (project-id), environment develop-branch (type: development): +---------------------------+----------------------+------------+ | Created | Snapshot ID | Restorable | +---------------------------+----------------------+------------+ | 2023-03-08T17:07:01+00:00 | my-snapshot | true | +---------------------------+----------------------+------------+
手動バックアップの復元
環境に対する 管理者アクセスが必要です。 手動バックアップを リストアする には、最大で 7 日間 かかります。 バックアップを復元しても、現在の Git ブランチのコードは変更されません。 この方法でのバックアップの復元は、Pro ステージング環境および実稼動環境には適用されません。Pro バックアップおよび障害回復を参照してください。
復元時間は、データベースのサイズによって異なります。
- 大規模なデータベース(200 GB 以上)では 5 時間かかる場合がある
- 中程度のデータベース(150 GB)で 2 1/2 時間かかる場合がある
- 小規模なデータベース(60 GB)では 1 時間かかる場合がある
- 以前のコードにロールバックしたり、環境で追加した拡張機能を削除したりするには、 コードのロールバックを参照してください。
- バックアップがある ない 不安定な環境を復元するには、 環境の復元を参照してください。
Cloud Console を使用してバックアップを復元するには:
-
Cloud Console にログインします。
-
プロジェクトナビゲーションバーから環境を選択します。
-
バックアップ ビューで、「保存 リストからバックアップを選択 ます。 バックアップ機能は Pro 環境には適用 されません。
-
{width="32"}
(その他)メニューで、「復元」をクリックします。
-
バックアップからのリストア情報を確認し、[ はい、リストア をクリックします。
Cloud CLI を使用してスナップショットを復元するには:
-
ローカルワークステーションで、をプロジェクトディレクトリに変更します。
-
復元する環境ブランチをチェックアウトします。
-
使用可能なすべてのスナップショットを一覧表示します。
code language-bash magento-cloud snapshot:list
リストは、使用可能なスナップショットに関する情報を返します。
code language-none Snapshots on the project (project-id), environment develop-branch (type: development): +---------------------------+----------------------+------------+ | Created | Snapshot ID | Restorable | +---------------------------+----------------------+------------+ | 2023-03-08T17:07:01+00:00 | my-snapshot | true | +---------------------------+----------------------+------------+
-
リストのスナップショット ID を使用してスナップショットを復元します。
code language-bash magento-cloud snapshot:restore <snapshot-id>
障害回復スナップショットの復元
ステージング環境および実稼動環境で障害回復スナップショットを復元するには、 データベースダンプをサーバーから直接読み込みます。
コードをロールバック
バックアップとスナップショットには、コードのコピーは含まれません __。 コードは既に Git ベースのリポジトリに保存されているので、Git ベースのコマンドを使用してコードをロールバック(または元に戻す)できます。 例えば、以前のコミットをスクロールするには git log --oneline
を使用し、特定のコミットからコードを復元するには git revert
を使用します。
また、コードを 非アクティブ ブランチに保存することもできます。 magento-cloud
のコマンドを使用する代わりに、Git コマンドを使用してブランチを作成します。 Cloud CLI トピックの Git コマンドについてを参照してください。