AWS Lightsail Word press bitnami対応

AWS Lightsail Word press bitnami対応

AWS LightsailのBitnami版WordPressからLightsail版WordPressへ移行しました

このブログは、AWSのAmazon Lightsail上でWordPressを動かしています。
私はAWSやサーバー運用にそこまで詳しいわけではないのですが、Lightsailの管理画面を見ていたところ、WordPressインスタンスに次のような表示が出ていました。

Originally packaged by Bitnami (no longer maintained)

どうやら、これまで使っていたWordPress環境は「Bitnamiによってパッケージ化されたWordPressブループリント」で作られていたようです。
AWSからの通知によると、Bitnami版ブループリントは今後非推奨となり、更新やパッチが提供されなくなるとのことでした。

既存のインスタンスがすぐに停止するわけではありませんが、セキュリティ面や今後の保守を考えると、そのまま使い続けるのはあまり良くなさそうです。
そのため、今回、Bitnami版ではない新しいLightsail提供のWordPress環境へ移行しました。

実施した作業の流れ

今回やった作業をざっくり書くと、以下のような流れです。

スナップショット作成に関しては念のためのバックアップで、実際のWordpressデータは有料のプラグイン経由で移しました。スナップショットがあればそれをそのまま新しいところに移せるのでは?と思いましたが、どうやらbitnami上で作られたスナップショットは新しいところで使えないような回答をAIからもらいました。

  1. 旧インスタンスの手動スナップショットを作成
  2. 新しいLightsail版WordPressインスタンスを作成
  3. 旧WordPressからデータをエクスポート
  4. 新WordPressへデータをインポート
  5. パーマリンク設定を保存して記事URLの404を修正
  6. 静的IPアドレスを旧インスタンスから新インスタンスへ付け替え
  7. Lightsailの「ウェブサイトをセットアップ」からドメインとSSL/TLS証明書を設定
  8. Route 53のDNS設定を確認
  9. サイト表示、HTTPS、管理画面、記事ページを確認
  10. 旧インスタンスを停止

新しいインスタンスを作成

まず、Lightsailで新しいインスタンスを作成しました。

リージョンは既存環境と同じ東京リージョンにしました。
インスタンスのブループリントでは、Bitnami版ではなく、Lightsail提供のWordPressを選びました。(上記画像)

私の旧環境は以下のような構成でした。

  • 1GB RAM
  • 2 vCPU
  • 40GB SSD

そのため、新しいインスタンスも同じくらいのプランを選びました。
新しいインスタンス名は、旧環境と区別しやすいようにWordPress-MySite-Newとしました。

なお、別インスタンスを立ち上げるため、移行中は一時的に旧インスタンスと新インスタンスの二重課金になります。
ただし、移行が終わったら旧インスタンスを削除すれば、二重課金の期間は最小限にできます。

WordPressデータの移行

WordPressのデータ移行には、All-in-One WP Migrationを使いました。

最初は無料版でできるかと思いましたが、エクスポートしたファイルが約1GBになったため、無料版の容量制限に引っかかりました。
そのため、ServMask公式サイトからAll-in-One WP MigrationのUnlimited Extensionを購入して、新しいWordPress側にインポートしました。

インポート後、トップページは表示されましたが、記事をクリックすると404 Not Foundになりました。
これは移行失敗ではなく、WordPressのパーマリンク設定が反映されていないだけでした。

WordPress管理画面で、

設定 → パーマリンク → 変更を保存

を実行したところ、記事ページも正常に表示されるようになりました。

特になにもせず、保存ボタンを押すだけです。

静的IPアドレスの付け替え

このブログでは、Route 53で取得した kb-visiontech.com というドメインを使っています。
また、Lightsail側では静的IPアドレスを使っていました。

旧インスタンスに紐づいていた静的IPアドレスを、新しいインスタンスへ付け替えました。

静的IPを新しいWordPress-MySite-Newに付け替えることで、ドメインから新しいWordPress環境へアクセスできるようになりました。

SSL/TLS証明書の設定

移行直後はHTTPSでも表示できていたのですが、確認してみると旧インスタンス側の証明書を見ている可能性がありました。

そのため、新しいインスタンス側でLightsailの「ウェブサイトをセットアップ」を進め、Let’s EncryptのSSL/TLS証明書を設定しました。

Lightsailのセットアップ画面では、以下のような流れで進みました。

  • ドメイン名を指定
  • DNSを設定
  • 固定IPアドレスを検証
  • ドメイン割り当てを管理
  • SSL/TLS証明書を作成

これにより、新しい WordPress-MySite-New側で正式にHTTPSが使えるようになりました。

Site Kit by Googleの再設定

移行後、GoogleのSite Kitでエラーが出ました。

a site with the given URL already exists

これは、移行前のWordPressで使っていたSite Kitの設定が残っていて、新しいWordPress側で同じURLを再登録しようとして衝突しているようでした。

Site KitはGoogle Analytics、Search Console、AdSenseなどのデータ本体を消すものではなく、WordPress管理画面とGoogleアカウントを連携するためのプラグインです。

そのため、Site Kit側はリセットして再接続する形で対応しました。
このとき、Google AnalyticsやSearch Consoleは新規作成するのではなく、既存のプロパティを選ぶようにしました。

旧インスタンスについて

移行後も、旧インスタンスはすぐには削除していません。
万が一、画像の移行漏れや設定漏れがあった場合に戻せるようにするためです。

ただし、Lightsailではインスタンスを停止してもディスクが残っているため、課金は続くようです。
そのため、数日から1週間ほど様子を見て問題なければ、旧インスタンスは削除する予定です。

削除前には、以下を確認しておくつもりです。

  • 新インスタンスでトップページが表示できる
  • 記事ページが表示できる
  • 画像が表示できる
  • HTTPSが正常に動作する
  • WordPress管理画面にログインできる
  • Site KitやGoogle系の連携が戻っている
  • ads.txt や sitemap.xml が見える
  • 新インスタンスのスナップショットがある

まとめ

今回やったことは、簡単に言えば以下です。

Bitnami版WordPressインスタンスをそのまま更新するのではなく、新しいLightsail版WordPressインスタンスを作成し、WordPressデータを移行して、静的IPとドメインを新環境へ向け直した。

サーバーに詳しい人ならもっとスマートな方法があるのかもしれませんが、私のようにLightsail上でWordPressを動かしている程度のユーザーとしては、この方法が分かりやすかったです。

重要だと思った点は以下です。

  • いきなり旧インスタンスを消さない
  • まず手動スナップショットを作る
  • 新インスタンスを作ってから移行する
  • 静的IPの付け替えは最後に行う
  • IPv6のAAAAレコードに注意する
  • SSL/TLS証明書は新インスタンス側で設定する
  • WordPress移行後はパーマリンクを保存する
  • Google Site Kitなどの外部連携は再設定が必要になることがある

これで、Bitnami版WordPressからLightsail版WordPressへの移行は一応完了しました。
しばらく様子を見て、問題がなければ旧インスタンスを削除して、二重課金を止める予定です。

色々やってみると面白いものですね。まあ仕事には何の役にも立たないのですが・・。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です