WordPress基本構成パターン8-ロードバランサ+オートスケーリングインスタンス

こんにちは。hacknoteのr.katoです。

この記事はAWS初心者向けAWS環境のWordPress基本パターン8つ作ってみたのパターン8を紹介する記事です。

ロードバランサ+オートスケーリングインスタンスとは

オートスケーリングのCloudWatchのメトリックスや時間をトリガーに、
指定された最小値から最大値の間でインスタンスの数を自動で増減させることができる機能を使い
流動的に負荷分散をすることが可能な構成です。

設定次第では必要に応じてインスタンス数を調整できるため料金を抑えることが可能です。
ちなみに、オートスケーリングは無料です。

構成方法

こちらの記事に作り方から負荷テストまで書いてあるので参照してください。
ここでは料金の話をします。

料金の話

日本からのアクセスのみで1ヶ月、10万PVで1リクエスト5MB、サーバー通信で5MB使うと想定します。
t3.xlargeをオートスケーリングで2台使用した場合とt3.2xlargeを1台で使用した場合を単純比較します。(今回は比較内容が複雑になってしまうため、RDS、S3の値段、管理画面アクセス用インスタンスは比較料金に含めません)

オンデマンドEC2の料金は以下の通りです。

インスタンスvCPUECUメモリ (GiB)インスタンスストレージ (GB)Linux の料金
t3.nano2変数0.5 GiBEBS のみ0.0068USD/時間
t3.micro2変数1 GiBEBS のみ0.0136USD/時間
t3.small2変数2 GiBEBS のみ0.0272USD/時間
t3.medium2変数4 GiBEBS のみ0.0544USD/時間
t3.large2変数8 GiBEBS のみ0.1088USD/時間
t3.xlarge4変数16 GiBEBS のみ0.2176USD/時間
t3.2xlarge8変数32 GiBEBS のみ0.4352USD/時間

ロードバランサ料金
0.0243/時間 * 24時間 * 31日 + 0.008/GB * 1TB=26.0792USD
EC2料金
t3.xlarge 1~2台:  0.2176USD/時間 * 24時間 * 31日 = 161.8944USD ~ 323.7888USD

t3.2xlarge: 0.4352USD/時間 * 24時間 * 31日 = 323.7888USD
差額
323.7888USD - ( 161.8944USD ~ 323.7888USD + 26.0792USD ) = -26.0792USD ~ 135.8152USD

仮に一ヶ月間オートスケーリング構成の方がインスタンス1台しか稼働しなかった場合135.8152USDオートスケーリング構成の方が安くなります。
もし(ほぼあり得ませんが)、2台とも一ヶ月間フル稼働した場合26.0792USDオートスケーリング構成の方が高くなります。

しかし、AZを分けたことで災害時、片方アクセスできなくなったとしてもサイトへのアクセスが可能ということを考えれば充分26.0792USDを払う価値があるのではないでしょうか?

さいごに

ここまで負荷分散した環境について紹介して来ました。
アクセス数の増減が過剰にあるサイト(大学の合格発表サイト、イベントの特設サイトなど)の運営などでCMSを使う機会があれば非常に有用なのではないでしょうか。