14
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

WordpressをAutoScalingするためのシステム構築と参考するといいリンク集

Posted at

Wordpressを冗長構成にする前に基本となる構成

  • EC2+EBS - Wordpess本体が入る。更新データとしてはプラグイン、テーマ、アップロードされた画像ファイルなどがEBSへローカルデータとして保存されている。

  • RDS - MySQLが走っている。RDSにかんしては今回はMultiAZ使えば大丈夫でしょうという前提ですすめます。

Wordpressをスケーラブルにする時(EC2をいっぱいたてた時)に注意する点

  • WEBサーバのデータの共有 - Wordpressの場合Wordpress本体のphpリソース、更新にてアップロードされた画像ファイルの同期を考慮する。

  • セッション情報の保持 - 今回に関してはとりあえず管理画面内のページを考慮すれば大丈夫かと。。

  • ログ等のデータの保存 - AutoScalingで立ち上がったインスタンスのアクセスログなどはEBS上に保存されているが、出来ればEBSも一緒に破棄してしまいたいのでログはS3にどのインスタンスか分かる形で残しておきたい

スケーラブルにするアーキテクチャ候補

  • rcyncを使ったインスタンス間でのストレージ領域の同期

    • メリット
      基本的には通常のWordpress環境なので、Wordpressまわりの不具合の心配がない。

    • デメリット
      マスターとスレーブのサーバ構成になるため。ストレージ領域に影響する管理画面での操作はマスターにアクセスされるようコントロールの必要あり。
      rcyncはcronでの定期実行になるため、多少のタイムラグが起こる。
      AutoScalingでのインスタンスを追加・削除のタイミングでの処理を面倒見なければ ならない。

    特に一つ目がややこしい。ELBはアクセスパスによるインスタンスの振り分けには対応していないため、AWSによらない方法で実現する必要がある。ちなみにCloudFront をいれることで可能になる。

  • s3cmd,apacheのmod_ext_filterを使った静的コンテンツのみS3から配信する

    • メリット
      S3のマネージドなメリットを享受できる。EC2に関してはマスターのAMIから増やすだけ。AutoScalingにかんする手間が少ない。

    • デメリット
      S3から配信するものを切り分けするルールが重要。
      ファイルを更新した場合毎回s3cmdを実行する必要がある。自動化するのであれば cronの設定をするなど別の仕組みが必要。

    固定化されたソースが多いサイトであれば効果は期待できそうだが、そうでなければ結局一つ目と変わらないこといなりそう。。

  • CloudFrontのBhaviorで振り分けルールを設定しキャッシュサーバ配信を行う。

    • メリット
      他の選択肢のようなファイルの同期問題がそもそもない。
      スケーリングもマネージドサービスにおまかせできる。
      基本EC2一台で大量のアクセスに耐えることが出来る。
      やすい。

    • デメリット
      セッションを利用するページが多い場合、コントロールが煩雑になる。
      アクセスに対し、コンテンツをサーバーサイドで動的に変更するようなページには使
      えない。
      つまり会員制サイトなどの場合(ECサイトとか)は部分的にしか活用はできない。

    今のところこの構成が一番本命。なんといってもキャッシュコントロールの設定さ え決まれば運用での負担はほぼない。

  • (番外編)EFSを使った共有ストレージ構成 ※今はまだプレビュー

    • メリット
      同期の問題にあったストレージ領域がマネージドサービス型の共有ストレージ領域に
      展開されるため、同期の問題が解決する。

    • デメリット
      まだあんまり把握できていないのですが、、わりと料金がかかる?感じ。

参考にした本とリンク

実際にrcyncとCloudFrontを使った環境を構築したのでまたアップします。

14
15
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?