クラウドインフラストラクチャー上のAdobe Commerceで環境をリセット
この記事では、クラウドインフラストラクチャー上のAdobe Commerceで環境をロールバックする様々なシナリオについて説明します。
お客様の状況に最も適したものを選択してください。
- 計画アクティビティ(計画デプロイメントまたはアップグレード)がある場合 – シナリオ 1:計画アクティビティ)。
- 有効なスナップショットがある場合 – シナリオ 2:スナップショットの復元。
- 安定したビルドで、有効なスナップショットがない場合 – シナリオ 3:スナップショットがない、安定したビルド(SSH 接続が使用可能)。
- ビルドが中断され、有効なスナップショットがない場合 – シナリオ 4:スナップショットなし、ビルドが中断(SSH 接続なし)。
シナリオ 1:計画アクティビティ
展開またはアップグレードを計画している場合、準備の一環として、販売者が次の作業を行う Rollback が最も簡単で推奨されます。
アップグレード/デプロイメントアクティビティの 5 日前 :
- 現在のデータベースのサイズを確認します。
- Database Dump を保持するのに十分なディスク容量が
/data/exports
にあることを確認します。 十分なディスク領域がない場合は、不要なデータを削除するか、サポートケースを作成してディスクの拡張をリクエストします。
変更日 :
- Web サイトを Maintenance Mode に配置します。
ユーザーガイドで Maintenance Mode を有効または無効にする」および「アップグレードのオプションを Maintenance Mode 定するについて詳しくは、アップグレードガイドを参照してください。 - cron ジョブを無効にします。 Cron ジョブの無効化について詳しくは、cron プロパティガイドを参照してください。
- 地元の Database Dump を取る。
Rollback が必要な場合 :
- MariaDB などのアプリケーションがこの計画されたアクティビティの一部としてアップグレードされた場合は、まず、そのアプリケーションを以前のバージョンに再インストールしてください。
- ローカル Database Dump を使用してデータベースを Rollback び出し、MariaDB にインポートします。
- Git を介してコードを以前の作業用バージョンに Rollback きます。
Snapshots の使用は、Rollback ークフローが必要な場合 セクションの手順 2 で前述したように、ローカルア Database Dump ットと比較してデータを取得するのに非常に時間がかかるので、アップグレードや予定アクティビティの rollbacks/restores ークフローには推奨されません。
ノード/サーバ上に保持されるわけでは Snapshots く、別のストレージ・ブロックに保持されるため、そのデータはネットワークを介してブロック・ストレージから新しいディスクに送信される必要があるため、処理に時間がかかります。 その後、新しいディスクがノードにマウントされ、ノードまたはサーバーに接続されている元のディスクに取得/読み込みの準備が整います。
これをローカル Database Dump ータの読み込みと比較すると、データはノード/サーバー上で既に取得可能なので、Database Import ータのみが必要なので、多くの時間が節約されます。
シナリオ 2:スナップショットの復元
開発者向けドキュメントの クラウドインフラストラクチャー上のAdobe Commerceのスナップショットを復元するをお読みください。
開発者向けドキュメントの スナップショットの作成をお読みください。
シナリオ 3:スナップショットがない、安定して構築(SSH 接続を使用可能)
このセクションでは、スナップショットを作成していないが、SSH 経由で環境にアクセスできる場合に環境をリセットする方法を示します。
手順は次のとおりです。
- 構成管理を無効にします。
- Adobe Commerce ソフトウェアをアンインストールします。
- git ブランチをリセットします。
これらの手順を実行した後:
- Adobe Commerceのインストールがバニラ状態に戻ります(データベースが復元され、デプロイメント設定が削除され、ディレクトリ
var
消去されます)。 - git ブランチが、過去に目的の状態にリセットされます。
以下の詳細な手順をお読みください。
手順 0 (前提条件):config.php を削除して、構成管理を無効にします
デプロイメント中に以前の設定が自動的に適用されないように、設定管理を無効にする必要があります。
構成管理を無効にするには、/app/etc/
ディレクトリに config.php
ファイルが含まれていないことを確認してください。
設定ファイルを削除するには、次の手順に従います。
- 環境に SSH で接続します。
- 設定ファイル
rm app/etc/config.php
を削除します。
詳しくは、設定管理を参照してください。
- クラウドインフラストラクチャ上のAdobe Commerceでのデプロイメントのダウンタイムを短縮するについては、サポートナレッジベースを参照してください。
- 開発者向けドキュメントの ストア設定の設定管理を参照してください。
手順 1uninstall コマンドを使用してAdobe Commerce ソフトウェアをアンインストールする
Adobe Commerce ソフトウェアをアンインストールすると、データベースが削除されて復元され、配置設定が削除されて、var
の下のディレクトリがクリアされます。
開発者向けドキュメントの Adobe Commerce ソフトウェアをアンインストールするをお読みください。
Adobe Commerce ソフトウェアをアンインストールするには、次の手順に従います。
- 環境に SSH で接続します。
- 実行
setup:uninstall
:bin/magento setup:uninstall
- アンインストールを確認します。
次のメッセージが表示され、アンインストールが正常に完了したことを確認します。
[SUCCESS]: Magento uninstallation complete.
つまり、Adobe Commerce(DB を含む)のインストールが本物の(Vanilla)状態に戻りました。
手順 2:git ブランチのリセット
リセット git ると、コードが以前に目的の状態に戻ります。
- ローカル開発環境に環境のクローンを作成します。 Cloud Console で次のコマンドをコピーできます。
- コミット履歴にアクセスします。
--reverse
を使用して履歴を逆の順序で表示すると、より便利です:git log --reverse
- 正常に動作しているコミットハッシュを選択します。 コードを本物の状態(Vanilla)にリセットするには、ブランチ(環境)を作成した最初のコミットを見つけます。
- ハード git リセットの適用:
git reset --h <commit_hash>
- 変更をサーバーにプッシュ:
git push --force <origin> <branch>
これらの手順を実行すると、git ブランチがリセットされ、git の変更ログ全体がクリアされます。 最後の git プッシュトリガーは、すべての変更を適用してAdobe Commerceを再インストールするために再デプロイすることです。
シナリオ 4:スナップショットなし、ビルドが中断(SSH 接続なし)
ここでは、クリティカル状態の環境をリセットする方法について説明します。デプロイメントプロシージャでは正常に動作するアプリケーションを構築できないため、SSH 接続が使用できなくなります。
このシナリオでは、まず git リセットを使用してAdobe Commerce アプリケーションの動作ステータスを復元し、次にAdobe Commerce ソフトウェアをアンインストールします(データベースを削除して復元するには、デプロイメント設定を削除する必要があります)。 シナリオにはシナリオ 3 と同じステップが含まれますが、ステップの順序は異なり、追加のステップとして再デプロイが強制されます。 手順は次のとおりです。
- 分岐をリセ git トします。
- 構成管理を無効にします。
- Adobe Commerce ソフトウェアをアンインストールします。
- 再デプロイを強制的に実行します。
これらの手順を実行すると、シナリオ 3 と同じ結果が得られます。
手順 4:再デプロイの強制
コミットを作成し(これは空のコミットである可能性がありますが、お勧めしません)、トリガーにプッシュして再デプロイします。
git commit --allow-empty -m "<message>" && git push <origin> <branch>
setup:uninstall が失敗した場合は、データベースを手動でリセットします
setup:uninstall
コマンドの実行がエラーで失敗し、完了しない場合は、次の手順で DB を手動でクリアできます。
- 環境に SSH で接続します。
- MySQL DB:
mysql -h database.internal
に接続します(Pro 環境の場合は MySQL サービスの設定を参照してください)。 main
DB :drop database main;
をドロップします。- 空の
main
DB を作成します:create database main;
- 次の設定ファイルを削除します:
config.php
、config.php.bak
、env.php
、env.php.bak
DB をリセットした後 環境に git プッシュしてトリガーを再デプロイし新しく作成した DB にAdobe Commerceをインストールします。 または redeploy コマンドを実行します。