WordPressサイトをAWSへ移行する(3)-wordpress to EC2
はじめに
今回はWordPressサイトをAWSへ移行するの第三弾です。
AWS MGNでの移行-wordpress to EC2-
について公式の資料を元に、解説します。
目次
- 構成概要
- 全体の流れ
- 移行元の環境構築-cloudformation-
- AWS DMSでの移行-mysql to RDS-
- AWS MGNでの移行-wordpress to EC2- ★←本記事ではここまで
- 後片づけ
構成おさらい
【移行手順】
- Application Migration Service(MGN)のセットアップ
- ソースWebサーバにMGNエージェントをインストール
- テストインスタンスの設置、テスト実行
- カットオーバーインスタンスの設置、
- カットオーバーの実行
AWS MGNでの移行-wordpress to EC2-
レプリケーションサーバテンプレートの作成
MGNのコンソールを開き、settingをクリックします。
【入力情報】
Item | Value |
---|---|
Staging area subnet | TargetVPC-public-a |
MGNエージェントのインストール
ソースWebサーバへアクセスします。
EC2コンソールからsource-WebServerを選択し、接続からSSMでアクセスします。
以下を実行します。
wget -O ./aws-replication-installer-init.py https://aws-application-migration-service-us-west-2.s3.amazonaws.com/latest/linux/aws-replication-installer-init.py
sudo python3 aws-replication-installer-init.py
入力情報を求められるので、以下の情報を入力します。
【入力情報】
Item | Value |
---|---|
AWS Region Name | us-west-2 |
AWS Access Key ID | ※1 |
AWS Secret Access Key | ※2 |
無事インストール完了したら終了で閉じます。
MGNコンソールのSource Serversに対象サーバが表示されているはずです。
起動テンプレートを編集
MGNコンソールで対象サーバをクリックし、Launch settingsの
EC2 Launch Templateを修正します。
【入力情報】
Item | Value |
---|---|
インスタンスタイプ | t3.micro |
キーペア | linux_servers_ssh_key |
サブネット | TargetVPC-public-a |
パブリックIPの自動割り当て | 有効化 |
起動テンプレートをクリックし、起動テンプレートのバージョンの詳細からアクションを選択します。
3を選択する。
test instanceの実行
MGNコンソールに戻り、Test and cutoverのTesting -> Launch test instancesを選択します。
10 ~ 20分ほどテスト完了まで待ちます。
以下にステータスと次の手順についてまとめます。
【カットオーバー手順】
ステータス | 次の手順 |
---|---|
Ready for testing | Launch test instances |
test in progress*[1] | Mark as "Ready for cutover" |
Ready for cutover | Launch cutover instances |
cutover in progress | finalize cutover |
[1]: Launch statusが見えるまで待機します。
※全体的に即次ステップの実行ができないようなので、数分待ちます。
カットオーバーインスタンスの編集
カットオーバーインスタンスが新しいRDSとコネクションさせるために、wordpress側の設定を変更します。
カットオーバーインスタンスのセキュリティグループを編集します。
【入力情報】
Item | Value |
---|---|
inbound | ssh all |
inbound | http all |
ssh接続をします。
ssh -i linux_servers_ssh_key.pem ubuntu@34.210.87.254
phpファイルの編集
sudo vim /var/www/html/wp-config.php
【入力情報】
Item | Value |
---|---|
DB_HOST | database-1.xxxxxxx.us-west-2.rds.amazonaws.com |
DB_USER | admin |
DB_PASSWORD | ++++(RDS作成時の値) |
/* Add any custom values between this line and the "stop editing" line. */の下に、
ターゲットウェブサーバのpublic DNSを入力します。
define('WP_SITEURL', 'http://TARGET_WEBSERVER_PUBLIC_DNS');
define('WP_HOME', 'http://TARGET_WEBSERVER_PUBLIC_DNS');
最後にカットオーバーインスタンスと新RDSサーバが通信させるために新RDSサーバにカットのセキュリティグループを適応します。
カットオーバーインスタンスのPublic DNSをhttpでアクセスすると、
e-commerceが見れます。
Discussion