最近、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使用率が必要な処理を走らせた場合、サイトがとても重くなったり、不具合が生じたりします。
メモリ性能
メモリは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においても拡張する方法はいくつもあります。
それぞれの状況や環境にあった拡張方法を試してみてください!
では、誰かの参考になれば幸いです。