kusanagi8からkusanagi9へ移行する
kusanagi8からkusanagi9へ移行を行いました。
その際のメモ書きとなります。
環境は、
AWS EC2 kusanagi8⇀AWS EC2 kusanagi9となります。
移行理由としては、PHP7.4⇀PHP8.1にアップグレードすることが目的です。
ミドルウェアはapache2.4で変更なし、
DBはmariaDB10.1⇀mariaDB10.3となります。
アップグレード方法
EC2
アップグレード方法はEC2を新規で立ち上げる必要があります。
サードパーティ製品としてkusanagi8とkusanagi9はマーケットプレイスにて別で販売されています。
既存のkusanagi8のEC2をそのままkusanagi9にアップグレードする方法はありません。
空のEC2でkusanagi9を立ち上げ、1から設定する必要があります。
kusanagi migrate(失敗)
旧EC2のkusanagi8側で設定のexportを行います。
新規EC2立ち上げ後、kusanagi initで初期設定を行い、上記のkusanagi migrateで設定をインポートを実施します。
詳細手順は下記で紹介されています。
https://www.prime-strategy.co.jp/column/archives/column_5587
ですが、私の環境ではできませんでした。
移行先であるkusanagi9の対応バージョンでmariaDBの10.1が対応していないことが原因です。
ここからkusanagi migrateを実施しない移行方法を紹介します。
移行設定
kusanagi9の初期設定をkusanagi initで設定します。
kusanagi8側はPHP7.4を利用していたため、急にPHP8.1にバージョンを上げると、wordpressが動かない場合、PHPバージョンアップによるものか、kusanagi9によるものか、DBによるものか切り分けが難しくなります。
そのため、下記手順で実施します。
①kusanagi9 の状態でkusanagi8で動いてた状況を再現できるかを最初に実施
kusanagi9はmariaDB10.1は対応していない為、
PHP:7.4
mariaDB:10.3
apache:2.4
の設定をします。
②ファイル移行
wordpressの既存ファイルをkusanagi9上に移行します。
pluginや画像、テーマなどを移行します。
all-in-one WP migrationを利用しても良いでしょう。
その後、DBも移行します。
これでmariaDB10.3でも対応できるか切り分けを行います。
私の場合は問題なく動きました。
移行にはmysqldumpを利用しました。mysqldumpが推奨されるようです。
③PHPバージョンアップを実施
kusanagiはPHPのバージョンを1コマンドで設定することが出来ます。
PHP7.4⇀PHP8.1へ変更。
wordpressが動くか確認します。
ですが、ほとんどの場合エラーとなります。
プラグインやテーマがPHP対応しているか確認しましょう。
PHP文法も変わるためここが一番の難所となります。
プラグインを一時無効化して動作確認を1つづつしていきます。
④完了
ここまでくればkusanagi9への移行は完了です。
注意点
kusanagi8とkusanagi9ではwordpressのフォルダ構造が異なります。
wp-config.phpの場所が階層ごと異なっていたり、設定方法もkusanagi8とは異なります。
kusanagi8からフォルダ丸ごとコピーする移行方法では間違いなく失敗するでしょう。
kusanagi9のフォルダ構造を理解してから対応しましょう。
サポート
kusanagiでは有志者による無料サポートがあります。
ユーザーグループ という場所になります。※サイトポリシーによりサイトリンク不可のため各自検索してください。
私も最初はここで情報を集めました。
質問する場合はご自身で既にkusanagiを運用している場合にはkusanagi statusのコマンドを取得するなどの決まりがあるため、
よく読んでから質問しましょう。
無料であるため、中には手厳しい回答が来る場合があります。
私の場合は質問に丁寧にご回答頂きました。
回答は2日程度で返答があり、追加の質問にも回答頂けました。
回答があった場合にはメールでお知らせも届きます。
おわりに
kusanagi8からkusanagi9への移行は、kusanagi migrateが使える環境では簡単に移行できますが、バージョンの対応状況により手動で一から実施する必要があります。
AWSの効果的な学習方法は?

最後に、AWSの効果的な学習方法をご紹介します。
自学自習はUdemy講座
オンラインプラットフォームであるUdemyは安価で手軽にAWSの学習が可能です。
しかし、上記で紹介したような実際のAWSエンジニアが実施している構築スキルまでは教えてくれません。初心者~中級者向けの講座が多くなっています。
私も受講した、初心者向けAWS講座を下記記事でまとめています。ご参考ください。
1人で学習が難しい場合はオンラインレッスン
1人で学習が難しい場合はオンラインレッスンがおすすめです。
最近では、AWS講座を提供するオンラインレッスンも増えてきました。
料金は高くなりますが、現役エンジニアからAWSについて学ぶことができます。
本ブログ執筆者のメンタリングも受付中
本ブログを執筆している[KAITech]もメンタリングを受け付けています。
オンラインレッスンは高くて手が出せないという方は私までお気軽にご相談ください。
下記から承っております。