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

初めに

こんにちは。新入社員のA.H.です。
前回はAWS EC2インスタンスに構築したEC-CUBEを別のインスタンスへ移行する手順について共有させていただきました。

今回は同じくAWS EC2インスタンスに構築したMagentoを別のインスタンスへ移行していきたいと思います。

前回はこちら↓

xp-cloud.jp


AWS EC2インスタンスにMagentoを構築する手順をご確認ください。

目標

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

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

目次

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

構築環境

インスタンス構成

タイププロトコルポート範囲
SSHTCP22
HTTPTCP80
カスタムTCPTCP8080
カスタムTCPTCP9200

システムバージョン

使用ツール

TeraTerm

下準備

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

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

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

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

2.バックアップの作成

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

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

sudo su -
cd /home/ec2-user
mysqldump -u root -p --single-transaction --databases magento2 | gzip > DB_magento2.sql.gz

WinSCPでダウンロード、アップロードを行うため、ec2-userで操作できる /home/ec2-user 内にバックアップファイルを作成しています。

2.2 Magentoのバックアップを取る

tar zcvf magento2.tar.gz /var/www/magento2

以上でMagentoのバックアップファイルの作成は完了です。

移行作業

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

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

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

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

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

cd /home/ec2-user/
gzip -d DB_magento2.sql.gz

2.2 DBをリストアする

mysql -u root -p < DB_magento2.sql

無事に展開できたらファイルは不要となるため削除します。

rm DB_magento2.sql

2.3 Magentoのバックアップファイルを解凍する

cd /home/ec2-user/
tar -zxvf magento2.tar.gz

無事に解凍が完了したら、解凍前のファイルは不要となるので削除します。

rm magento2.tar.gz

2.4 Magentoファイルを配置する

mv var/www/magento2 /var/www/

 

3.Magentoのインストール

3.1 Magentoをインストールする

bin/magento setup:install \
--base-url=http://xxxxxxxx/ \
--db-host=localhost \
--db-name=magento2 \
--db-user=root \
--db-password=rootのMySQLへのログインパスワード

今回変更のある部分だけ指定してインストールします。
特に変更がない場合は 最初の1行のみでも構いません。

3.2 Webブラウザで確認する

Magentoのインストール時に設定した base-url にWebブラウザでアクセスし、ページが表示されたら成功です。

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

最後に

今回はMagentoを新しいインスタンスに移行しました。
次回はMagentoのマルチサイト作成手順について共有させていただけたらと思います。

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