ソーシャルゲーム負荷対策のため、WordPressを静的化しサーバーレス化

アクセスが多くサーバーダウンが発生してしまうWordPressを、落ちないWordPressとすべく、静的化構成とした成功事例をご紹介します。

導入前の課題

国内の物理サーバーを利用していたソーシャルゲームのベンダー様の事例です。ゲーム内でお知らせをユーザーへ伝える必要があり、CMSとしてWordPressを利用していました。ソーシャルゲームの利用者数が順調に増加したことで、サーバーの応答が遅くなってきていました。そして、イベント情報を発表するタイミングで、アクセスできなくなることが多発するようになり、安定したサーバー環境への移行が課題でした。

ご提案内容

今回はゲームのイベント時の同時アクセスにも耐えられる構成を構築する必要がありました。

既にサーバーダウンも発生している状況のため、今からWordPressを他のCMSにする時間もありません。いくつか構成として取りうる選択肢がありましたが、安価にWordPressの利便性を落とさず対応可能な方法としてWordPressの静的化構成を選択しました。

構成詳細

EC2へ管理用WordPressを構築
コンテンツ管理用のWordPressをEC2で構築します。このWordPressへアクセスするのは、サイト管理者のみです。WordPressサイトを静的ページに変換するプラグインを導入し、サイトをhtmlファイルとして出力しています。その後、Amazon S3へ転送します。

S3ホスティング
S3はAWSの提供する99.999999999%の耐久性を持つ非常に堅牢なストレージです。プログラムを実行することはできませんが、HTMLファイルやjavascript、画像などの静的なファイルを置き、Webサーバーとして利用できます。どんなに大量のアクセスが来てもほぼ落ちないとないのがウリです。

EC2で作成したサイトのHTMLファイルなどを置くことでWebに公開できます。ただし、S3上のファイルはhttpsではアクセスできず、httpでの接続になります。

CloudFrontでSSL対応
Amazon CloudFrontはコンテンツを高速配信するためのCDN(Content Delivery Network)サービスです。世界のどこからアクセスしても、最寄りのサーバーが応答することで高速なアクセスが可能です。今回は高速配信の恩恵もありますが、主にSSL対応をすることを目的に採用しています。

導入の効果

静的化したWordPressのサーバーレス構成では次のようなメリットがあります。

サーバーダウンがなくなった
WordPressを静的化し、サーバーレス構成とすることでサーバーダウンがなくなりました。もちろん、Webサイトの応答も高速になり安定稼働しています。ソーシャルゲームユーザーにストレスなくご利用いただくことで継続率も高まるものと考えています。

セキュリティの向上
ユーザーがインターネットからアクセス可能なシステムはCloudFrontとS3のみです。いずれもOS領域にアクセスすることができないマネージドサービスのため、セキュリティ面でとても強固になりました。唯一、WordPressの管理目的で利用しているEC2インスタンスもIP制限を行うことで外部からの攻撃を受けることはありません。

WordPressの脆弱性対策
上記と関連しますが、WordPressを広くインターネット上へ公開しない構成のため日々発生するWordPressのセキュリティ対応に追われることがありません。じっくりアップデートの検証を行った後に、本番環境へ反映を行う運用が可能となります。

おわりに

今回はソーシャルゲームの最新情報を伝えるためのWordPressを静的化し、サーバーレス構成に変更した事例をお伝えしました。WordPressは様々なプラグインが提供されているため、静的化して良いケースとしてはいけないケースが存在します。場合によっては、サーバースペックを上げるだけで済むケースやWebサーバーを負荷状況に合わせて増やす構成なども考えられます。

ユーザーへ提供したい要件を正しく把握した上で、適切なクラウド構成とすることでスピーディーにコストを抑えて実現することができた事例です。

AWSやAzureへの移行作業を無料で

クロジカガイドブック

無料ではじめるAWS/Azure管理
クロジカガイドブック

「クロジカAWS/Azure管理」の詳しい内容がわかる資料をご用意しました。
  • クラウド構築・運用の課題を解決
  • クロジカAWS/Azure管理の主な機能
  • 導入事例
  • 導入までの流れ

移行作業費すべて無料でお使いいただけます。

移行作業費すべて無料、サーバー状況を無料診断。