AWS EC2に構築したECサイトを移行する ~EC-CUBE編~

初めに


こんにちは。新入社員のA.H.です。
前回、前々回はAWS EC2インスタンスECサイト構築パッケージのEC-CUBEとMagentoを構築していきました。
詳細は下記をご確認ください。
xp-cloud.jp xp-cloud.jp

今回はAWS EC2に構築したEC-CUBEを新しいインスタンスへ移行してきます。

目標


・新しいインスタンス上でEC-CUBEが正常に動作している

※EC2インスタンス作成手順は割愛いたします。

目次

  1. 構築環境
  2. 下準備
    1. 新しいインスタンスの作成
    2. バックアップの作成
  3. 移行作業
    1. バックアップファイルの移行
    2. バックアップファイルの展開
    3. 動作確認

 

構築環境

インスタンス構成

タイプ プロトコル ポート範囲
SSH TCP 22
HTTP TCP 80

システムバージョン

EC-CUBE4のシステム要件
https://doc4.ec-cube.net/quickstart_requirement

今回の構築環境の各システムバージョン

使用ツール

  • Tera Term
  • Win SCP

 

下準備

1.新しいインスタンスの作成

EC-CUBEのシステム要件を満たすように、ApacheMySQLPHP・Composerをインストールしてください。

今回は以前投稿した
AWS EC2にECサイトを構築する ~EC-CUBE編~
の1~5と7の通りに構築を行った前提で説明していきますので、相違点があった場合は適宜変えながら進めてください。

※新しいインスタンスはバージョン・権限含め、なるべく移行元の環境と同じ状態にしてください。

2.バックアップの作成

2.1 DBのバックアップをとる

移行元のインスタンスTeraTermでログインしrootユーザーに切り替えます。

sudo su -

後々WinSCPでダウンロードしてバックアップを取り出すため、/home/ec2-userにバックアップファイルを作成していきます。

cd /home/ec2-user
mysqldump -u root -p --single-transaction --databases eccube | gzip > DB_eccube.sql.gz

2行目のコマンドでバックアップファイルを作成します。
パスワードを聞かれるので、MySQLのrootユーザーのパスワードを入力してください。

処理が終わったら「ls」コマンドで DB_eccube.sql.gz ファイルがあるか確認してください。

2.2 EC-CUBEのバックアップをとる

以下コマンドでEC-CUBE全体のバックアップファイルを取得します。

tar zcvf ec-cube.tar.gz /var/www/ec-cube

処理が終わったら「ls」コマンドで ec-cube.tar.gz ファイルがあるか確認してください。

 

移行作業

1.バックアップファイルの移行

1.1 WinSCPでバックアップファイルを移行する

WinSCPでバックアップファイルを一度操作しているPCにダウンロードし、移行先のインスタンスにアップロードします。
アップロード先は /home/ec2-user とします。

2.バックアップファイルの展開

2.1 DBのバックアップファイルを解凍する

cd /home/ec2-user

バックアップファイルがある場所に移動し、バックアップデータを解凍します。

gzip -d DB_eccube.sql.gz

2.2 DBをリストアする

mysql -u root -p < DB_eccube.sql

MySQLのrootのパスワードを聞かれるので入力してください。

処理が終わったらバックアップファイルは不要のため削除します。

rm DB_cube4.sql

これでDBの移行は完了です。

2.3 EC-CUBEファイルを解凍する

tar -zxvf ec-cube.tar.gz

2.4 EC-CUBEファイルを配置する

解凍するとバックアップファイルを作成したフォルダの階層の状態で解凍されます。

今回必要なのはec-cube以下のファイルのため、以下コマンドで移動させます。

mv var/www/ec-cube /var/www/

2.5 EC-CUBEファイルのキャッシュを削除する

キャッシュがあるディレクトリに移動します。

cd /var/www/ec-cube/var

キャッシュを削除します。

rm -rf cache
rm -rf log
rm -rf sessions

 

3.動作確認

3.1 ApacheMySQLを再起動する

systemctl restart httpd.service
systemctl restart mysqld.service

3.2 Webブラウザで確認する


Webブラウザで パブリックIPv4 DNS にアクセスしてください。
移行前のフロントページと同じ表示が確認できたら移行は成功です。

移行作業、お疲れ様でした。

最後に


今回はEC-CUBEを新しいインスタンスに移行しました。
次回は以前構築したMagentoの新しいインスタンスへの移行について共有させていただけたらと思います。

最後までお付き合いいただき、ありがとうございました!

 

 

 

AWS相談会バナー