AWS Lightsail + WordPress の拡張方法について考察してみる

最近、AWSを使ったインフラ構築に夢中なvanbiです。
私は現在、AWS Lightsail 3.5USDの最小インスタンスを使ってWordPressサイトを運営していますが、ふと、サイトアクセス数が伸び、AWS Lightsailを拡張しなければならなくなった時、どのような構成が望ましいか?(ベストプラクティスか?)を考えてみようと思いました。

AWS Lightsail 最小インスタンスから拡張する場合のプランを掲示してみます。

AWS Lightsail の前提条件

AWS Lightsail 最小インスタンスは以下の性能があります。

  • 月額 3.50 USD
  • メモリ512MB
  • 1vCPU(CPUバースト機能あり)
  • 20GBのSSD
  • 1TBの転送容量

CPU性能

まず、最初にボトルネックになると想定されるのが、1vCPUのバースト機能かと思います。AWS Lightsail  3.5USDプランでは、常時5%までCPUを利用する事が出来ますが、5%を超えた場合、バーストクレジットを消費しながらCPU性能を維持できますが、100%使用率では3分間しかバーストできません。もし、バーストクレジットが0(ゼロ)の状態で5%以上のCPU使用率が必要な処理を走らせた場合、サイトがとても重くなったり、不具合が生じたりします。

↓私のサイトでも、まれにCPUバーストしてます

メモリ性能

メモリは512MBを利用できますが、正直、WordPress運用にはちょっと少ないと思います。
AWS LightsailのWordPressは「Bitnami」という必要なソフトウェアが入ったパッケージを使っています。この作者である「Bitnami」スタッフ曰く「WordPressスタックを動かすには、少なくとも700MB以上のメモリが必要」と言い切っています。変な話、Lightsail  3.5USDプランでは、WordPressを動かせるだけのメモリがないとも言えます。

↓「Bitnami」スタッフの原文

とはいえ、Lightsail  3.5USDプランでもWordPressは動作しますが、ある程度のアクセス数があるサイトはWEBサーバーであるApacheがメモリを消費し、動作に不具合が発生する可能性が高そうです。

AWS Lightsail拡張 オススメプラン① 3.5USD→5USDプラン

まず、最初に実行すべき拡張は「3.5USD→5USD」のプラン変更です。
理由としては、上記にあるとおりメモリ512MBではWordPressサイトのパフォーマンスに問題が発生する可能性があるからです。

サイトのアクセス数、コンテンツの内容(テキストベースなのか、動画・写真ベースなのか)、WordPressにインストールしているプラグイン数などが異なるため、メモリ512MBで足りるのか足りないかは、人それぞれだと思います。しかし「Bitnami」スタッフが512MBでは足りないとはっきり言っているのだから、まずはメモリが1GBに拡張される5USDプランに変更すべきです。

AWS Lightsail拡張 オススメプラン② ディストリビューションの利用(2.5USD~)

2つ目のプランとしては、AWS Lightsailの「ディストリビューション」という機能を使うというものです。いわゆるCloudFrontとか、CDN(コンテンツ配信ネットワーク)と呼ばれる機能です。

世界24 国の 84 の都市にあるエッジロケーションにコンテンツをキャッシュしておき、ユーザーに最も近いサーバーからコンテンツを高速に配信します。

AWS Lightsail + ディストリビューションでWordPressサイトを構成した場合には、以下の利点があるかと思います。

  • サイトの速度向上、それに伴うSEO向上
  • インスタンスのCPU利用率低下
  • サイトをSSL化(HTTPS化)できる

AWS Lightsailを使う方で、全世界に向けたサイトを運営されている方は少ないと思いますが、サイトの速度が向上するという事は、SEOの観点からはとても良い事です。特に、AWSのキャッシュサーバーはとても強力で、画像や動画などを多用しているサイトには、効果的かと思います。

また、コンテンツの配信をディストリビューションにまかせる事で、多少なりともインスタンス自体のCPU使用率を低下させる効果があるかと思います。HTTPリクエストをインスタンスがすべて受け付けるのと、HTTPリクエストの中から記事内容などデータベースに関する部分だけ受け付けるのを比べると、おそらく、後者(ディストリビューションを使った)の方がCPU使用率は低いと想定されます。

さらに、ディストリビューションにはSSL証明書をアタッチ(利用)する事もでき、サイトをSSL化(HTTPS化)する事も出来ます。なお、Amazonさん太っ腹で最初の1年間(月50GB転送)は無料で利用できます!

AWS Lightsail拡張 オススメプラン③ EC2への移行

3つ目のプランとしては、AWS Lightsailが関係なくなってきてしまいますが(笑)EC2へ移行するというものです。

AWS Lightsailは、個人的意見ですが10USDプランぐらいまではコストメリットがあると思っています。しかし、10USDを超えてくる場合、EC2で必要なサービスを組み合わせて使う方が、コスト的に安く、またパフォーマンスの良いサイトが構成できるかと思います。
例えば・・・

  • ELBを使って、複数インスタンスに分散させる
  • Unlimited モードのあるインスタンスで、コストを抑えながらCPU性能を確保する

などなど・・・。EC2の機能をオンデマンド(利用した分だけ請求)で利用した方が、コストを抑える事ができるものと思います。AWS Lightsailはすべてコミコミの価格で、ある一定までは安く、規模が大きくなるほどコストパフォーマンスが落ちてきます。EC2であれば、必要な機能を必要なだけ確保でき、コストパフォーマンスに優れています。

まとめ

オススメプランと言いつつ、EC2への移行を含んだ内容になりましたが、いかがでしたでしょうか?AWSはとても拡張性に優れており、AWS Lightsailにおいても拡張する方法はいくつもあります。

それぞれの状況や環境にあった拡張方法を試してみてください!
では、誰かの参考になれば幸いです。

コメントを残す

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