今まで紙との会話のホームページのサーバーは、お名前.comのVPSを使っていましたが、AWSに移行してみました。
AWSは色々できる反面、知識がないとサーバー構築するのは難しいですよね。
今回はAmazon Lightsailを使用しました。
移行の際に手間取ったことをまとめておきます。
Lightsailでインスタンスが作成できない
最初、Lightsailでインスタンスを作ろうとしたとき作成できませんでした。
どうやら、作成しようとしたアカウントの権限に問題(?)があったようで、AWSのサポートの方から連絡と質問が届きました。(英語)
その質問に回答しつつ適切な権限のアカウントを作成し、そのアカウントで実行したら無事にLightsailのインスタンスを作ることができました。
旧サーバーからのデータ移行
データ移行は結構大変でした。
本サイトはWordPressを使用しており、WordPressにはAll-in-One WP Migration というプラグインがあり、それを使用すれば簡単にデータ移行することが可能です。
試しにローカル環境に構築したWordPressで試したら簡単に移行できて驚きました。
しかし、新しいサーバーのほうではWordPressのマルチサイトで構築しました。
マルチサイトでは無料版のAll-in-One WP Migrationではできませんでした。
有料版では可能らしいのですが、年間319ドルのサブスクで一度移行したいだけなのに3万円超はちょっとためらい、All-in‐One WP Migrationを使用するのはあきらめました。
データ移行で大変だったこと
All-in‐One WP Migrationを使うのはやめたのでWordPress標準(?)にあるエクスポートとインポートを使用しました。
投稿、固定ページは難なくエクスポート、インポートでました。
メディアはエクスポートはできたのですがインポートに失敗しました。
マルチサイトではwp-content/uploads/直に配置したファイルはメディアの一覧に加えることができない(?)ようで、DBに直接wp-content/uploads/を設定したファイルはメディアの一覧に表示されませんでした。
色々試してみると、マルチサイトを利用するとwp-content/uploads/sitesにファイルがアップロードされていたので、そのフォルダに画像をコピーしDBもそのパスでUPDATEするようSQLで更新しました。
外観やテンプレートも標準のエクスポート、インポートである程度できていたのですが、崩れてしまったところがあったので、そこは手を動かして作成しなおしました。そこまでページ数も多くはなかったので良かったです。
まとめ
- AWSでは実行するアカウントの権限に気を付けましょう
- WordPressのマルチサイトを使用するのはちゃんと検討してからにしましょう
- せっかくAWSを使える環境になったので、今後はLigthsailを使用しない構成にもチャレンジしてみたいです