WordPressサイトをEC2からKinstaに移行した話

こんにちは、SREチームの程です。 週に3回はサウナでサ活するのがデフォルトとなり、都内にあるいろんな銭湯や温浴施設をめぐるのが趣味になりつつあります。 私が普段日常使いしているホームサウナは、南武線南多摩駅の近くにある「季乃彩(ときのいろどり)」です。 しっとりして広々空間のサ室と、休憩所に星の数ほどおいてあるリクライニングチェア、最寄り駅から徒歩圏内のアクセスの良さが魅力です。 サウナーの方はぜひ一度訪れてみてください。

概要


弊社ではいくつかのWordPressサイトを運営しているのですが、その中でも「TechAcademy HRマガジン|人事のノウハウをまとめたWebメディア」を、マネージドWordPressホスティングサービスのKinsta(https://kinsta.com/)を利用して構築しております。 もともと当サイトはAWSのEC2上で運用しておりましたが、つい最近Kinstaへの移行作業を実施いたしました。 そこで本記事では、HRマガジンをAWSからKinstaへ移行した際の話と、Kinstaを実際に使ってみた所感についてご紹介していきたいと思います。

移行前に抱えていた問題点


特に、メンテナンス面でのエンジニアへの負担が課題となっていました。 例えば、以下のような作業を定期的・定常的に実施する必要がありました。

  • OSのパッケージあるいはミドルウェアのセキュリティパッチやアップデート
  • PHPバージョンのアップグレード
  • サーバーの監視や障害発生時の復旧
  • SSL証明書の更新

また、あまり問題になることはありませんでしたが、サーバーのスケーリング機構が存在しない状態でした。 そのため、リクエストの増加時に迅速に対応できるかどうかは不安が残る状態で運用されていました。

Kinstaの機能


Kinsta側で管理してくれるもの

インフラ・ミドルレイヤーのもろもろに関してはKinsta側でほぼ全部管理してくれます。

  • OSのパッケージあるいはミドルウェアのセキュリティパッチやアップデート
  • サーバーの監視やインフラに起因する障害発生時の復旧
  • SSL証明書の更新
  • キャッシュ設定(もともとキャッシュ機構は入れてなかったが、この機会に導入しました)
  • オートスケーリング

これらのメンテナンスはすべて自分たちでやらなくてよくなったということになります。 Kinstaを利用したことによって、上記項目から発生するメンテナンス面での負担が大幅に軽減されました。

Kinsta管理画面上で実施できること

また、引き続き自分たちでメンテナンスする必要のあるものであっても、Kinstaが提供している管理画面上で数クリックで完了させられるものがあり、以前より簡単に実施できるようになったことがあります。

  • PHPのバージョンアップ
  • データベースおよびWordPressファイルのバックアップおよび復元(バックアップは1日1回だが、追加料金を払えば毎時にも設定可能)
  • ログの閲覧(アクセスログ、エラーログ)と検索

その他

Kinstaのサイトを見ると、パフォーマンス面を強調している印象を受けました。 2021年時点では、KinstaでホスティングされるすべてのWordPressサイトはGCPの新しいタイプのC2インスタンス上で動作していることに加え、Kinsta独自でWordPressサイト向けに各種設定 / 構成の最適化を実施しているようです。

Kinsta基盤上へ既存のWordPressサイトを移行する


Kinsta サイト移行サービス

さてそれでは、実際にAWS EC2上にあるWordPressサイトをKinsta上に移行していきましょう。 と当初は意気込んで自力で移行方法を模索しようとがんばろうとした私ですが、実はこの移行作業に関してもKinsta側が代わりに実施してくれるサービスが用意されておりました。

kinsta.com

こちらのサービスは、アカウント発行時に付与される移行サービス利用クレジットを消費するという形で利用することができます。すなわち、クレジットが余っている場合は無料で利用可能ということになります。付与されるクレジット数は加入するプランごとに変わってきますので、気になる方は プラン一覧:KinstaマネージドWordPressホスティングソリューションをご参照ください。

また、申請に関してはKinstaの管理画面上より申請することができ、非常にスムーズに申請を完了させることができます。申請時に必要な情報は大きく以下4点です。

  • WordPressサイトがホストされているサーバーのSSH情報(IP, ポート, ユーザー名, SSH鍵)
  • 既存のWordPressサイトに関する情報(ドメイン名, wp-adminの URL, wp-adminのログイン情報)
  • 新規サイトを立ち上げるロケーション(日本の場合は東京と大阪を選択可能)
  • その他、サイト構築時に依頼したい設定や注意してほしい部分など
    • 弊社の場合、WordPressのテーマPHPファイルを、short_open_tag 形式で記述していたので、そこのPHP設定を依頼しました。
    • また、念のためWordPressバージョンをそのままにしてもらうよう依頼しました。

移行申請後の流れ

移行申請後、ほどなくして次のようなメッセージがチャットボットから、アカウント内のチャットルームに届きます。

06:27 AM | Notifications from Kinsta: お世話になっております。 お客様のサイト移行の申請が送信されました。プレミアムサイト移行作業は1営業日での完了を目指しています。 これからの手順は次の通りです。

  1. 移行のタイミング指定が希望されている場合には、調整と確認のために1営業日以内にご連絡いたします。移行のできるだけ早い実施が選択されている場合には、移行開始時にご連絡いたします。
  2. スケジュール確定後に、ご指定のタイミングでのサイト移行が実施されます。開始の際には通知でお知らせ致します。
  3. 移行完了時には、Kinstaでウェブサイトをテストする方法と、DNSを更新する方法についてご案内します。 なお、土曜日・日曜日にはサイト移行は実施されませんので予めご了承ください。 移行タイミング確定までの期限は7日間です。7日経過後に確定しない場合には、サイト移行はキャンセルとなり、サイト移行枠はアカウントに戻されます。

その後、2時間ほどするとテクニカルエンジニアの方から連絡が届き、いくつか確認されました。

08:15 AM | Peter from Kinsta: Hi,  I've read the additional note you sent about the WordPress version. I recommend migrating the site to our environment and also upgrading the WordPress core to the latest version, but if you have any custom themes or plugins that rely on that old version, that can also cause issues. How we should proceed?  Thanks, Peter

WordPressのバージョンをそのままにしてほしいと申請時に依頼した部分について、最新版にバージョンアップするのがおすすめですが、どうしましょうか?という内容でした。 内容についてやり取り後、2時間もしないうちに次のような連絡が届きます。

11:48 AM | Peter from Kinsta: I'm happy to report that the migration for *****.jp has completed! 😃

さすがの速さです。寝て起きたら移行終わってましたという感じだったので驚きました。 実際に、管理画面上のサイト一覧にもHRマガジンのサイトが追加されておりました。

f:id:tei-krmx:20210623121726p:plain
サイト一覧

なお、移行完了後サイトのドメインは、aaaaa.kinsta.cloud のようなドメイン(aaaaaの部分はサイト固有の文字列)が自動で割り当てられています。 そのため、本番環境用のドメインへの切り替え作業は最後に自分たちで実施する必要があります。

ドメインの切り替え作業も至って簡単で、管理画面よりドメイン追加ボタンを押します。

f:id:tei-krmx:20210623122408p:plain
ドメイン追加

ここからやる作業は大きく2つです。

  • まずは画面の案内に従って、希望のドメインの所有権確認を実施します。(基本的には表示されたTXTレコードを希望ドメインDNSに追加するだけ)
  • 所有権確認(自動プロセス)が完了したら最後に、Kinstaから提供されるサイトのIPアドレス(画面案内に表示される)を希望ドメインに紐付けたAレコードをDNSに作成します。

以上で最終的なドメインの切り替え作業が完了します。

実際にKinstaを使ってみた所感


移行後の本番サイト

今のところ、本番環境移行後に何か大きな問題に遭遇することなどなく、安定してサイトの稼働が継続しております。 また、スピード面においても移行してすぐの数分間はサイト表示が重くなりましたが、その後しばらくすると軽量で動作するようになりました。 おそらくキャッシュ周りが効いてきたからなのかなと思います。記事更新時などにキャッシュクリアを実施する際は少し注意が必要ですね。

料金面

Kinstaの場合、基本的に選択したプランによって月額料金が決まっており、最も安いプランですと月額$30で利用できます(サイト上限は1つ)。本記事で紹介したHRマガジンの場合、移行後の料金はAWSを利用していた移行前の月額料金に比べて月額$30ほど安くなりました。

機能面

上でさまざまな機能を紹介しましたとおり、私達サイト管理者の負担を減らしてくれる機能が盛りだくさんです。また、必要な機能はすべて管理画面に集約されており画面の使いやすさを感じます。

また、2021年初頭に、「DevKinsta」という名前でローカル用のWordPress開発者ツールがリリースされており、ローカル上にKinsta環境を再現することができるようになっています。本番環境のサイトをローカルにインポートしたり、逆にローカルで構築したサイトを本番にアップロードしたりなどができるようになっており、使い方を工夫すればデプロイ周りの手順がかなり簡素化されるのではないかと考えています。

サポート体制

Kinstaの管理画面からすぐにチャットサポートにつなぐことができ、毎回2,3分程度(遅くとも10分以内には)で回答が返ってくるので、とても気軽に質問することができました。英語でやり取りしなければいけないのは少し辛かったですが、回答内容は丁寧で平易な英語で書かれているなと感じました。

移行が簡単すぎた

WordPressのアプリケーションやインフラ面にあまり詳しくなくても、Kinstaの専任エンジニアがすべての移行作業を実施してくれるので、通常のシンプルなWordPressサイトであれば専門知識がなくても簡単にKinstaを利用し始めることができそうです。少し複雑なサイト(独自でコーディングしてカスタマイズしているサイトなど)の場合は、要求を正しく伝えないといけないという点で専門知識があったほうがよさそうですね。

総合的に見てもWordPress運用において、Kinstaという選択肢はWordPress管理者にとって魅力的なのではないかと思います。 WordPressサイトをすでに持っている方で、Kinstaを使ったことがない方は一度試してみる価値はあるのではないでしょうか?