昨年11月に当社サイトとこのブログをまとめてから、Amazon Web Services(AWS)で運用するようになりました。
ぶっちゃけ、WordPressで月1万〜5万PVくらいのサイトを運用するのなら、レンタルサーバで充分だと思うんですけどね。安いし。サーバのセキュリティフィックスとかの対応もきちんとやってもらえるし。さくらのレンタルサーバならSSHでちょっとした操作もできる。
でも、AWSで運用してみるとどれくらいコストがかかるのだろうとか、どういう使い方が出来るのかとか、実践知が欲しかったものですから。
EC2でAMIMOTOを使う
AWSでWordPressを運用するなら、やはりAMIMOTOを使うのが今っぽいのかなと思い、当サイトでも使っています。
AMIMOTOを使えば、EC2環境で即座にWordPressが動き出すのはもちろん、Nginxのリバースプロキシキャッシュを使うことで、高速なサイト表示が実現します。
キャッシュを表示しているうちは、ほとんどサーバリソースを使わないので、EC2で最も安価なt2.microでも、充分なパフォーマンスを発揮してくれます。(ちなみに当サイトは月間1万PVくらい。)
リザーブドインスタンスを使用
t2.microで充分なことが分かったので、一定の料金を前払いすることで毎月の従量課金が安くなるリザーブドインスタンスを使っています。
リザーブドインスタンスの購入が年額$85。あとは、毎月$10くらいの支払なので、年間で$200くらい。月額に割り直すと2,000円くらいになりますから、レンタルサーバやVPSと比べると高いなぁとは思います。(東京リージョンを使用)
その辺は、まずroot権限の有無で、レンタルサーバ<VPSだし、スケールの自由度でVPS<クラウド(EC2)ですから仕方ありません。
ただ、月間1万〜5万PVくらいのWordPressサイトを運営するのだったら、スケールの自由度を求める必要はないし、root権限があってもセキュリティフィックス対応とかが面倒になるだけ。ふつうに考えれば、EC2までは不要ですけどね。
S3でメディアファイルを配信する
EC2が自由なサーバなら、S3はファイルストレージ兼スタティックなWebサーバ。
WordPressにアップロードしたメディアファイル(記事に貼り付けた画像や動画等)をS3にアップロードして、そこから配信するようにすれば、WordPressを置いているメインサーバ(ここではEC2ですが、レンタルサーバ等でも)の負荷軽減につながります。
また、S3にアップロードしたファイルは、世界中の複数の拠点に、各拠点では複数のストレージに自動的にコピーされ、障害耐久性は99.99999999999%というとんでもない数値をたたき出してます。「自分の操作ミスでファイルを消しちゃった」という以外では、まずファイルが消えることを心配する必要はありません。
AMIMOTOにも初期導入(有効化は必要)されている、Nephila clavataというプラグインを使用すれば、WordPressにアップロードしたメディアファイルは自動的にS3にアップされ、記事上のメディアファイルへのURLもS3のものに書き替えられます。
また、アップロード済みのメディアファイルも、次にその記事が表示された際に自動的にS3にアップロードされるので、安心です。
S3のコストはEC2と比べると圧倒的に安いので、レンタルサーバ等で運用しているWordPressサイトでも、S3だけは使うという選択肢はあると思います。
データベースとファイルのバックアップをS3かGlacierに置く
本気でサイト運営しているのなら絶対に必要なのは、データベースとファイルのバックアップです。
バックアップ用プラグインのオススメは、BackWPup Free。
データベースとファイルのバックアップを定期的に取ってくれます。
ただ、そのバックアップしたファイルをどこに置くのかが重要で、自サーバ内だとあまり意味がないような気がするし、Gmailに送っちゃうとかが簡単で安全性も高そうですね。
BackWPupなら、自サーバ内はもちろん、メール送信も可能ですが、S3に送ることも出来るのです。
上記のようにS3に送ったファイルが消える可能性というのは極めて低いですから、安心できます。
Nephila clavaterでメディアファイルをS3に送っている場合でも、誤って削除してしまったケースには対応できませんから、併せてBackWPupでバックアップしておくのが良いでしょう。
バックアップをGlacierに格納する
また、有償版のBackWPup Proを使えば、バックアップをGlacierに送ることも出来るようになります。
Glacierは、S3のバリエーションのようなサービスなのですが、一度保存したデータを取り出すのに数時間かかる分だけ、コストがかなり安いというのが特徴。「次世代のテープバックアップ」のような位置づけのサービスです。
まとめ
WordPressの運用にAWSを活用する3つの方法を紹介しました。
繰り返しになりますが、大量のPVがある(それが定期的でも一時的でも)というわけでなければEC2まで使う必要はないと思います。
ただ、WordPress自体はレンタルサーバで運用している場合でも、メディアファイルの配信だけとか、バックアップ先といった目的でAWSを使うのは意味があります。
プラグインを使えば、導入負担は軽いので、一度検討されることをオススメします。