フェチ杜ブログ

アダルトサイト管理人が日々のサイト運用のあれこれや気になる事などを備忘録的に綴っていきます

AWSでスケーリング可能なワードプレスサーバを構築しアダルトサイトを運用する

AWS Lightsail サーバ構成図
アダルトサイトを立ち上げる場合、普通はアダルトOK簡単・自動でWordpressサイトを構築できるレンタルサーバ等を利用するのが定石ではありますが、やっぱり本業がシステムエンジニアであり更に天邪鬼でもあるわたくしフェチ杜夫は

「レンタルサーバを利用するのは簡単だけど味気ないし、どうせなら自分で構築してついでに高負荷にも耐えられるようにしたいよねー。」

って事で、インフラにAmazon Web Service(AWS)を利用してWordpressサイトを構築する事にしました。

といっても現時点で既にスケーリング可能なWordpressでアダルトサイトを運営しているので、どの様な構成なのかを記事にまとめました。

本記事の対象者

アダルトアフィリエイトを始めたいと思っている方や、既にアダルトアフィリエイトを始めていて最近サーバが重くてなんとかならないかなと思っている方で、エンジニアなどAWS・Linuxの知見がある方
※本記事は主にエンジニア向けの内容となる為、専門用語の解説はございません

利用するAWSのサービス選定について

AWSを利用すると言っても、AWSにはめちゃくちゃ沢山サービスがあるので構成はほんと千差万別です。(と言うかほぼ無限にあります)

最低限の構成であれば、EC2インスタンスを1台立ち上げてそこにWordpressを入れるだけで完成しちゃいますが、それだとサイト規模が大きくなった時に耐えきれないのは火を見るよりも明らか。。
なので構成を決めるにあたって以下の2つの要件を定めました。

  • 水平及び垂直スケーリングが可能な構成である事
  • 出来るだけコストパフォーマンスを追求する事

水平及び垂直スケーリングが可能な構成である事

まず1点目の「水平及び垂直スケーリングが可能な構成である事」について

私自身アダルトアフィリエイトサイトの運用は初めてなので経験値はありませんが、色々なアダルトアフィリエイト指南サイトを見ていると、月数十万〜数百万PVはすぐに行く世界(ほんとかよ)だそうなので、スケーリング可能な構成は必須だと考えます。

ただ、これに関してAWSの場合はLB配下にEC2インスタンスをWEBサーバとして置くと言う王道構成で、垂直にも水平にもスケーリング可能なので、素直にその構成で行けば問題は無いと思います。

ここで気にしないといけないのが、Wordpressのデフォルト設定では記事等に使用する画像や動画のメディアファイルをデータベースに格納するのではなく自分自身のディスク領域に保存する様になっている点。

このままだと水平スケーリングでWebサーバを増やした場合に、片方のサーバで保存したメディアファイルがもう片方のサーバから参照できなくなっちゃう現象が発生します。

その為、メディアファイルは複数のサーバから同じファイルを参照する必要が出てきます。

解決策として、各WEBサーバが共通で参照できる場所にメディアファイルを保存し、それを参照すれば良いのでオブジェクトストレージの王道S3を利用する事にしました
ちなみに専用のWordpressプラグインもあるので導入は容易です。

WP Offload Mediaプラグイン
ja.wordpress.org

あと必要なのがデータベースサーバですが、これも王道のRDSを利用する事にします。(天邪鬼と言いながら全てが王道とはこれいかに、、)

出来るだけコストパフォーマンスを追求する事

ある程度ベースとなる構成が決まったのですが、ここで問題となるのが2点目の要件である「出来るだけコストパフォーマンスを追求する事」

前述の王道構成で月額料金を計算してみるとたぶん70$は超えちゃう。。(きちんと計算してないので経験からの肌感ですが笑)

スケーリング可能な構成とは言え、立ち上げ初期のWEBサーバをスケーリングする必要が無い状態で月額70$オーバーはさすがにコスパ悪過ぎなんで、なんとかコストを抑えられないかと色々思案した結果、AWSのVPSサービスであるLightsailを併用する事にしました。
まあ併用と言うかほぼ全てをLightsailのサービスで賄う事にしました笑

これによって、半額の35$程度まで抑える事が可能となり、2つ目の要件もクリアした事にしようしました!!

まあ$35でも普通のレンタルサーバに比べれば高いですが、スペックとスケーラビリティを考えるとコストパフォーマンスと言う意味では良い感じでは無いかと思います。

また、AWSは新規登録すると1年間の無料枠が貰える上に1年間有効な300$のクレジットが貰えます。
Lightsailに関しては無料枠の範囲外ですが(別途3ヶ月無料とかはある)クレジットが使えるので、無料3ヶ月と$300クレジットの合わせ技で月額$35であれば1年間はタダで利用できます。

なので、その1年で月額費用はペイできるくらいアダルトアフィで儲けているだろうと言う甘い目算で臨む事にします笑

サーバ構成図と説明

それでは具体的にどのサービスを使ったのかをサーバ構成図を用いて説明します。

サーバ構成図

実際の構成が以下となります。(実際にはWebサーバは現状1台です)
見事にLB+WEB+DB+オブジェクトストレージと言う王道構成になっちゃいましたね笑
サーバ構成 AWS Lightsail

サーバ構成の説明

構成図の通り、シンプルイズベストと言う事で王道構成になっています。
LBとWEBとDBはLightsailで構築して、オブジェクトストレージとDNSはAWSのS3とRoute53を使用しました。

LightsailにもオブジェクトストレージとDNSサーバがあるのですが、システムの根幹に関わってくる部分で気軽に移行も行えない為、最初からS3とRoute53を利用しています。

SSL証明書に関しては、Lightsail側で最大9つのサブドメインまで利用可能な証明書が無料で発行できるのでそれを発行しLBに組み込んでいます。

CDNについても導入するか迷ったのですが、現時点ではこれ以上コストをかける必要は無いとの判断で導入を見送りました。
サイトの規模が大きくなってくればゆくゆくはメディアファイルへのアクセスを全てCDNに流すって形で導入する事になると思います。

ただ、CDNに限らずLightsailの各種サービスはAWSサービスの簡易版的な感じなので、どこまで出来るのかなど別途要検証ですね。

ひとまず現在の構成でWordpressのマルチドメインプラグインを使って複数サイトを2ヶ月弱運営していますが、PVが全然稼げないって事以外に困った事は無いです笑

AWS公式による負荷分散環境構築のチュートリアル

とまあここまで長々と説明してきましたが、実はここで紹介した負荷分散環境とほぼ同じ環境を構築する為のチュートリアルがAWS公式にあります笑

気になる方は以下に目を通してみてください。

aws.amazon.com

Copyright © 2021-2022 フェチ杜ブログ All Rights Reserved.