Amazon Linux 2023、T4Gインスタンス、PHP8にWordPressを移行しました
2025/01/05
ブログをAmazon Linux 2からAmazon Linux 2023に移行しました際の記録です。
最終的にこの構成になりました。
ついでにインスタンスファミリーはT3からT4Gへ、PHP 7.xからPHP 8.xへ、大阪から東京へ移行しました。
ですので、新規でAmazon Linux 2023をクイックスタートAMIから起動して、インストール作業をしました。
目次
Amazon Linux 2023へ必要なソフトウェアのインストール
Amazon Linux 2023では、DNF(Dadified Yum – ダンディファイド ヤム)というYumからフォークされたコマンドでパッケージを管理します。
1 2 3 4 |
sudo dnf install -y php php-cli php-common php-pdo php-fpm php-json php-mysqlnd php-gd php-mbstring php-xml sudo dnf install -y nginx sudo dnf install -y mariadb105 |
PHP、nginx、MariaDBクライアントをインストールしました。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$ yum list installed | grep php php8.2.aarch64 8.2.9-1.amzn2023.0.2 @amazonlinux php8.2-cli.aarch64 8.2.9-1.amzn2023.0.2 @amazonlinux php8.2-common.aarch64 8.2.9-1.amzn2023.0.2 @amazonlinux php8.2-fpm.aarch64 8.2.9-1.amzn2023.0.2 @amazonlinux php8.2-gd.aarch64 8.2.9-1.amzn2023.0.2 @amazonlinux php8.2-mbstring.aarch64 8.2.9-1.amzn2023.0.2 @amazonlinux php8.2-mysqlnd.aarch64 8.2.9-1.amzn2023.0.2 @amazonlinux php8.2-opcache.aarch64 8.2.9-1.amzn2023.0.2 @amazonlinux php8.2-pdo.aarch64 8.2.9-1.amzn2023.0.2 @amazonlinux php8.2-process.aarch64 8.2.9-1.amzn2023.0.2 @amazonlinux php8.2-xml.aarch64 8.2.9-1.amzn2023.0.2 @amazonlinux |
PHPは8.xがインストールされました。
1 2 3 4 5 6 |
$ yum list installed | grep nginx nginx.aarch64 1:1.24.0-1.amzn2023.0.1 @amazonlinux nginx-core.aarch64 1:1.24.0-1.amzn2023.0.1 @amazonlinux nginx-filesystem.noarch 1:1.24.0-1.amzn2023.0.1 @amazonlinux nginx-mimetypes.noarch 2.1.49-3.amzn2023.0.3 @amazonlinux |
1 2 3 4 5 6 |
$ yum list installed | grep mariadb mariadb-connector-c.aarch64 3.1.13-1.amzn2023.0.3 @amazonlinux mariadb-connector-c-config.noarch 3.1.13-1.amzn2023.0.3 @amazonlinux mariadb105.aarch64 3:å10.5.18-1.amzn2023.0.1 @amazonlinux mariadb105-common.aarch64 3:10.5.18-1.amzn2023.0.1 @amazonlinux |
nginx、MariaDBクライアントも問題なくインストールされました。
php-fpmとnginxの自動起動の設定を忘れずにですね。
1 2 3 |
sudo systemctl enable php-fpm sudo systemctl enable nginx |
WordPressファイルの移行
/etc/nginx/conf.d
/etc/php-fpm.d
/usr/share/nginx/
上記の3つのディレクトリをS3経由で移行しました。
画像の移行
画像はS3からの配信でしたので、大阪リージョンのS3バケットから東京リージョンのS3バケットへ移行しました。
1 2 |
aws s3 sync s3://old-bucket s3://new-bucket --storage-class INTELLIGENT_TIERING |
s3 syncコマンドを使ったのですが、けっこう時間かかったり、途中どこまで終わったんだろうとか、不安になったりしたので、バッチオペレーションを使ったほうが良かったですね。
RDSの移行
リージョン移行だけですので、スナップショットをコピーして起動すればいいのですが、Aurora v2を試してみたかったので、エクスポート/インポートで移行しました。
一定期間Aurora v2を試した後、継続するのはコストが辛かったので、東京リージョンのRDS for MySQLインスタンスを起動して移行し直しました。
1 2 3 |
mysqldump -h source -u admin -p -d db > dump.sql mysql -h target -u admin -p < dump.sql |
source(移行元エンドポイント)とtarget(移行先エンドポイント)とadmin(データベースユーザー)は環境にあわせて書き換えます。
あとは、wpconfig.phpのデータベース情報を書き換えました。
作業が全部終わったら、ALB、AMIと起動テンプレート、EC2 Auto Scalingを作成して、CloudFrontのオリジンやビヘイビアを変更してアクセス確認して作業完了しました。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。


開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
-
Amazon CloudWatch RUMはじめました
新機能 – Amazon CloudWatch RUM をご紹介 2021年12 …
-
-
Amazon Connect 発信イベントをEventBridgeで確認
Amazon Connectから発信した電話に出たのか、出なかったのかを確認した …
-
-
AWS Systems Managerパラメータストアで「Parameter name must be a fully qualified name.」
パラメータストアでパラメータ階層を作成しようとして、パラメータ名に例えば「wor …
-
-
S3オブジェクトロックを試しました
S3オブジェクトロックが必要になる要件に今のところ、出会ってないのでまだ設定した …
-
-
IAMセッションポリシーの利用(GetFederationToken)
GetFederationTokenでのセッションポリシーは、呼び出し元のIAM …
-
-
AWS Backupで取得したAMIとスナップショットの削除
個人で使っているAWSリソースの断捨離をしてました。 Cloud9も複数アカウン …
-
-
AWS DeepLens開封の儀
去年(2019年)7月にamazon.co.jpでDeepLens買えますやんっ …
-
-
AWS Toolkit for EclipseからLambda関数を直接作成できずにMavenでパッケージ化して作成
AWS Toolkit for EclipseからLambda関数を直接作成 チ …
-
-
API Gateway 作成済REST APIの定義をSwaggerの形式でエクスポート
SAMで似たようなAPIを作りたくて、エクスポートしました。 Swaggerは、 …
-
-
東京リージョンの1つのAZ(apne1-az2)でt3.nanoスポットインスタンスが拒否されちゃいました
拒否されちゃいました ちょっとした検証をしようとしてて、t3.nanoのスポット …